Python-OpenCV實現(xiàn)圖像缺陷檢測的實例
發(fā)布日期:2022-03-12 15:37 | 文章來源:站長之家
在Jupyter Notebook上使用Python+opencv實現(xiàn)如下圖像缺陷檢測。關(guān)于opencv庫的安裝可以參考:Python下opencv庫的安裝過程與一些問題匯總。
1.實現(xiàn)代碼
import cv2 import numpy from PIL import Image, ImageDraw, ImageFont #用于給圖片添加中文字符 def ImgText_CN(img, text, left, top, textColor=(0, 255, 0), textSize=20): if (isinstance(img, numpy.ndarray)): #判斷是否為OpenCV圖片類型 img = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB)) draw = ImageDraw.Draw(img) fontText = ImageFont.truetype("font/simhei.ttf", textSize, encoding="utf-8") draw.text((left, top), text, textColor, font=fontText) return cv2.cvtColor(numpy.asarray(img), cv2.COLOR_RGB2BGR) #讀取原圖片 image0=cv2.imread("0.bmp") cv2.imshow("image0", image0) #灰度轉(zhuǎn)換 gray0 = cv2.cvtColor(image0, cv2.COLOR_RGB2GRAY) cv2.imshow("gray0", gray0)for i in range(1,6): img0=cv2.imread(str(i)+".bmp")#原圖片 img=cv2.cvtColor(cv2.imread(str(i)+".bmp"),cv2.COLOR_RGB2GRAY)#灰度圖 #使用calcHist()函數(shù)計算直方圖,反映灰度值的分布情況 hist = cv2.calcHist([gray0], [0], None, [256], [0.0,255.0]) h1 = cv2.calcHist([img], [0], None, [256], [0.0,255.0]) #計算圖片相似度 result = cv2.compareHist(hist,h1,method=cv2.HISTCMP_BHATTACHARYYA)#巴氏距離比較,值越小相關(guān)度越高,最大值為1,最小值為0 #print(result) #設(shè)定閾值為0.1,若相似度小于0.1則為合格,否則不合格 if result <0.1: detect=ImgText_CN(img0, '合格', 10, 10, textColor=(255, 0, 0), textSize=30) else: detect=ImgText_CN(img0, '不合格', 10, 10, textColor=(255, 0, 0), textSize=30) cv2.imshow("Detect_" +str(i),detect) cv2.waitKey(0)
2.運行結(jié)果
到此這篇關(guān)于Python-OpenCV實現(xiàn)圖像缺陷檢測的實例的文章就介紹到這了,更多相關(guān)OpenCV 圖像缺陷檢測內(nèi)容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來源標注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學習參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。
相關(guān)文章