0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

OpenCV在低对比度缺陷检测中的应用实例

h1654155999.2342 来源:OpenCV与Halcon视觉 作者:Color Space 2021-08-26 15:52 次阅读

导读本文主要介绍OpenCV在低对比度缺陷检测中的应用实例。

实例一(LCD屏幕脏污检测)

参考实例来源:

https://stackoverflow.com/questions/27281884/low-contrast-image-segmentation

分析与说明:上图中的脏污图像因为对比度较低,所以无法通过常用的阈值方法处理提取,有时人眼观察也较费劲。常用的方法有梯度提取或频域提取。

链接主题中提到了Kmeans聚类分割后提取:

二分类:

d22f64ec-f844-11eb-9bcf-12bb97331649.png

三分类:

d27d7c54-f844-11eb-9bcf-12bb97331649.png

乍一看效果还不错,但问题是我到底应该设置几个类别?第一张图我如何确定哪个区域正好是我的缺陷部分?本文采用了梯度方法来检测。

实现步骤与演示

实现步骤: ① 图像滤波--滤除杂讯; ② Sobel提取边缘; ③ 形态学处理剔除杂讯; ④ 阈值提取--分割脏污区域; ⑤ 轮廓提取与标注。图像一:

gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)blur = cv2.GaussianBlur(gray,(15,15),0)

x = cv2.Sobel(blur,cv2.CV_16S,1,0,ksize=7)y = cv2.Sobel(blur,cv2.CV_16S,0,1,ksize=7)absX = cv2.convertScaleAbs(x) # 转回uint8absY = cv2.convertScaleAbs(y)edged = cv2.addWeighted(absX,1,absY,1,0)cv2.imshow(‘Sobel’, edged)

k1=np.ones((11,11), np.uint8)thres = cv2.morphologyEx(thres, cv2.MORPH_ERODE, k1)#膨胀操作cv2.imshow(‘MORPH_ERODE’,thres) #结果显示

contours,hierarchy = cv2.findContours(thres, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)for cnt in contours: (x, y, w, h) = cv2.boundingRect(cnt) if w 》 2 and h 》 2: cv2.drawContours(img,cnt,-1,(0,0,255),1)

—版权声明—

仅用于学术分享,版权属于原作者。

若有侵权,请联系删除或修改!

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • lcd
    lcd
    +关注

    关注

    34

    文章

    4277

    浏览量

    164079
  • 缺陷检测
    +关注

    关注

    2

    文章

    131

    浏览量

    12058
  • OpenCV
    +关注

    关注

    29

    文章

    611

    浏览量

    40767

原文标题:OpenCV实战 | 低对比度缺陷检测应用实例

