《機(jī)器視覺系統(tǒng)應(yīng)用》課件-腰線瓷片檢測(cè)_第1頁(yè)
《機(jī)器視覺系統(tǒng)應(yīng)用》課件-腰線瓷片檢測(cè)_第2頁(yè)
《機(jī)器視覺系統(tǒng)應(yīng)用》課件-腰線瓷片檢測(cè)_第3頁(yè)
《機(jī)器視覺系統(tǒng)應(yīng)用》課件-腰線瓷片檢測(cè)_第4頁(yè)
《機(jī)器視覺系統(tǒng)應(yīng)用》課件-腰線瓷片檢測(cè)_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

腰線瓷片檢測(cè)程序運(yùn)行演示課程引入代碼分析代碼演示一二三目錄能力目標(biāo)檢測(cè)瓷磚是否有污漬,若有標(biāo)出污漬;獲得瓷磚的面積與周長(zhǎng)。知識(shí)目標(biāo)(1)圖像二值化(2)邊緣檢測(cè)(3)膨脹與腐蝕(4)圖像幾何特征獲取。課程目標(biāo)一課程引入中國(guó)是瓷器之國(guó),幾千年的歷史博大精深,從生產(chǎn)瓷器的那一天起,就有瓷片的產(chǎn)生,那時(shí)的人們?cè)跓拼善鲿r(shí),往往會(huì)產(chǎn)生大量的殘次品,而這些殘次品的命運(yùn),就是被埋入地下。尤其是官窯燒制瓷器中產(chǎn)生的大量瓷片,皇家有專門負(fù)責(zé)此項(xiàng)檢測(cè)瓷器燒制的官員,進(jìn)駐窯廠,監(jiān)督制作。而如今,我們不再需要人工去檢測(cè)了,我們運(yùn)用機(jī)器視覺技術(shù)去檢測(cè)瓷片的好壞。本文案的內(nèi)容為檢測(cè)瓷片是否有污漬,以及計(jì)算瓷片的面積與周長(zhǎng)。二代碼分析

在Opencv中可直接使用函數(shù)cv2.cvColor()將彩色圖像轉(zhuǎn)為其它類型的圖像。其語法格式為:dst=cv2.cvtColor(src,code[,dstCn])式中:dst表示輸出圖像,與原始輸入圖像具有同樣的數(shù)據(jù)類型和深度。Src表示原始輸入圖像??梢允?位無符號(hào)圖像、16位無符號(hào)圖像,或者單精度浮點(diǎn)數(shù)等。Code是色彩空間轉(zhuǎn)換碼,常用的有:cv2.COLOR_BGR2GRAY#彩色圖像轉(zhuǎn)換為灰度圖cv2.COLOR_GRAY2BGR#灰度圖像轉(zhuǎn)換為彩色圖cv2.COLOR_BGR2RGB#BGR彩色圖像轉(zhuǎn)換為RGB彩色圖dstCn是目標(biāo)圖像的通道數(shù)。如果參數(shù)為默認(rèn)的0,則通道數(shù)自動(dòng)通過原始輸入圖像和code得到。圖像灰度化二代碼分析

在Opencv中可使用cv2.threshold()函數(shù)進(jìn)行閾值化處理,該函數(shù)的語法格式為:Retval,dst=cv2.threshold(src,thresh,maxval,type)式中:retval代表返回的閾值。dst代表閾值分割結(jié)果圖像,與原始圖像具有相同的大小和類型。src代表要進(jìn)行閾值分割的圖像,可以是多通道的,8位或32位浮點(diǎn)型數(shù)值。thresh代表要設(shè)定的閾值。maxval代表當(dāng)type參數(shù)為THRESH_BINARY或者THRESH_BINARY_INV類型時(shí),需要設(shè)定的最大值。type代表閾值分割的類型,具體類型值如表3-1所示。圖像二值化

二代碼分析

