opencv 轮廓 缺陷检测
1.凸性缺陷
物体与凸壳任何偏差都可以认为是凸性缺陷。
cv.convexityDefects()
import cv2 as cv
import numpy as np
img = cv.imread('star.jpg')
img_gray = cv.cvtColor(img,cv.COLOR_BGR2GRAY)
ret,thresh = cv.threshold(img_gray, 127, 255,0)
im2,contours,hierarchy = cv.findContours(thresh,2,1)
cnt = contours[0]
hull = cv.convexHull(cnt,returnPoints = False)
defects = cv.convexityDefects(cnt,hull)
for i in range(defects.shape[0]):s,e,f,d = defects[i,0]start = tuple(cnt[s][0])end = tuple(cnt[e][0])far = tuple(cnt[f][0])cv.line(img,start,end,[0,255,0],2)cv.circle(img,far,5,[0,0,255],-1)
cv.imshow('img',img)
cv.waitKey(0)
cv.destroyAllWindows()
2.多边形点测试
dist = cv.pointPolygonTest(cnt,(50,50),True)
3.形状匹配
cv.matchShapes()
import cv2 as cv
import numpy as np
img1 = cv.imread('star.jpg',0)
img2 = cv.imread('star2.jpg',0)
ret, thresh = cv.threshold(img1, 127, 255,0)
ret, thresh2 = cv.threshold(img2, 127, 255,0)
im2,contours,hierarchy = cv.findContours(thresh,2,1)
cnt1 = contours[0]
im2,contours,hierarchy = cv.findContours(thresh2,2,1)
cnt2 = contours[0]
ret = cv.matchShapes(cnt1,cnt2,1,0.0)
print( ret )
参考文献:
https://docs.opencv.org/3.4.3/d5/d45/tutorial_py_contours_more_functions.html
https://blog.csdn.net/qq_41905045/article/details/81536827
opencv 轮廓 缺陷检测相关推荐
- python图像缺陷检测_python OpenCV 实现缺陷检测
机器视觉第七次实验 一.实验目的 通过OpenCV第七次进行实验,对图片进行缺陷检测. 二.实验内容 对图片进行缺陷测量. 三.实验过程 我使用的是python语言+openCV对图片进行缺陷检测的功 ...
- python opencv 图片缺陷检测!
一.利用直方图的方式进行批量的图片缺陷检测(方法简单) 转存失败重新上传取消 二.步骤(完整代码见最后) 2.1灰度转换(将原图和要检测对比的图分开灰度化) 灰度化的作用是因为后面的直方图比较需要以像 ...
- python + opencv试纸缺陷检测——思路
用于检测试纸生产线对合格与不合格产品进行分拣,实时检测. 先要对整个区域进行分割,只对研究对象进行处理,是否用ROI? 1)选择数据:将数据分成三组:训练数据.验证数据.测试数据 2)模型数据:使用训 ...
- Python,OpenCV轮廓属性、轮廓检测及绘制
Python,OpenCV轮廓属性.轮廓检测及绘制 1. 效果图 2. 源码 2.1 轮廓属性 2.2 轮廓特征 参考 这篇博客将介绍OpenCV中的轮廓,轮廓的特征及属性(质心,面积,轮廓,近似轮廓 ...
- 利用OpenCV的convexHull和convexityDefects做凸包(凸壳)检测及凸包(凸壳)的缺陷检测
图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 2487872782 图像处理开发资料.图像处理技术交流请加QQ群,群号 271891601 要理解凸包(凸壳)检测,首无要知道什么是凸包(凸 ...
- 基于OPENCV和图像减法的PCB缺陷检测
基于OPENCV和图像减法的PCB缺陷检测 原文地址:PCB defect detection USING OPENCV with image subtraction method Abstract ...
- openCV缺陷检测学习(一)
·参考论文: <基于OpenCV的PCB元件缺陷检测>-- 郑帅兵,贾小军,季汉华 缺陷检测流程 · 平滑处理 · 图像二值化 · 边缘检测 · 缺陷检测 1.平滑处理 平滑处理也成为模糊 ...
- 基于Python的OpenCV轮廓检测聚类
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 简介 OpenCV的"findContours" ...
- c++ opencv 通过网络连接工业相机_OpenCV项目实战之零件缺陷检测(上)
导 语 在流水线上,上位机软件以一定的频率通过工业摄像机拍摄图片,然后检查图片中的零件质量,然后把零件质量用特定编码以串口通信方式发送给硬件,硬件收到信号后将有缺陷的零件过滤,以实现零件质量把控的目的 ...
最新文章
- 监听对象中某一项的值_Vue中watch的详细用法
- vb mysql 字符串转日期_VB常用函数表
- 实现自己的“单页”博客,只需要一个指令 (Moka)
- boost::mpl模块bind相关的测试程序
- java ip地址相关操作
- 计算机专业顶尖会议论文,校友胡一公获计算机系统领域顶级会议ASPLOS 2019最佳论文奖...
- springboot控制接口返回的字段_SpringBoot实战:SpringBoot之Rest Full接口自定义返回数据类型(ResponseBodyAdvice)...
- python扩展库不是用于科学计算的有_有哪些科学计算的开源库
- 学习Java中遇到的问题积累_1
- java guava限流,Guava的RateLimiter实现接口限流
- Shell脚本语法2
- 面向资源的权限体系设计随想
- v$session.sql_id为NULL或不准确的BUG
- 三菱fx2n做从站的modbus通讯_第476期丨关于三菱PLC中除法的问题;请教一个监测电流的小物件或方法...
- python 移动文件或文件夹操作
- IDEA 返回上一步 快捷键
- unix和linux发音,Linux术语发音大全
- [4G5G专题-9]:RRU 数字上变频DUC与数字下变频DDC
- 基于Python+网络爬虫的兼职招聘就业信息数据可视化分析
- 一张图囊括所有ASM优化投放知识点
热门文章
- idea运行报错Parameter ‘name‘ not found. Available parameters are [arg1, arg0, param1, param2]
- 1000道Python题库系列分享
- Python 3.6模拟输入并爬取百度前10页密切相关链接
- 科技长廊声光电计算机,科技展示长廊 孩子探索乐园
- PHP中类重写方法,php中重写方法有什么规则
- bp神经网络测试_BP 神经网络驱动的手写体数字识别软件 EasyOCR
- linux tcp 服务器 c,Linux网络编程篇之Tcp协议介绍, C/S通信及聊天室实现
- java实现调查问卷_智能办公进行时丨富士施乐邀您参与有奖问卷调查
- mysql统计每个科目平均成绩_No.03 数据库经典面试之如何取出每科成绩的前三名...
- sp工具中最疼的是_阴阳师打造完美的双面就业SP酒吞 说说最靠谱的御魂携带法...