最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解python-圖像處理(映射變換)

 更新時(shí)間:2019年03月22日 09:38:44   作者:劍峰隨心  
這篇文章主要介紹了python-圖像處理(映射變換),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

做計(jì)算機(jī)視覺(jué)方向,除了流行的各種深度學(xué)習(xí)算法,很多時(shí)候也要會(huì)基礎(chǔ)的圖像處理方法。

記錄下opencv的一些操作(圖像映射變換),日后可以方便使用

先上一張效果圖

圖二和圖三是同一種方法,只是變換矩陣不同,都是3點(diǎn)映射變換

圖四使用的是4點(diǎn)映射變換

簡(jiǎn)單介紹下原理

圖像都知道是3維(通道)的矩陣,前兩維就是由1字節(jié)(0-255)數(shù)字填充的二維數(shù)組。數(shù)字大小代表顏色的深淺。

我們把變換前的原圖作為x和y。變換后的圖為u和v。將[x,y,1]乘上變換矩陣就可以得到對(duì)應(yīng)的新的u和v。不同的變換矩陣有不同的作用(不同的變換方式)

所以現(xiàn)在就是求不同變換對(duì)應(yīng)的不同的變換矩陣的過(guò)程

求這個(gè)矩陣 在opencv中直接就有方法

只需提供原圖的三個(gè)點(diǎn)和你要變換之后的三個(gè)點(diǎn)的映射位置(3個(gè)原圖點(diǎn),3個(gè)映射點(diǎn))就可以求出這個(gè)變換矩陣

當(dāng)然了 你會(huì)發(fā)現(xiàn)不管怎么調(diào)整映射點(diǎn) 都不能任意變換

因?yàn)橹唤o三個(gè)點(diǎn)時(shí) 變換之后的圖其實(shí)只是原圖的等比縮放,并不能做到隨意映射的效果

這里opencv也提供了 四個(gè)點(diǎn)和四個(gè)映射的方法 求出對(duì)應(yīng)的變換矩陣 ,最終得到任意映射的效果

代碼如下:

# coding=gbk
import cv2
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #用來(lái)正常顯示中文標(biāo)簽
plt.rcParams['axes.unicode_minus']=False #用來(lái)正常顯示負(fù)號(hào)

img=cv2.imread(r"test6.jpg")
img = img[:,:,[2,1,0]]
cols,rows,ch=img.shape

pts1 = np.float32([[0, 0], [cols - 1, 0], [0, rows - 1]])         #三點(diǎn)映射
pts2 = np.float32([[0, 0], [cols - 1, 0], [80, rows - 1]])
pts21 = np.float32([[0, 0], [cols - 1, 0], [0, rows - 1]])
pts22 = np.float32([[cols * 0.2, rows * 0.1], [cols * 0.9, rows * 0.2], [cols * 0.1, rows * 0.9]])
pts31 = np.float32([[0, 0], [cols - 1, 0], [0, rows - 1],[cols - 1,rows-1]])    #四點(diǎn)映射
pts32 = np.float32([[0, 0], [cols - 1, 0], [50, rows - 1],[cols - 50,rows-50]])

M = cv2.getAffineTransform(pts1,pts2)              #求三點(diǎn)映射的變換矩陣
M2= cv2.getAffineTransform(pts21,pts22)
M3 = cv2.getPerspectiveTransform(pts31,pts32)            #求四點(diǎn)映射的變換矩陣

dst = cv2.warpAffine(img,M,(rows+120,cols))            #三點(diǎn)映射的變換函數(shù)
dst2 = cv2.warpAffine(img,M2,(rows,cols))            
dst3 = cv2.warpPerspective(img,M3,(rows+40,cols+50))          #四點(diǎn)映射的變換函數(shù)

plt.subplot(221)
plt.imshow(img)
plt.title("原圖")
plt.subplot(222)
plt.imshow(dst)
plt.title("投影變換")
plt.subplot(223)
plt.imshow(dst2)
plt.title("仿射原圖變換")
plt.subplot(224)
plt.imshow(dst3)
plt.title("仿射不規(guī)則變換")

