《機器視覺系統(tǒng)應用》課件-名片檢測程序運行演示_第1頁
《機器視覺系統(tǒng)應用》課件-名片檢測程序運行演示_第2頁
《機器視覺系統(tǒng)應用》課件-名片檢測程序運行演示_第3頁
《機器視覺系統(tǒng)應用》課件-名片檢測程序運行演示_第4頁
《機器視覺系統(tǒng)應用》課件-名片檢測程序運行演示_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

名片檢測程序運行演示課程引入代碼分析代碼演示一二三目錄能力目標提取名片區(qū)域,將圖片中名片的部分截取出來知識目標(1)圖像二值化;(2)邊緣提?。唬?)求外接矩形。(4)圖片旋轉(zhuǎn)課程目標一課程引入名片是標示姓名及其所屬組織、公司單位和聯(lián)系方法的紙片,名片是新朋友互相認識、自我介紹的最快有效的方法。名片上存在著大量有用信息,但是常常由于名片數(shù)量多了或者存放久遠,難以查找的到想要獲取的名片,因此本案例設計了一個名片檢測的方法,為名片查找提供基礎(chǔ)。二代碼分析

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

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

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

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

二代碼分析擺正圖片

在使用函數(shù)cv2.warpAffine()對圖像進行旋轉(zhuǎn)時,可以通過函數(shù)cv2.getRotationMatrix2D()獲取轉(zhuǎn)換矩陣。該函數(shù)的語法格式為:retval=cv2.getRotationMatrix2D(center,angle,scale)式中:center為旋轉(zhuǎn)的中心點。angle為旋轉(zhuǎn)角度,正數(shù)表示逆時針旋轉(zhuǎn),負數(shù)表示順時針旋轉(zhuǎn)。scale為變換尺度(縮放大小)二代碼分析繪制矩形邊框

Opencv提供了函數(shù)cv2.rectangle()用來繪制矩形。該函數(shù)的語法格式為:img=cv2.rectangle(img,pt1,pt2,color[,thickness[,lineType]])式中:img:在其上面繪制圖像的載體圖像。color:繪制形狀的顏色。thickness:線條的粗細。默認值是1,如果設置為-1,表示填充圖形。lineType:線條的類型,默認是8連接類型。pt1:矩形頂點pt2:矩形中與pt1對角的頂點二代碼分析裁剪圖片

利用數(shù)組切片的方式獲取需要裁剪的圖片范圍。這里需要注意的是切片給出的坐標為需要裁剪的圖片在原圖片上的坐標,順序為[y0:y1,x0:x1],其中原圖的左上角是坐標原點。執(zhí)行img=img[y0:y1,x0:x1],即:切割y0y1、y0x0、x0x1、y1x1所組成的矩形。img=common.import_img(path)new_img=common.import_img(path)gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)#轉(zhuǎn)成灰度圖_,binary=cv2.threshold(gray,64,255,cv2.THRESH_BINARY)#二值化灰度圖二值圖圖像二值化三代碼演示#找邊沿

contours,_=cv2.findContours(binary,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_NONE)#畫出邊沿

cv2.drawContours(new_img,contours,-1,(0,0,255),3)二值圖輪廓提取圖輪廓提取三代碼演示#矩形,旋轉(zhuǎn)rect=cv2.minAreaRect(contours[0])box=cv2.boxPoints(rect)box=0(box)cv2.drawContours(new_img,[box],0,(0,255,255),2)d_c1=box[0]-box[1]#計算夾角degree_a=np.arctan(d_c1[1]/d_c1[0])degree_a=degree_a*180/np.pi#擺正圖像new_img=common.rotate(img,degree_a,1)img_1=new_img.copy()gray2=cv2.cvtColor(img_1,cv2.COLOR_BGR2GRAY)#轉(zhuǎn)成灰度圖_,binary2=cv2.threshold(gray2,64,255,cv2.THRESH_BINARY)#二值化contours2,_=cv2.findContours(binary2,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_NONE)#找邊沿cv2.drawContours(new_img,contours2,-1,(0,0,255),3)#畫出邊沿擺正圖像三代碼演示#外接正矩形x,y,w,h=cv2.boundingRect(contours2[0])cv2.rectangle(new_img,(x,y),(x+w,y+h),(0

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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

提交評論