钢管识别项目2
erode(thresh,thresh,Mat());
erode(thresh,thresh,Mat());
contours.clear();
selectContours.clear();
findContours(thresh.clone(),contours,CV_RETR_EXTERNAL,CV_CHAIN_APPROX_SIMPLE);
for ( int i = 0;i <contours.size();i ++)
{
if ( contourArea(contours[i]) > 188 && contourArea(contours[i]) < 388 )
{
//drawContours(srcClone,contours,i,Scalar(0,0,255));
selectContours.push_back(contours[i]); //将经过筛选的轮廓保存起来
}
}
for ( int i = 0;i <selectContours.size();i ++)
{
Point2f center;
float radius;
minEnclosingCircle(selectContours[i],center,radius);
if (radius > 10 * 0. 8 && radius < 10 * 1. 4)
{
if (ellipseLikeCircle(minEllipse[i]))
{
circle(src,center,radius,Scalar( 0, 0, 255));
//ellipse( src,minEllipse[i],Scalar(255,0,0));
pair <Point2f, float > tmp;
tmp.first = center;
tmp.second = radius;
resultPair.push_back(tmp);
}
}
}
//打印结果
fstream ftxt;
ftxt.open( "c:/GO_FindTube_Param.ini",ios : :out); //写入的方式,覆盖写入
if(ftxt.fail())
{
cout << "can not open it" <<endl;
getchar();
return 0;
}
for ( int i = 0;i <resultPair.size();i ++)
{
pair <Point2f, float > tmp = resultPair[i];
ftxt <<tmp.first.x << " " <<tmp.first.y << " " <<tmp.second <<endl;
}
ftxt.close();

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
选择轮廓(select_shape)
选择轮廓(select_shape) Halcon是一款运用广泛的图像识别和处理软件。在肤浅的接触中,它的轮廓选择算子(select_shape)给予我很深的印象。结果是往往几行代码就能够产生很好的效果: 比如要得到这样的结果 只需要 read_image (Image1, 'F:/未来项目/钢管识别/FindTube/FindTube/1.jpg') rgb1_to_gray (Image1, GrayImage) threshold (GrayImage, Regions, 43, 111) connection (Regions, ConnectedRegions) select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 150, 666) select_shape (SelectedRegions, SelectedRegions1, 'circularity', 'and', 0. 45, 1) 当然Halcon是在背后做了许多工作的。 几行代码中,比较重要的是算子就是"se...
- 下一篇
钢管识别项目1
钢管识别项目1 零、相关说明: 首先进行一下相关说明。在“jsxyhelu.cnblogs.com/项目实战派”栏目里面出现的需求、图片和其他资源,都是我在浏览威客网站、论坛等网站的时候通过正规渠道获得的真实需求。个人觉得比较感兴趣,但是由于时间或者工作的冲突自己没有去接这些项目。但是由于这些需求都很有实现价值,所以过了一段时间,仍然拿出来练一练手,并且实现了核心模块。希望能够给浏览者一些启发。如果你认为这些图片和资源放在这里不合适,请及时联系我(1755311380@qq.com),我会及时处理的。此外,我会将核心代码和技术细节尽可能将清楚,我认为这样才是最有价值的方式。如果需要原始代码,也可以和我联系。 一、原始需求/图片: 二、初步分析: 钢管的特点是由于其是有深度的,这就造成了管子的内部形成一个阴影。寻找并识别这个阴影,是解决问题的主要方法。 同时需要注意到的一点是管子它本身的排列是有符合物理特性的,就是大体上要符合下图的这种情况,这是个先验知识。 干扰在于这个阴影不仅是管子内部才有的,管子和管子之间也会形成阴影; 此外,这些实际的图片中都存在管子被堵死的情况,这也是需要...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS7设置SWAP分区,小内存服务器的救世主
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库