Python-OpenCV實現(xiàn)圖像缺陷檢測的實例
在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)
#設定閾值為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)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python計算階乘和的方法(1!+2!+3!+...+n!)
今天小編就為大家分享一篇python計算階乘和的方法(1!+2!+3!+...+n!),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-02-02
Python中raise用法簡單實例(超級詳細,看了無師自通)
python中raise語句用于手動觸發(fā)異常,通過raise語句可以在代碼中顯式地引發(fā)異常,從而使程序進入異常處理流程,下面這篇文章主要給大家介紹了關(guān)于Python中raise用法的相關(guān)資料,需要的朋友可以參考下2024-03-03
深入理解Python 關(guān)于supper 的 用法和原理
這篇文章主要介紹了Python 關(guān)于supper 的 用法和原理分析,非常不錯,具有參考借鑒價值,需要的朋友參考下吧2018-02-02
Python 正則表達式 re.match/re.search/re.sub的使用解析
今天小編就為大家分享一篇Python 正則表達式 re.match/re.search/re.sub的使用解析,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07
Python Flask前端自動登錄功能實現(xiàn)詳解
這篇文章主要介紹了Python Flask前端自動登錄功能實現(xiàn),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-10-10

