《機器視覺系統(tǒng)應(yīng)用》課件-膠囊藥品檢測_第1頁
《機器視覺系統(tǒng)應(yīng)用》課件-膠囊藥品檢測_第2頁
《機器視覺系統(tǒng)應(yīng)用》課件-膠囊藥品檢測_第3頁
《機器視覺系統(tǒng)應(yīng)用》課件-膠囊藥品檢測_第4頁
《機器視覺系統(tǒng)應(yīng)用》課件-膠囊藥品檢測_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

膠囊檢測方法講解課程引入相關(guān)庫的獲取和導(dǎo)入原理分析一二三目錄能力目標(1)能夠完成對膠囊個數(shù)的計算。知識目標(1)了解膠囊識別原理。素質(zhì)目標(1)具有嚴謹求實精神;(2)具有自主學習的能力;(3)具備5S職業(yè)素養(yǎng)。課程目標一課程引入藥品的數(shù)量檢測是藥品檢測的重要環(huán)節(jié)之一,由于其需求量大,質(zhì)量檢測要求高,以目前的人力方式檢測總具有不穩(wěn)定性,缺乏持久度。為此,采用機器視覺技術(shù)應(yīng)用于藥品的數(shù)量檢測可以克服人工檢測的許多弊端,并提高了其準確度與工作效率,同時也能降低企業(yè)的成本。本例程實現(xiàn)了一個簡單的檢測計算膠囊個數(shù)的方法。二相關(guān)庫獲取和導(dǎo)入導(dǎo)入庫本章節(jié)我們需用到的庫如下圖示意分別是cv2、numpy。cv2是opencv-python用于圖像處理。numpy是Python的一種開源的數(shù)值計算擴展。這種工具可用來存儲和處理大型矩陣,比Python自身的嵌套列表(nestedliststructure)結(jié)構(gòu)要高效的多(該結(jié)構(gòu)也可以用來表示矩陣(matrix)),支持大量的維度數(shù)組與矩陣運算,此外也針對數(shù)組運算提供大量的數(shù)學函數(shù)庫。二庫導(dǎo)入pycharm軟件界面相關(guān)庫獲取和導(dǎo)入三原理分析圖像二值化就是將圖像上的像素點的灰度值設(shè)置為0或255,也就是將整個圖像呈現(xiàn)出明顯的黑白效果的過程。圖像的二值化使圖像中數(shù)據(jù)量大為減少,從而能凸顯出目標的輪廓。三原理分析圖像二值化的一些方法:三原理分析總結(jié):cv2.THRESH_BINARY當像素值>閥值時,為默認值;否則為0cv2.THRESH_BINARY_INV與cv2.THRESH_BINARY相反cv2.THRESH_TRUNC當像素值>閥值時,為默認值;否則為原圖片值cv2.THRESH_TOZERO當像素值>閥值時,為原圖片值;否則為0cv2.THRESH_TOZERO_INV與cv2.THRESH_TOZERO相反三原理分析閉操作原理:閉操作:即先膨脹,然后對膨脹后的結(jié)果進行腐蝕膠囊檢測運行演示課程引入代碼分析代碼演示一二三目錄一課程引入藥品的數(shù)量檢測是藥品檢測的重要環(huán)節(jié)之一,由于其需求量大,質(zhì)量檢測要求高,以目前的人力方式檢測總具有不穩(wěn)定性,缺乏持久度。為此,采用機器視覺技術(shù)應(yīng)用于藥品的數(shù)量檢測可以克服人工檢測的許多弊端,并提高了其準確度與工作效率,同時也能降低企業(yè)的成本。本例程實現(xiàn)了一個簡單的檢測計算膠囊個數(shù)的方法。二代碼分析

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

二代碼分析

1)在Opencv中,使用函數(shù)cv2.erode()實現(xiàn)腐蝕操作,其語法格式為:dst=cv2.erode(src,kernel[,anchor[,iterations[,borderType[,borderValue]]]])式中:dst是腐蝕后所輸出的目標圖像,該圖像和原始圖像具有同樣的類型和大小。src是需要進行腐蝕的原始圖像。kernel代表腐蝕操作時所采用的結(jié)構(gòu)類型。anchor代表element結(jié)構(gòu)中錨點的位置。該值默認為(-1,-1),在核的中心位置。iterations是腐蝕操作迭代的次數(shù),該值默認為1,即只進行一次腐蝕的操作。borderType代表邊界樣式。borderValue是邊界值,一般采用默認值。2)在Opencv中,使用函數(shù)cv2.dilate()實現(xiàn)膨脹操作,其語法格式為:dst=cv2.dilate(src,kernel[,anchor[,iterations[,borderType[,borderValue]]]])式中的參數(shù)與腐蝕里的參數(shù)一致。3)在Opencv中,實現(xiàn)開運算的語法格式為:Opening=cv2.morphologyEx(img,cv2.MORPH_OPEN,kernel)4)在Opencv中,實現(xiàn)閉運算的語法格式為:Closing=cv2.morphologyEx(img,cv2.MORPH_CLOSE,kernel)形態(tài)學運算

三代碼演示三代碼演示灰度圖用cv2.THRESH_BINARY方法二值化gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)#轉(zhuǎn)成灰度圖cv2.imshow('gray',gray)ret,binary=cv2.threshold(gray,200,255,cv2.THRESH_BINARY)#二值化cv2.imshow('binay',binary)三代碼演示閉操作binary=cv2.morphologyEx(binary,cv2.MORPH_CLOSE,kernel,anchor=(2,0),iterations=5)#形態(tài)學閉操作cv2.imshow('close',binary)三代碼演示結(jié)果contours,hierarchy=cv2.findContours(binary,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)#找邊沿conts=np.size(contours)cv2.drawContours(img,contours,-1,(0,0,255),3)#畫出邊沿print("有%s個膠囊"%conts)data=("Thereare%scapsulesinthepicture"

溫馨提示

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

評論

0/150

提交評論