总结写在开头:

1、边缘检测不但是只有canny,还有其他的(当然最后发现还是canny比较优秀)

2、滤波有很多种,不但是blur均值滤波

以上以后具体案例都要尝试一下,寻找最佳算法函数

3、奇葩的事,我最后放弃边缘检测,直接使用的houghcirles,检测出来的效果更好,这算是个经验吧,以后可以尝试这种办法,不一定是固守原来的规则。

4、houghcircles的累加器参数也挺重要的,数值越大判断越粗糙,

5、放弃了相机标定remap。

6、一开始检测出来的圆没有完全拟合边界,想通过检测椭圆来试试。但是转念一想,我的相机和拍摄的物品是水平的,“”“椭圆率”几乎为零,它拍出来的肯定是个比较理想的圆。

7、最重要的一点是,我更换了打光方式,选择了背光!

最后M6的螺栓头,标准尺寸是10mm,检测结果为10.0002。

#include "opencv2/core/core.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/calib3d/calib3d.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/opencv.hpp"
#include <iostream>using namespace cv;
using namespace std;//修复图像畸变void main()
{Mat src_image,dst_image;src_image = imread("1.jpg", 0);src_image = src_image(Rect(720, 470, 200, 200));//为标准1元硬币图像半径值与实际半径值的比值double trueDistance;//均值滤波blur(src_image, src_image, Size(3, 3));//开运算  Mat ele = getStructuringElement(MORPH_RECT, Size(8, 8));morphologyEx(src_image, src_image, MORPH_OPEN, ele);namedWindow("开运算", WINDOW_NORMAL);imshow("开运算", src_image);//圆型检测vector<Vec3f>circles;HoughCircles(src_image, circles, CV_HOUGH_GRADIENT, 2, 600, 100, 100, 0,300);printf("圆的个数为%d", circles.size());//画圆形unsigned int a = 0;for (a; a< circles.size(); a++){Point center(cvRound(circles[a][0]), cvRound(circles[a][1]));int radius = cvRound(circles[a][2]);circle(src_image, center, 3, Scalar(0, 255, 0), -1, 8, 0);circle(src_image, center, radius, Scalar(255, 134, 0), 3, 8, 0);printf("\n圆的半径大小为 %d", radius);//比例换算trueDistance = radius * 0.07143*2;//判断是什么规格螺栓switch (cvRound(trueDistance)){case 6:printf("\n螺栓规格为M3");break;case 7:printf("\n螺栓规格为M4");break;case 9:printf("\n螺栓规格为M5");break;case 10:printf("\n螺栓规格为M6");break;case 13:printf("\n螺栓规格为M8");break;case 16:printf("\n螺栓规格为M10");break;}//输出半径大小printf("\n圆的实际半径大小为 %lf", trueDistance);}namedWindow("画圆形", WINDOW_NORMAL);imshow("画圆形", src_image);waitKey(0);
}

下面我会开始学习算法了,即去深入学习houghcircles.cpp文件了,对自己的C++编程能力进行一次提升!

最后的话:两个项目下来,结合机器视觉的数据,我对光源选择、图像预处理、特征检测有了基础的了解与实践。对于机器视觉也有了更深的了解。下面我会开始投递简历,通过面试加深这个行业的需求,以及了解自身有什么不足,继续学习。