在Opencv中可直接使用函數(shù)cv2.cvColor()將彩色圖像轉(zhuǎn)為其它類型的圖像。其語法格式為:dst=cv2.cvtColor(src,code[,dstCn])式中:dst表示輸出圖像,與原始輸入圖像具有同樣的數(shù)據(jù)類型和深度。Src表示原始輸入圖像??梢允?位無符號(hào)圖像、16位無符號(hào)圖像,或者單精度浮點(diǎn)數(shù)等。Code是色彩空間轉(zhuǎn)換碼,常用的有:cv2.COLOR_BGR2GRAY#彩色圖像轉(zhuǎn)換為灰度圖cv2.COLOR_GRAY2BGR#灰度圖像轉(zhuǎn)換為彩色圖cv2.COLOR_BGR2RGB#BGR彩色圖像轉(zhuǎn)換為RGB彩色圖dstCn是目標(biāo)圖像的通道數(shù)。如果參數(shù)為默認(rèn)的0,則通道數(shù)自動(dòng)通過原始輸入圖像和code得到。圖像灰度化二代碼分析Canny邊緣檢測(cè)Opencv提供了函數(shù)cv2.Canny()來實(shí)現(xiàn)Canny邊緣檢測(cè),其語法形式如下:Edges=cv2.Canny(image,threshold1,threshold2[,apertureSize[,L2gradient]])式中:edges為計(jì)算得到的邊緣圖像。image為8位輸入圖像。threshold1表示處理過程中的第一個(gè)閾值。threshold2表示處理過程中第二個(gè)閾值。apertureSize表示Sobel算子的孔徑大小。L2gradient為計(jì)算圖像梯度幅度(gradientmagnitude)的標(biāo)識(shí)。其默認(rèn)值為False。如果為True,則使用更精確的L2范數(shù)進(jìn)行計(jì)算(即兩個(gè)方向的導(dǎo)數(shù)的平方和再開方),否則使用L1范數(shù)(直接將兩個(gè)方向?qū)?shù)的絕對(duì)值相加)。

二代碼分析一個(gè)輪廓對(duì)應(yīng)著一系列的點(diǎn),這些點(diǎn)以某種方式表示圖像中的一條曲線。在Opencv中,函數(shù)cv2.findContours()用于查找圖像的輪廓,并能夠根據(jù)參數(shù)返回特定表示方式的輪廓(曲線)。函數(shù)cv2.drawContours()能夠?qū)⒉檎业降妮喞L制到圖像上,該函數(shù)可以根據(jù)參數(shù)在圖像上繪制不同樣式(實(shí)心/空心點(diǎn),以及線條的不同粗細(xì)、顏色等)的輪廓,可以繪制全部輪廓也可以僅繪制制定的輪廓。函數(shù)cv2.findContours()的語法格式為:image,contours,hierarchy=cv2.findContours(image,mode,method)式中的返回值為:image:與函數(shù)參數(shù)中的原始圖像image一致。contours:返回的輪廓。hierarchy:圖像的拓?fù)湫畔ⅲㄝ喞獙哟危?。式中的參?shù)為:image:原始圖像。8位單通道圖像,所以非零值被處理為1,所有零值保持不變。也就是說灰度圖像會(huì)被自動(dòng)處理為二值圖像。在實(shí)際操作時(shí),可以根據(jù)需要,預(yù)先使用閾值處理等函數(shù)將待查找輪廓的圖像處理為二值圖像。mode:輪廓檢索模式。method:輪廓的近似方法。輪廓提取

二代碼分析函數(shù)cv2.drawContours()的語法格式是:image=cv2.drawCountours(image,contours,contourIdx,color[,thickness[,lineType[,hierarchy[,maxLevel[,offset]]]]])其中,函數(shù)的返回值為image,表示目標(biāo)圖像,即繪制了邊緣的原始圖像。式中:image:待繪制輪廓的圖像。contours:需要繪制的輪廓。contourIdx:需要繪制的邊緣索引,告訴函數(shù)cv2.drawContours()要繪制某一條輪廓還是全部輪廓。color:繪制的顏色,用BGR格式表示。thickness:可選參數(shù),表示繪制輪廓時(shí)所用畫筆的粗細(xì)。lineType:可選參數(shù),表示繪制輪廓時(shí)所用的線型。hierarchy:對(duì)應(yīng)函數(shù)cv2.drawContours()所輸出的層次信息。maxLevel:控制所繪制的輪廓層次的深度。Offset:偏移參數(shù)。該參數(shù)使輪廓偏移到不同的位置展現(xiàn)出來。輪廓提取

