iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python+OpenCV实现表面缺陷检测
  • 842
分享到

Python+OpenCV实现表面缺陷检测

2024-04-02 19:04:59 842人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

对于现在很多工业检测,特别是对一些精密的器件进行筛选,往往都是像素级别的,十分的精确。 主要思想 将图像转化为二值图像在对图像进行腐蚀/膨胀处理在进行轮廓检测筛选目标大小符合的轮廓

对于现在很多工业检测,特别是对一些精密的器件进行筛选,往往都是像素级别的,十分的精确。

主要思想

  • 将图像转化为二值图像
  • 在对图像进行腐蚀/膨胀处理
  • 在进行轮廓检测
  • 筛选目标大小符合的轮廓(排除误差小的轮廓)
  • 在在进行膨胀化处理,将轮廓信息绘制出
import cv2
import os
import numpy as np
import time


t1 = time.time()
img = cv2.imread('./label/28901647.jpg', 0)
img_copy = cv2.imread('./label/28901647.jpg', 0)
mask = np.zeros_like(img)
print(np.shape(img))
# 先利用二值化去除图片噪声
ret, img = cv2.threshold(img, 80, 255, cv2.THRESH_BINARY)




es = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (4, 2))
img = cv2.dilate(img, es, iterations=1)  # 形态学膨胀


kernel = np.ones(shape=[5,5],dtype=np.uint8)
img = cv2.erode(img,kernel=kernel)  # 腐蚀操作

cv2.imshow('aa',img)
cv2.waiTKEy(0)


contours, _ = cv2.findContours(img, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)


n = len(contours)  # 轮廓的个数
cv_contours = []
for contour in contours:
    area = cv2.contourArea(contour)

    if area <= 500:# 筛选面积大于500的,小于500的全部变为255,
        cv_contours.append(contour)
        # 方式一
        # x, y, w, h = cv2.boundingRect(contour) # 这个函数可以获得一个图像的最小矩形边框一些信息,参数img是一个二值图像,它可以返回四个参数,左上角坐标,矩形的宽高 (轮廓集合  contour)
        # img[y:y + h, x:x + w] = 255
        
    else:

        cv2.drawContours(img_copy, [contour], -1, (0, 0, 255), 0) # 多边形轮廓绘制

        print('area:', area)
        continue
# 方式二
cv2.fillPoly(img, cv_contours, (255, 255, 255)) # 多个多边形填充

t2 = time.time()
print('时间:',t2-t1)
cv2.imwrite('./output/28901647.jpg', img)

1、寻找到的轮廓信息(缺陷)

2、通过腐蚀、膨胀后的,筛选出的较大缺陷

3、通过不同程度的膨胀腐蚀、缺陷面积筛选

以上就是python+OpenCV实现表面缺陷检测的详细内容,更多关于Python OpenCV缺陷检测的资料请关注编程网其它相关文章!

--结束END--

本文标题: Python+OpenCV实现表面缺陷检测