对“判断内六角规格项目”一些改进与完善相关推荐

  1. 内六角尺寸规格_常见螺丝和规格

    常见螺丝: a. Slotted: 一字( Minus ) 螺丝种类2 (5张) b. Phillips: 十字( Plus ) c. Phil-Slot: 一字/十字 d. Hex Scoket: ...

  2. 《小团团团队》第五次作业:项目需求分析改进与系统设计

    项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 实验九 团队作业5-团队项目需求改进与系统设计 团队名称 小团团团队 作业学习目标 (1)掌握面向对象需求分析方法:(2) ...

  3. 《代码敲不队》第五次作业:项目需求分析改进与系统设计

    项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 作业链接地址 团队名称 代码敲不队 作业学习目标 (1)掌握面向对象需求分析方法:(2)学习软件系统总体结构和数据库逻辑结 ...

  4. 《AlwaysRun!》第五次作业:项目需求分析改进与系统设计

     项目 内容 这个作业属于哪个课程 2016级软件工程(西北师范大学) 这个作业的要求在哪里 实验九 团队作业5-团队项目需求改进与系统设计 团队名称 Always Run! 作业学习目标 (1)掌握 ...

  5. 《开拓者研发团队》 团队作业5—团队项目需求改进与系统设计

    团队项目需求分析改进: 任务1:应用本周所学面向对象分析方法,修改完善团队项目需求规格说明书,要求如下: a.分析<基于弹幕评论的大数据分析平台需求规格说明书>初稿的不足,特别是文档需求描 ...

  6. 《The one!》团队作业五:团队项目需求改进与系统设计

    项目 内容 作业所属课程 所属课程 作业要求 作业要求 团队名称 < The One !> 作业学习目标 (1)掌握面向对象需求分析方法:(2)学习软件系统总体结构和数据库逻辑结构设计,学 ...

  7. 《毛毛虫团队》第五次作业:团队项目需求改进与系统设计

    一:实验名称:团队项目需求改进与系统设计 二:实验目的与要求 (1)掌握面向对象需求分析方法: (2)学习软件系统总体结构和数据库逻辑结构设计,学会编制软件系统设计说明书,掌握系统总体设计过程.设计原 ...

  8. 区块链惊现山寨万融链 怎样判断一个区块链项目的真假

    区块链惊现山寨万融链 怎样判断一个区块链项目的真假 "区块链实质上是一种集体式记录方式.特别之处在于它别出心裁地采用一组技术,实现了记录结果的真实可信,难以毁坏也无法篡改."张孝荣 ...

  9. 形状识别——内六角螺丝内六角识别

    注:本解决方案使用OpenCV4和OpenCV3实现过,写有非常详细的注释,现在贴出的是OpenCV4的代码,需要在OpenCV3中运行需要更改HOUGH_GRADIENT.COLOR_BGR2GRA ...

最新文章

  1. 实验三:XML模型(一)
  2. Window10+VS2015+DevExpress.net 15.1.7完美破解(图)
  3. php56wmysql_centos6.5下使用yum完美搭建LNMP环境(php5.6)【Fizzday整理】
  4. 设计模式---组合模式
  5. linux 信号_Linux信号机制
  6. Dapr 客户端 搭配 WebApiClientCore 玩耍服务调用
  7. kafka数据到flume_大数据摄取:Flume,Kafka和NiFi
  8. Java Code Geeks和Packt提供的Hadoop书籍赠品
  9. Go语言爬虫项目将结果写入MySql数据库
  10. oracle宣传视频下载,1300首 Audiomachine 背景音乐电影宣传预告片配乐合辑(23集)...
  11. master分支 合并到main_10 月 1 日后,GitHub 默认分支不再叫master!
  12. 学校网络安全事故救助机制初探
  13. 动态下拉框中如何使用常量?
  14. html语义化标签_9.28晨会分享 常见的HTML5语义化标签、实体字符
  15. 多Tab点击切换效果实现
  16. 算法设计与分析第二版源码
  17. 图片随意命名可能被广告拦截插件拦截
  18. ss1111111111111111111111111111111111111111
  19. 软考高级 真题 2016年上半年 信息系统项目管理师 案例分析
  20. [JavaScript][AJAX] 前后端交互流程,ajax工作流程

热门文章

  1. android5.1默认输入法,讯飞输入法Android5.1.1930 说得更轻松
  2. 苹果创始人乔布斯简介_带有乔布斯和沃兹尼亚克签名的Apple II盖子将被拍卖
  3. 【正点原子Linux连载】第六十一章 Linux I2C驱动实验 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0
  4. 使命召唤15服务器维修,使命召唤15新补丁大幅度影响服务器发送速率
  5. 黑珍珠餐厅主厨推荐,麦当劳推出安格斯汉堡系列全新力作
  6. 魔兽助手1.2--新增鼠标自动点击功能(抢英雄必备)
  7. 百玩不厌!阿达连连看2008新版体验
  8. 投资理财的看法IT人
  9. 中望3D2022 基准
  10. mysql练习-单表查询和多表查询