三代碼演示三代碼演示gray=cv2.cvtColor(new_img,cv2.COLOR_BGR2GRAY)_,binary=cv2.threshold(gray,85,255,cv2.THRESH_BINARY)dst=cv2.bitwise_not(binary)

原圖

二值化處理后三代碼演示kernel=cv2.getStructuringElement(cv2.MORPH_RECT,(4,4))dst=cv2.morphologyEx(dst,cv2.MORPH_OPEN,kernel)#cv2.imshow('dst2',dst)

二值化處理

開運(yùn)算處理后三代碼演示blurred=cv2.GaussianBlur(image,(3,3),0)gray=cv2.cvtColor(blurred,cv2.COLOR_BGR2GRAY)dst=cv2.Canny(gray,15,45)

原圖

Canny邊緣處理三代碼演示font=cv2.FONT_HERSHEY_SIMPLEX#正常字體大小cv2.putText(img,'perimeter:'+str(perimeter),(0,15),font,0.5,(0,0,0))cv2.putText(img,'area:'+str(area),(0,30),font,0.5,(0,0,0))cv2.imshow("img",img)

原圖

最終結(jié)果腰線瓷片檢測(cè)方法講解課程引入相關(guān)庫(kù)的獲取和導(dǎo)入原理分析一二三目錄能力目標(biāo)檢測(cè)瓷磚是否有污漬,若有標(biāo)出污漬;獲得瓷磚的面積與周長(zhǎng)。知識(shí)目標(biāo)(1)圖像二值化(2)邊緣檢測(cè)(3)膨脹與腐蝕(4)圖像幾何特征獲取。課程目標(biāo)一課程引入中國(guó)是瓷器之國(guó),幾千年的歷史博大精深,從生產(chǎn)瓷器的那一天起,就有瓷片的產(chǎn)生,那時(shí)的人們?cè)跓拼善鲿r(shí),往往會(huì)產(chǎn)生大量的殘次品,而這些殘次品的命運(yùn),就是被埋入地下。尤其是官窯燒制瓷器中產(chǎn)生的大量瓷片,皇家有專門負(fù)責(zé)此項(xiàng)檢測(cè)瓷器燒制的官員,進(jìn)駐窯廠,監(jiān)督制作。而如今,我們不再需要人工去檢測(cè)了,我們運(yùn)用機(jī)器視覺技術(shù)去檢測(cè)瓷片的好壞。本文案的內(nèi)容為檢測(cè)瓷片是否有污漬,以及計(jì)算瓷片的面積與周長(zhǎng)。二相關(guān)庫(kù)獲取和導(dǎo)入導(dǎo)入庫(kù)本章節(jié)我們需用到的庫(kù)如下圖示意。cv2是opencv-python用于圖像處理。

numpy是Python的一種開源的數(shù)值計(jì)算擴(kuò)展。這種工具可用來存儲(chǔ)和處理大型矩陣,比Python自身的嵌套列表(nestedliststructure)結(jié)構(gòu)要高效的多(該結(jié)構(gòu)也可以用來表示矩陣(matrix)),支持大量的維度數(shù)組與矩陣運(yùn)算,此外也針對(duì)數(shù)組運(yùn)算提供大量的數(shù)學(xué)函數(shù)庫(kù)。三原理分析

