Opencv用cvFindContours方法获取轮廓后,如何获取轮廓内部的像素点坐标等信息,求救!!

qq_35257619 2017-09-06 04:49:26
Opencv用cvFindContours方法获取获取的轮廓,如何获取这些轮廓内部的像素点坐标等信息,求救!!
...全文
8883 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
LeSolielxxx 2019-08-31
  • 打赏
  • 举报
回复
https://blog.csdn.net/hw140701/article/details/54381252 感觉还行,有了大致坐标后就可以进行修改了。
LeSolielxxx 2019-08-31
  • 打赏
  • 举报
回复
https://blog.csdn.net/loovelj/article/details/78739790
小白逆袭 2019-06-12
  • 打赏
  • 举报
回复 1
两年过去了 ,有啥好方法吗0.0
小白_小白 2017-09-23
  • 打赏
  • 举报
回复
引用 9 楼 SICK____ 的回复:
我这段时间也在进行轮廓提取相关的工作,轮廓线条的点坐标在contours里面的contour的point,我用的是java语言调用opencv的,所以对应的是: for(int i=0;i<contours.size();i++){ System.out.println(contours.get(i).size()+" rows: "+contours.get(i).rows()+" cols: "+contours.get(i).cols()); //查看每个轮廓的信息 //Imgproc.RETR_LIST:从最内层到最外层遍历 //Imgproc.RETR_TREE:从最外层到最内层遍历 //Imgproc.RETR_CCOMP:从最内层,然后是最外层,然后说中间层 //Imgproc.RETR_EXTERNAL:只显示最外层轮廓 //Imgproc.CHAIN_APPROX_SIMPLE:最外层轮廓数据只得到顶点的坐标 for(int j=0;j<contours.get(i).total();j++){ System.out.println("轮廓 "+(i+1)+"的坐标信息:"+contours.get(i).toList().get(j)); } System.out.println("------------------------------"); }
不好意思,审题不详。应该是楼上的连通域算法
小白_小白 2017-09-23
  • 打赏
  • 举报
回复
我这段时间也在进行轮廓提取相关的工作,轮廓线条的点坐标在contours里面的contour的point,我用的是java语言调用opencv的,所以对应的是: for(int i=0;i<contours.size();i++){ System.out.println(contours.get(i).size()+" rows: "+contours.get(i).rows()+" cols: "+contours.get(i).cols()); //查看每个轮廓的信息 //Imgproc.RETR_LIST:从最内层到最外层遍历 //Imgproc.RETR_TREE:从最外层到最内层遍历 //Imgproc.RETR_CCOMP:从最内层,然后是最外层,然后说中间层 //Imgproc.RETR_EXTERNAL:只显示最外层轮廓 //Imgproc.CHAIN_APPROX_SIMPLE:最外层轮廓数据只得到顶点的坐标 for(int j=0;j<contours.get(i).total();j++){ System.out.println("轮廓 "+(i+1)+"的坐标信息:"+contours.get(i).toList().get(j)); } System.out.println("------------------------------"); }
NoEdUl 2017-09-08
  • 打赏
  • 举报
回复
如果你要获取轮廓内部的点 那你算法用错了,contour是找边缘。 你要用的是blob,连通域。 基于contour做一个区域蔓延法就行。
NoEdUl 2017-09-08
  • 打赏
  • 举报
回复
这不就是判断一个点是不是在一个框内吗... Rakuten面试第一题
qq_35257619 2017-09-08
  • 打赏
  • 举报
回复
就是包含在轮廓里面的点
qq_35257619 2017-09-08
  • 打赏
  • 举报
回复
是轮廓内部的点喔
沐阳2100 2017-09-07
  • 打赏
  • 举报
回复
同意楼上,找到轮廓后,可以遍历轮廓的
robertbo 2017-09-07
  • 打赏
  • 举报
回复 1
vector<vector<Point> > vv_contours; findContours(img_bin, vv_contours, CV_RETR_EXTERNAL, CV_CHAIN_APPROX_NONE); r_edge.width = 0; r_edge.height = 0; int aera_size = 0; for (unsigned int i = 0; i < vv_contours.size(); i++) { boundingRect(vv_contours[i]); } vv_contours里面就是轮廓点的坐标信息
qq_35257619 2017-09-06
  • 打赏
  • 举报
回复
但是我的轮廓不止1个,而且还要分类,那些像素点是属于哪个轮廓的
ssbqrm 2017-09-06
  • 打赏
  • 举报
回复
在全黑的图片上以填充色(白色)的方式绘制轮廓,,这样就可以图片上白色区域就是轮廓内的像素

4,445

社区成员

发帖
与我相关
我的任务
社区描述
图形图像/机器视觉
社区管理员
  • 机器视觉
  • 迪菲赫尔曼
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