Python圖像處理之透視變換的實(shí)戰(zhàn)應(yīng)用_第1頁
Python圖像處理之透視變換的實(shí)戰(zhàn)應(yīng)用_第2頁
Python圖像處理之透視變換的實(shí)戰(zhàn)應(yīng)用_第3頁
Python圖像處理之透視變換的實(shí)戰(zhàn)應(yīng)用_第4頁
Python圖像處理之透視變換的實(shí)戰(zhàn)應(yīng)用_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

第Python圖像處理之透視變換的實(shí)戰(zhàn)應(yīng)用目錄1引言2公式3舉例4應(yīng)用4.1讀入圖像4.2挑選源圖四個(gè)點(diǎn)4.3進(jìn)行透視變換5應(yīng)用6總結(jié)

1引言

如果你想對圖像進(jìn)行校準(zhǔn),那么透視變換是非常有效的變換手段。透視變換的定義為將圖像投影到一個(gè)新的視平面,通常也被稱之為投影映射。

2公式

一般來說,通用的圖像變換公式如下所示:

上述公式中,u,v代表原始圖像坐標(biāo),x,y為經(jīng)過透視變換的圖片坐標(biāo),其中變換矩陣為3X3形式。進(jìn)而可以得到:

3舉例

在介紹opencv的透視變換函數(shù)之前,我們舉例來講解該算法的原理:

直觀的來看,透視變換的作用就是將左側(cè)圖像的坐標(biāo)點(diǎn)

[[50,0],[150,0],[0,200],[200,200]]

轉(zhuǎn)化為新的坐標(biāo)

[[0,0],[200,0],[0,200],[200,200]]

通過計(jì)算我們知道,轉(zhuǎn)換矩陣如下:

我們來驗(yàn)證一下,采用左上角的點(diǎn)(50,0)帶入公式,如下:

接著我們將列向量的前兩維度除以第三維執(zhí)行歸一化:

所以我們知道原圖左上角點(diǎn)執(zhí)行透視變換后的映射關(guān)系:

4應(yīng)用

本文以撲克牌的例子來進(jìn)行講解,樣例結(jié)果如下:

4.1讀入圖像

首先我們來讀入一副彩色圖像,如下:

importcv2

importnumpyasnp

img=cv2.imread("image/sample.jpg")

h,w,c=img.shape#h=240w=320

4.2挑選源圖四個(gè)點(diǎn)

接著我們需要挑選四個(gè)點(diǎn),我們這里采用左上,左下,右下和右上,下面的代碼把我們挑選的四個(gè)點(diǎn)畫到圖像上

src_list=[(61,70),(151,217),(269,143),(160,29)]

fori,ptinenumerate(src_list):

cv2.circle(img,pt,5,(0,0,255),-1)

cv2.putText(img,str(i+1),(pt[0]+5,pt[1]+10),cv2.FONT_HERSHEY_SIMPLEX,0.5,(0,0,255),2)

pts1=np.float32(src_list)

結(jié)果如下:

4.3進(jìn)行透視變換

首先選擇四個(gè)目的圖像上的點(diǎn),然后調(diào)用openv函數(shù)進(jìn)行透視變換,代碼如下:

pts2=np.float32([[0,0],[0,w-2],[h-2,w-2],[h-2,0]])

matrix=cv2.getPerspectiveTransform(pts1,pts2)

result=cv2.warpPerspective(img,matrix,(h,w))

cv2.imshow("Image",img)

cv2.imshow("Perspectivetransformation",result)

cv2.waitKey(0)

得到結(jié)果如下:

5應(yīng)用

我們在實(shí)際應(yīng)用中,可以使用透視變換來替換廣告牌中對應(yīng)的背景圖,結(jié)果如下:

廣告牌:

Logo圖:

結(jié)果圖

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論