車牌圖像的采集一般是通過數(shù)碼相機(jī)或者攝像機(jī)進(jìn)行的,得到的圖片一般是RGB圖像,即真彩圖像。根據(jù)三基色原理,每種顏色都可以由紅、綠、藍(lán)三種基色按不同的比例構(gòu)成,所以車牌圖像的每個(gè)像素都由3個(gè)數(shù)值來指定紅、綠、藍(lán)的顏色分量?;叶葓D像實(shí)際上是一個(gè)數(shù)據(jù)矩陣I,該矩陣中每個(gè)元素的數(shù)值都代表一定范圍內(nèi)的亮度值,矩陣I可以是整型或者是雙精度,通常0代表黑色,255代表白色。在RGB模型中,如果R=G=B,則表示一種灰度顏色。其中,R=G=B的值叫灰度值,由彩色轉(zhuǎn)為灰度的過程叫作圖像灰度化處理。因此,灰度圖像是指只有強(qiáng)度信息而沒有顏色信息的圖像。一般而言,可采用加權(quán)平均值法對(duì)原始RGB圖像進(jìn)行灰度化處理,該方法的主要思想是從原圖像中取R、G、B各層的像素值經(jīng)過加權(quán)求和得到灰度圖的亮度值。圖像灰度化三原理分析

灰度圖像二值化在圖像處理的過程中有著很重要的作用,圖像二值化處理不僅能使數(shù)據(jù)量大幅減少,還能突出圖像的目標(biāo)輪廓,便于進(jìn)行后續(xù)的圖像處理與分析。對(duì)車牌灰度圖像而言,所謂的二值化處理就是將其像素點(diǎn)的灰度值設(shè)置為0或255,從而讓整幅圖片呈現(xiàn)黑白效果。因此,對(duì)灰度圖像進(jìn)行適當(dāng)?shù)拈撝颠x取,可以在圖像二值化的過程中保留某些關(guān)鍵的圖像特征。在車牌圖像二值化的過程中,灰度大于或等于閾值的像素點(diǎn)被判定為目標(biāo)區(qū)域,其灰度值用255表示;否則這些像素點(diǎn)被判定為背景或噪聲而排除在目標(biāo)區(qū)域以外,其灰度值用0表示。

圖像二值化是指在整幅圖像內(nèi)僅保留黑、白二值的數(shù)值矩陣,每個(gè)像素都取兩個(gè)離散數(shù)值(0或1)之一,其中0代表黑色,1代表白色。在車牌圖像處理系統(tǒng)中,進(jìn)行圖像二值化的關(guān)鍵是選擇合適的閾值,使得車牌字符與背景能夠得到有效分割。采用不同的閾值設(shè)定方法對(duì)車牌圖像進(jìn)行處理也會(huì)產(chǎn)生不同的二值化處理結(jié)果;閾值設(shè)置得過小,則容易誤分割,產(chǎn)生噪聲,影響二值變換的準(zhǔn)確度;閾值設(shè)置得過大,則容易過分割,降低分辨率,使非噪聲信號(hào)被視為噪聲而被過濾,造成二值變換的目標(biāo)損失。圖像二值化三原理分析Canny邊緣檢測(cè)

Canny邊緣檢測(cè)是一種非常流行的邊緣檢測(cè)算法。它是一個(gè)多階段的算法,即由多個(gè)步驟構(gòu)成:圖像降噪;計(jì)算圖像梯度;非極大值抑制;閾值篩選;首先,圖像降噪。我們知道梯度算子可以用于增強(qiáng)圖像,本質(zhì)上是通過增強(qiáng)邊緣輪廓來實(shí)現(xiàn)的,也就是說是可以檢測(cè)到邊緣的。但是,它們受噪聲的影響都很大。那么,我們第一步就是想到要先去除噪聲,因?yàn)樵肼暰褪腔叶茸兓艽蟮牡胤剑匀菀妆蛔R(shí)別為偽邊緣。第二步,計(jì)算圖像梯度,得到可能邊緣。我們?cè)谇懊娴年P(guān)于《圖像梯度》文章中有所介紹,計(jì)算圖像梯度能夠得到圖像的邊緣,因?yàn)樘荻仁腔叶茸兓黠@的地方,而邊緣也是灰度變化明顯的地方。當(dāng)然這一步只能得到可能的邊緣。因?yàn)榛叶茸兓牡胤娇赡苁沁吘墸部赡懿皇沁?/p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論