欧美日韩欧美,女人和拘做受大片免费看,麻花豆传媒剧国产mv免费版特色,欧美成人精品高清在线观看,麻豆产精国品一二三产区区

【A5】基于Python+OpenCV瓶口缺陷檢測

2022-07-11 19:34:20      索煒達電子      1186     

文件編號:A5

文件大小:8M

開發(fā)環(huán)境:Python3.8、OpenCV4.6、Pycharm2020

猿創(chuàng)承諾:該項目親測正常運行,需遠程調(diào)試部署需另外收費,確保正常使用,不能正常使用全額退款。

簡要概述:基于Python+OpenCV瓶口缺陷檢測

主要任務:判斷瓶口是否完好,尋找瓶口缺陷部分,并將其框出(以下圖為例進行演示)(包含程序部分代碼)

【A5】基于Python+OpenCV瓶口缺陷檢測

解決步驟:

-通過Hough圓檢測,獲取瓶口外側圓,確定圓的位置和尺寸,對瓶口部分進行極坐標變化和極坐標反變換,消除瓶口外側區(qū)域的干擾。

-對之后的圖像進行處理,提取缺陷部分進行輪廓繪制和缺陷判別。

1、導入功能包,讀取圖像

2、Hough圓檢測獲取瓶口位置和大小

為了防止誤判,對圓半徑進行限制,保證獲得瓶口最外側的輪廓./bottle_create.py 對框中瓶子進行檢查

****************************************************************************************************

'''hough圓變換'''

cimg = cv2.cvtColor(bottle,cv2.COLOR_GRAY2BGR)  # 轉換成彩色圖

circles = cv2.HoughCircles(median,cv2.HOUGH_GRADIENT,1,100,

                         param1=100,param2=60,minRadius=150,maxRadius=160)  # Hough圓檢測

circles = np.uint16(np.around(circles))

#print(circles)

for i in circles[0,:]:    # 遍歷circles,i為列表,i中包含多個列表,列表為[x,y,r]圓心坐標和半徑

    # draw the outer circle

    cv2.circle(cimg,(i[0],i[1]),i[2],(0,255,0),2)

    # draw the center of the circle

    cv2.circle(cimg,(i[0],i[1]),2,(0,0,255),3)

#cv_show( 'cimg',cimg)

****************************************************************************************************

【A5】基于Python+OpenCV瓶口缺陷檢測

3、極坐標變化與反變換

為了消除瓶口外側部分帶來的干擾。進行極坐標變換,將極坐標中心設為圓心,極半徑為圓半徑;進行反變化,將瓶口放在原圖大小的原位置

****************************************************************************************************

'''極坐標變換'''

polarImg = cv2.warpPolar(bottle,(300,900),center,radius,

                         cv2.INTER_LINEAR + cv2.WARP_POLAR_LINEAR)

#cv_show('polarImg',polarImg)

'''反變換'''

b_bottle=cv2.warpPolar(polarImg,psp, center,radius,

                       cv2.INTER_LINEAR + cv2.WARP_POLAR_LINEAR + cv2.WARP_INVERSE_MAP)

#cv_show('b_bottle',b_bottle)

****************************************************************************************************

【A5】基于Python+OpenCV瓶口缺陷檢測

【A5】基于Python+OpenCV瓶口缺陷檢測

4、圖像處理

通過均值濾波消除干擾,閾值變換檢測瓶口的亮點,由于出現(xiàn)小白點的干擾,進行開運算處理,再進行膨脹,將缺陷區(qū)域聯(lián)通

【A5】基于Python+OpenCV瓶口缺陷檢測

5、輪廓檢測和缺陷判斷

尋找上圖的外接輪廓,遍歷這些輪廓,判斷是否在瓶口處,并將其在原圖上畫出;將缺陷記錄,判斷存在缺陷,在圖片上顯示NOT OK

****************************************************************************************************

'''找缺陷'''

contours,hierarchy = cv2.findContours(dilate, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)  #尋找輪廓

s_bottle=cv2.cvtColor(bottle, cv2.COLOR_GRAY2BGR)

counts=[]

for cnt in contours:

  (x, y, w, h) = cv2.boundingRect(cnt)  #獲取輪廓位置大小

# print(x, y, w, h)

  if x>circles_x1 and x<circles_x2 and y>circles_y1 and y<circles_y2 and (w>5 or h>5):  # 判斷輪廓是否在瓶口處

    cv2.drawContours(s_bottle,cnt,-1,(0,0,255),2)  # 繪制輪廓

    counts.append(cnt)  # 記錄缺陷

****************************************************************************************************

【A5】基于Python+OpenCV瓶口缺陷檢測

以上就是瓶口缺陷檢測的全部過程,其中還有不足,還達不到100%的成功

放上原圖和最后做完的效果

【A5】基于Python+OpenCV瓶口缺陷檢測

【A5】基于Python+OpenCV瓶口缺陷檢測

按需寫作:

【A5】基于Python+OpenCV瓶口缺陷檢測

演示視頻:

【A5】基于Python+OpenCV瓶口缺陷檢測

點擊查看:系統(tǒng)演示視頻

運行效果:

源代碼

./bottle_create.py 對框中瓶子進行檢查

【A5】基于Python+OpenCV瓶口缺陷檢測

./bottle_mouth.py 對瓶口缺陷進行檢測

【A5】基于Python+OpenCV瓶口缺陷檢測

源文件

./bottles 檢測的原圖像

./bottle 檢測完的圖像

遠程協(xié)助:

溫馨提示:索煒達.猿創(chuàng)官方提供收費遠程協(xié)助,確保您項目運行成功。

點擊查看:遠程協(xié)助相關事項

我們提供完整項目文件清單如下:

文件目錄

 ├ 1.項目源碼

 ├ 2.運行截圖

 └ 3.演示視頻

TAG瓶口
  • 6 次
  • 450 分