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

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

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

做計算機視覺方向,除了流行的各種深度學習算法,很多時候也要會基礎(chǔ)的圖像處理方法。

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

先上一張效果圖

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

圖四使用的是4點映射變換

簡單介紹下原理

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

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

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

求這個矩陣 在opencv中直接就有方法

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

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

因為只給三個點時 變換之后的圖其實只是原圖的等比縮放,并不能做到隨意映射的效果

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

代碼如下:

# coding=gbk
import cv2
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #用來正常顯示中文標簽
plt.rcParams['axes.unicode_minus']=False #用來正常顯示負號

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]])         #三點映射
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]])    #四點映射
pts32 = np.float32([[0, 0], [cols - 1, 0], [50, rows - 1],[cols - 50,rows-50]])

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

dst = cv2.warpAffine(img,M,(rows+120,cols))            #三點映射的變換函數(shù)
dst2 = cv2.warpAffine(img,M2,(rows,cols))            
dst3 = cv2.warpPerspective(img,M3,(rows+40,cols+50))          #四點映射的變換函數(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-圖像處理(映射變換)詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(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ù)的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • 基于Python解密仿射密碼

    基于Python解密仿射密碼

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

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

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

    爬蟲使用IP來隱藏真實地址的過程(python示例)

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

    Python中的Request請求重試機制

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

    Python 框架 FastAPI詳解

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

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

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

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

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

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

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

最新評論

阿克| 灵璧县| 泸州市| 通道| 盘山县| 东丽区| 长泰县| 五家渠市| 股票| 安溪县| 久治县| 盐山县| 新化县| 台中县| 望江县| 墨竹工卡县| 呼伦贝尔市| 白水县| 斗六市| 灵武市| 乌拉特中旗| 阳东县| 德钦县| 垫江县| 正阳县| 土默特左旗| 东海县| 肃北| 自治县| 西充县| 普兰店市| 霍州市| 灵川县| 海安县| 宜黄县| 汉沽区| 铜山县| 嘉禾县| 西青区| 阿拉善右旗| 沙田区|