文章出处:【微信号:gh_f39db674fbfd,微信公众号:尖刀视】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    一目了然:机器视觉缺陷识别方法

    ,采集产品表面的图像数据,通常使用相机或传感器来获取高分辨率的图像。对图像进行预处理,包括去噪、增强对比度、边缘检测等操作,以减少干扰并突出缺陷区域。提取图像中的特
    的头像 发表于 03-18 17:54 396次阅读
    一目了然:机器视觉<b class='flag-5'>缺陷</b>识别方法

    使用一个uvc工具验证发送设置camera图像对比度,饱和度命令,fx3无法接收到命令是为什么?

    你好,我使用一个uvc工具验证发送设置camera 图像对比度,饱和度命令,但是CyU3PUsbRegisterSetupCallback(CyCx3AppUSBSetupCB, CyTrue)注册
    发表于 02-28 06:58

    LED贴膜屏的亮度、对比度和色彩表现力怎么样?

    LED贴膜屏的亮度、对比度和色彩表现力怎么样? LED贴膜屏作为一种新型的显示技术,具有许多优势,其中包括亮度、对比度和色彩表现力。 首先,LED贴膜屏的亮度非常高,这意味着它可以在各种光线
    的头像 发表于 12-11 13:43 379次阅读

    openCV边缘检测原理是什么?

    openCV是通过什么原理来实现边缘检测
    发表于 10-10 06:21

    基于机器视觉的软包装锂离子电池表面凸点缺陷检测

    针对软包装锂离子电池表面图像凸点缺陷对比度低、反光、凹凸不平,难以进行准确检测与识别的问题,本文作者在频域上使用高斯滤波对图像进行处理,再将处理后的图像用深度学习训练好的模型进行进一步检测
    发表于 09-25 10:54 456次阅读
    基于机器视觉的软包装锂离子电池表面凸点<b class='flag-5'>缺陷</b><b class='flag-5'>检测</b>

    OpenCV的BGR格式,libyuv对应的那个格式?OpenCV的RGB格式呢?

    OpenCV的BGR格式,libyuv对应的那个格式?OpenCV的RGB格式呢?
    发表于 09-19 06:00

    【触觉智能 Purple Pi OH 开发板体验】三、Ubuntu镜像安装OpenCV边缘检测开发

    缺陷检测程序实现的步骤: 1.**确定目标和定义缺陷**:首先,需要明确什么是缺陷。例如,制造业
    发表于 09-09 13:20

    opencv_videoio_ffmpeg_64.dll缺失,无法OpenVINO trade配置OpenCV怎么处理?

    ] global C:\\jenkins\\workspace\\OpenCV\\OpenVINO\\2021.4\\build\\windows\\opencv\\modules\\videoio
    发表于 08-15 08:24

    结构深、角度大、反射差?用共聚焦显微镜就对啦!

    ,结构复杂且呈立体状。白光干涉仪因其对样品表面反射形成的干涉条纹光信号对比度要求较高,而碳纸表面纤维丝的立体角度大,导致部分位置因反射率形成的干涉条纹对比度较低甚至无法形成干涉条纹,从而难以解调出深度
    发表于 08-04 16:12

    数据高效缺陷检测技术有哪些

    1. 摘要 CVPR VISION 23挑战赛第1赛道 "数据智能缺陷检测 "要求参赛者在数据缺乏的环境下对14个工业检测数据集进行实例分割。本论文的方法聚焦于在有限训练样本的场景下提
    的头像 发表于 07-18 15:28 411次阅读
    数据高效<b class='flag-5'>缺陷</b><b class='flag-5'>检测</b>技术有哪些

    OpenCV FFT模糊检测方法

      在本教程中,您将学习如何使用OpenCV和快速傅里叶变换(FFT)在图像和实时视流中执行模糊检测。 今天的教程是我上一篇关于OpenCV模糊检测的博客文章的扩展 原始模糊
    的头像 发表于 06-26 10:47 488次阅读
    <b class='flag-5'>OpenCV</b> FFT模糊<b class='flag-5'>检测</b>方法

    基于GAN的零缺陷样本产品表面缺陷检测

    缺陷检测是工业生产过程中的关键环节,其检测结果的好坏直接影响着产品的质量。而在现实场景中,但产品瑕疵率非常低,甚至是没有,缺陷样本的不充足使得需要深度学习
    的头像 发表于 06-26 09:49 617次阅读
    基于GAN的零<b class='flag-5'>缺陷</b>样本产品表面<b class='flag-5'>缺陷</b><b class='flag-5'>检测</b>

    [译]RISC-V CPU上运行OpenCV

    RISC-V是一个相对较新的平台,物联网市场中越来越受欢迎。2020年,OpenCV开始支持该平台。 有效执行各种图像处理、计算机视觉和机器学习算法需要矢量/SIMD指令,许多现代CPU架构都提供
    发表于 06-22 18:54

    通过OpenCV(4.2.0) 运行NXP eIQ机器学习时报错?

    当我尝试通过 OpenCV(4.2.0) 运行 NXP eIQ 机器学习时出现以下错误 抛出 [947.599867] 审计实例后调用终止:type=1701 audit (16
    发表于 06-05 08:14

    如何在OpenCV中使用基于深度学习的边缘检测

    在这篇文章中,我们将学习如何在OpenCV中使用基于深度学习的边缘检测,它比目前流行的canny边缘检测器更精确。
    的头像 发表于 05-19 09:52 1675次阅读
    如何在<b class='flag-5'>OpenCV</b>中使用基于深度学习的边缘<b class='flag-5'>检测</b>?