亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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)學膨脹


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中time模塊和datetime模塊的用法示例

    Python中time模塊和datetime模塊的用法示例

    這篇文章主要介紹了Python中time模塊和datetime模塊的用法示例,主要演示了一些時間日期的打印和計算,需要的朋友可以參考下
    2016-02-02
  • python列表list保留順序去重的實例

    python列表list保留順序去重的實例

    今天小編就為大家分享一篇python列表list保留順序去重的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Python利用pyodbc庫將文件信息插入Access數(shù)據(jù)庫

    Python利用pyodbc庫將文件信息插入Access數(shù)據(jù)庫

    在日常編程工作中,我們經(jīng)常需要處理文件和文件夾,所以本文將介紹如何使用Python編程語言和wxPython庫創(chuàng)建一個簡單的文件瀏覽器界面,使用戶能夠選擇文件夾并將文件信息插入到Access數(shù)據(jù)庫中,需要的可以參考下
    2023-08-08
  • Python實現(xiàn)的生成自我描述腳本分享(很有意思的程序)

    Python實現(xiàn)的生成自我描述腳本分享(很有意思的程序)

    這篇文章主要介紹了Python實現(xiàn)的生成自我描述腳本分享,很有意思的程序,繞的人有點頭暈,需要的朋友參考下吧
    2014-07-07
  • Python?matplotlib繪制散點圖配置(萬能模板案例)

    Python?matplotlib繪制散點圖配置(萬能模板案例)

    這篇文章主要介紹了Python?matplotlib繪制散點圖配置(萬能模板案例),散點圖是指在??回歸分析???中,數(shù)據(jù)點在直角坐標系平面上的?分布圖???,散點圖表示因變量隨??自變量???而?變化???的大致趨勢,據(jù)此可以選擇合適的函數(shù)??對數(shù)???據(jù)點進行?擬合
    2022-07-07
  • Python利用Nagios增加微信報警通知的功能

    Python利用Nagios增加微信報警通知的功能

    Nagios是一款開源的免費網(wǎng)絡監(jiān)視工具,能有效監(jiān)控Windows、Linux和Unix的主機狀態(tài),交換機路由器等網(wǎng)絡設(shè)置,打印機等,本文給大家介紹Python利用Nagios增加微信報警通知的功能,需要的朋友參考下
    2016-02-02
  • python數(shù)據(jù)分析之線性回歸選擇基金

    python數(shù)據(jù)分析之線性回歸選擇基金

    這篇文章主要介紹了python數(shù)據(jù)分析之線性回歸選擇基金,文章基于前幾篇的文章內(nèi)容展開詳細的基金的趨勢分析,感興趣的小伙伴可以參考一下
    2022-05-05
  • Python 單例設(shè)計模式用法實例分析

    Python 單例設(shè)計模式用法實例分析

    這篇文章主要介紹了Python 單例設(shè)計模式用法,結(jié)合實例形式分析了Python單例模式的具體定義與使用操作技巧,需要的朋友可以參考下
    2019-09-09
  • python實現(xiàn)簡單日志記錄庫glog的使用

    python實現(xiàn)簡單日志記錄庫glog的使用

    這篇文章主要介紹了python實現(xiàn)簡單日志記錄庫glog的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-12-12
  • 對python 多線程中的守護線程與join的用法詳解

    對python 多線程中的守護線程與join的用法詳解

    今天小編就為大家分享一篇對python 多線程中的守護線程與join的用法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02

最新評論