最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python+OpenCV實現(xiàn)表面缺陷檢測

 更新時間:2022年08月05日 15:13:00   作者:醉公子~  
對于現(xiàn)在很多工業(yè)檢測,特別是對一些精密的器件進行篩選,往往都是像素級別的,十分的精確。本文將利用OpenCV+Python實現(xiàn)表面缺陷檢測,感興趣的可以了解一下

對于現(xiàn)在很多工業(yè)檢測,特別是對一些精密的器件進行篩選,往往都是像素級別的,十分的精確。

主要思想

  • 將圖像轉(zhuǎn)化為二值圖像
  • 在對圖像進行腐蝕/膨脹處理
  • 在進行輪廓檢測
  • 篩選目標大小符合的輪廓(排除誤差小的輪廓)
  • 在在進行膨脹化處理,將輪廓信息繪制出
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)  # 形態(tài)學(xué)膨脹


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)  # 輪廓的個數(shù)
cv_contours = []
for contour in contours:
    area = cv2.contourArea(contour)

    if area <= 500:# 篩選面積大于500的,小于500的全部變?yōu)?55,
        cv_contours.append(contour)
        # 方式一
        # x, y, w, h = cv2.boundingRect(contour) # 這個函數(shù)可以獲得一個圖像的最小矩形邊框一些信息,參數(shù)img是一個二值圖像,它可以返回四個參數(shù),左上角坐標,矩形的寬高 (輪廓集合  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實現(xiàn)表面缺陷檢測的詳細內(nèi)容,更多關(guān)于Python OpenCV缺陷檢測的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python偏函數(shù)partial用法

    python偏函數(shù)partial用法

    這篇文章要給大家分享得是python偏函數(shù)partial用法,主要介紹什么是偏函數(shù)partial、偏函數(shù)的作用、偏函數(shù)的語法及案例詳情,需要的朋友可以參考一下文章得具體詳解,希望對你有所幫助
    2021-10-10
  • 分享20個實用的Python?Excel自動化腳本

    分享20個實用的Python?Excel自動化腳本

    這篇文章主要介紹了20個實用的Python?Excel自動化腳本,用于自動化處理和分析Excel文件,提高工作效率,從批量填充單元格、設(shè)置行高與列寬到生成數(shù)據(jù)透視表和圖表,涵蓋了數(shù)據(jù)處理和分析的各個方面,需要的朋友可以參考下
    2025-02-02
  • Python包裝異常處理方法

    Python包裝異常處理方法

    這篇文章主要介紹了Python包裝異常處理方法,相比java,python的異常和java中不同,python主要是防止程序異常被中止。一旦被catch后它還行往下執(zhí)行,本文就分享python相關(guān)的異常處理方法,需要的小伙伴可以參考一下
    2022-06-06
  • Python實現(xiàn)輕松合并doc為txt的示例代碼

    Python實現(xiàn)輕松合并doc為txt的示例代碼

    這篇文章主要為大家詳細介紹了如何利用Python編程語言和wxPython模塊,打開指定文件夾中的DOC文檔,并將它們的內(nèi)容合并成一個便捷的TXT文檔,需要的可以參考下
    2024-03-03
  • python 讀取以空格分開的文件操作

    python 讀取以空格分開的文件操作

    這篇文章主要介紹了python 讀取以空格分開的文件操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • 深入理解Python中__init__.py文件

    深入理解Python中__init__.py文件

    本文主要介紹了深入理解Python中__init__.py文件,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • python3 自動識別usb連接狀態(tài),即對usb重連的判斷方法

    python3 自動識別usb連接狀態(tài),即對usb重連的判斷方法

    今天小編就為大家分享一篇python3 自動識別usb連接狀態(tài),即對usb重連的判斷方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • 對pytorch中x = x.view(x.size(0), -1) 的理解說明

    對pytorch中x = x.view(x.size(0), -1) 的理解說明

    這篇文章主要介紹了對pytorch中x = x.view(x.size(0), -1) 的理解說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • 用python找出那些被“標記”的照片

    用python找出那些被“標記”的照片

    這篇文章主要介紹了用python找出那些被“標記”的照片的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • Python基礎(chǔ)詳解之郵件處理

    Python基礎(chǔ)詳解之郵件處理

    這篇文章主要介紹了Python基礎(chǔ)詳解之郵件處理,文中有非常詳細的代碼示例,對正在學(xué)習(xí)python基礎(chǔ)的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04

最新評論

云霄县| 元氏县| 宁陕县| 鲜城| 大田县| 安丘市| 广元市| 祁门县| 蓝山县| 夏河县| 渑池县| 芦溪县| 福建省| 商河县| 武穴市| 沭阳县| 井陉县| 天柱县| 垫江县| 林州市| 务川| 公安县| 博罗县| 南宁市| 阳城县| 桓仁| 广宁县| 新巴尔虎右旗| 凤凰县| 玛纳斯县| 卢氏县| 渝中区| 屏南县| 儋州市| 石柱| 姜堰市| 河南省| 沧州市| 泌阳县| 易门县| 玛沁县|