plt.show()

以上所述是小編給大家介紹的python-圖像處理(映射變換)詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 下載安裝setuptool和pip linux安裝pip

    下載安裝setuptool和pip linux安裝pip

    這篇文章主要介紹了linux上安裝python組件pip,依賴wget,目前還不夠智能,大家參考使用吧
    2014-01-01
  • numpy 中l(wèi)inspace函數(shù)的使用

    numpy 中l(wèi)inspace函數(shù)的使用

    本文主要介紹了numpy 中l(wèi)inspace函數(shù)的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • 基于Python解密仿射密碼

    基于Python解密仿射密碼

    這篇文章主要介紹了基于Python解密仿射密碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • Python中的getter與setter及deleter使用示例講解

    Python中的getter與setter及deleter使用示例講解

    這篇文章主要介紹了Python中的getter與setter及deleter使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2023-01-01
  • 爬蟲(chóng)使用IP來(lái)隱藏真實(shí)地址的過(guò)程(python示例)

    爬蟲(chóng)使用IP來(lái)隱藏真實(shí)地址的過(guò)程(python示例)

    這篇文章主要為大家介紹了爬蟲(chóng)使用IP來(lái)隱藏真實(shí)地址的過(guò)程(python示例)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • Python中的Request請(qǐng)求重試機(jī)制

    Python中的Request請(qǐng)求重試機(jī)制

    這篇文章主要介紹了Python中的Request請(qǐng)求重試機(jī)制,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • Python 框架 FastAPI詳解

    Python 框架 FastAPI詳解

    FastAPI 是一個(gè)現(xiàn)代、快速且高性能的 Web 框架,用于 Python 3.6+,基于 Python 類(lèi)型提示構(gòu)建 API,它通過(guò) Starlette 和 Pydantic 優(yōu)化,支持多種 HTTP 方法、異步編程、數(shù)據(jù)驗(yàn)證和自動(dòng)生成交互式文檔,FastAPI 適合快速開(kāi)發(fā)高性能、可擴(kuò)展的 Web 服務(wù)
    2024-11-11
  • python 隨機(jī)數(shù)生成的代碼的詳細(xì)分析

    python 隨機(jī)數(shù)生成的代碼的詳細(xì)分析

    如果你對(duì)python隨機(jī)數(shù)生成的實(shí)際應(yīng)用有不解之處,你就可以通過(guò)以下的內(nèi)容對(duì)其進(jìn)行了解,以下十九相關(guān)內(nèi)容的介紹
    2011-05-05
  • python實(shí)現(xiàn)從文件中讀取數(shù)據(jù)并繪制成 x y 軸圖形的方法

    python實(shí)現(xiàn)從文件中讀取數(shù)據(jù)并繪制成 x y 軸圖形的方法

    今天小編就為大家分享一篇python實(shí)現(xiàn)從文件中讀取數(shù)據(jù)并繪制成 x y 軸圖形的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • 簡(jiǎn)單了解python關(guān)系(比較)運(yùn)算符

    簡(jiǎn)單了解python關(guān)系(比較)運(yùn)算符

    這篇文章主要介紹了簡(jiǎn)單了解python關(guān)系(比較)運(yùn)算符,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07

最新評(píng)論

万盛区| 高唐县| 英山县| 宜州市| 金川县| 盖州市| 霸州市| 无极县| 泾阳县| 双鸭山市| 沙坪坝区| 秦皇岛市| 苏州市| 浙江省| 柳江县| 潮州市| 贵溪市| 湟中县| 柳林县| 含山县| 墨脱县| 梁河县| 宁河县| 化州市| 承德市| 平定县| 荆州市| 徐州市| 莱州市| 南阳市| 金寨县| 鹿泉市| 丁青县| 固原市| 天峻县| 观塘区| 贺州市| 古交市| 册亨县| 临海市| 东山县|