本文链接: https://www.lsjlt.com/news/119837.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python+OpenCV实现表面缺陷检测
    对于现在很多工业检测,特别是对一些精密的器件进行筛选,往往都是像素级别的,十分的精确。 主要思想 将图像转化为二值图像在对图像进行腐蚀/膨胀处理在进行轮廓检测筛选目标大小符合的轮廓...
    99+
    2024-04-02
  • Python-OpenCV实现图像缺陷检测的实例
    目录1.实现代码2.运行结果在Jupyter Notebook上使用Python+opencv实现如下图像缺陷检测。关于opencv库的安装可以参考:Python下opencv库的安...
    99+
    2024-04-02
  • Python中利用opencv实现缺陷检测的方法
    这篇文章给大家分享的是有关Python中利用opencv实现缺陷检测的方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。python的数据类型有哪些python的数据类型:1. 数字类型,包括int(整型)、lo...
    99+
    2023-06-14
  • Python opencv缺陷检测的实现及问题解决
    题目描述 利用opencv或其他工具编写程序实现缺陷检测。 实现过程 # -*- coding: utf-8 -*- ''' 作者 : 丁毅 开发时间 : 2021/4/21 ...
    99+
    2024-04-02
  • OpenCV凸包检测和凸缺陷学习示例
    目录1、凸包检测与凸缺陷定义2、opencv相关实现函数3、代码实践4、总结1、凸包检测与凸缺陷定义 凸包是将最外层的点连接起来构成的凸多边形,它能包含点击中所有的点。物体的凸包检测...
    99+
    2024-04-02
  • opencv-python+yolov3实现目标检测
    目录目标检测概况目标检测是?目标检测算法?yolov3模型简介性能介绍架构介绍opencv-python实现why opencv?正文因为最近的任务有用到目标检测,所以昨天晚...
    99+
    2024-04-02
  • Python+Opencv文本检测的实现
    目录EAST 深度学习文本检测器项目结构实施说明使用 OpenCV 实现我们的文本检测器OpenCV 文本检测结果视频文字检测结果在本教程中,您将学习如何使用 OpenCV 使用 E...
    99+
    2024-04-02
  • Python+OpenCV实现边缘检测与角点检测详解
    目录一、边缘检测1.1、读取图像1.2、图像转换成灰度图像1.3、Sobel算子1.4、Canny算子1.5、显示正常中文的标签1.6、边缘检测结果二、角点检测2.1、读取图像2.2...
    99+
    2023-02-03
    Python OpenCV边缘检测 Python OpenCV角点检测 Python OpenCV 检测
  • Python实现Opencv cv2.Canny()边缘检测
    目录1. 效果图2. 源码补充:OpenCV-Python 中 Canny() 参数这篇博客将介绍Canny边缘检测的概念,并利用cv2.Canny()实现边缘检测; Ca...
    99+
    2024-04-02
  • opencv实现颜色检测
    本文实例为大家分享了opencv实现颜色检测的具体代码,供大家参考,具体内容如下 若要在OPencv 中实现颜色检测,首先要将待检测图像转换到HSV颜色空间中,但因为颜色是一个特定的...
    99+
    2024-04-02
  • OpenCV实现直线检测
    本文实例为大家分享了OpenCV实现直线检测的具体代码,供大家参考,具体内容如下 1 介绍 本文主要介绍OpenCV自带的直线检测函数HoughLines()的用法,这个函数的第一个...
    99+
    2024-04-02
  • opencv实现角点检测
    本文实例为大家分享了opencv实现角点检测的具体代码,供大家参考,具体内容如下 1、特征点的作用:使用特征点代表图像内容 运动目标跟踪物体识别图像配准全景图像拼接三维重建 2、Ha...
    99+
    2022-11-13
    opencv 角点检测
  • opencv 案例05-基于二值图像分析(简单缺陷检测)
    缺陷检测,分为两个部分,一个部分是提取指定的轮廓,第二个部分通过对比实现划痕检测与缺角检测。本次主要搞定第一部分,学会观察图像与提取图像ROI对象轮廓外接矩形与轮廓。 下面是基于二值图像分析的大致流程 读取图像将图像转换为灰度图,并对其进行...
    99+
    2023-08-30
    opencv 人工智能 计算机视觉 目标检测
  • python opencv检测直线 cv2.HoughLinesP的实现
    cv2.HoughLines()函数是在二值图像中查找直线,cv2.HoughLinesP()函数可以查找直线段。 cv2.HoughLinesP()函数原型: HoughLin...
    99+
    2024-04-02
  • opencv-python+yolov3怎么实现目标检测
    这篇文章给大家分享的是有关opencv-python+yolov3怎么实现目标检测的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。目标检测概况目标检测是?目标检测,粗略来说就是:输入图片/视频,经过处理,得到:目标...
    99+
    2023-06-15
  • 怎么用Python+OpenCV实现猫脸检测
    这篇文章主要介绍了怎么用Python+OpenCV实现猫脸检测的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么用Python+OpenCV实现猫脸检测文章都会有所收获,下面我们一起来看看吧。开发工具Pytho...
    99+
    2023-06-27
  • opencv实现棋盘格检测
    本文实例为大家分享了opencv实现棋盘格检测的具体代码,供大家参考,具体内容如下 代码: #include <iostream> #include <vector...
    99+
    2022-11-13
    opencv棋盘格检测 opencv棋盘检测 opencv检测
  • Python OpenCV实现图形检测示例详解
    目录1. 轮廓识别与描绘1.1 cv2.findComtours()方法1.2 cv2.drawContours() 方法1.3 代码示例2. 轮廓拟合2.1 矩形包围框拟合 - c...
    99+
    2024-04-02
  • python基于Opencv实现人脸口罩检测
    一、开发环境 python 3.6.6 opencv-python 4.5.1 二、设计要求 1、使用opencv-python对人脸口罩进行检测 三、设计原理 设计流程图如图3-1...
    99+
    2024-04-02
  • Python+OpenCV实现图片中的圆形检测
    效果展示 中心的三个没检测到 import cv2 import numpy as np import matplotlib.pyplot as plt w = 20 h ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作