日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

python+opencv圖像處理(十)

 pythonjava學(xué)習(xí) 2021-04-06

圖像旋轉(zhuǎn)

本篇主要利用opencv的轉(zhuǎn)換函數(shù)warpAffine實現(xiàn)圖像的平移和旋轉(zhuǎn)。
1、圖像旋轉(zhuǎn)
圖像旋轉(zhuǎn)即是根據(jù)某個中心點進(jìn)行旋轉(zhuǎn)。
要進(jìn)行旋轉(zhuǎn),要找到中心點,要知道旋轉(zhuǎn)角度,opencv提供了函數(shù)cv2.getRotationMatrix2D來構(gòu)造變換矩陣,然后將其傳給warpAffine函數(shù)進(jìn)行變換。
如下圖所示,左圖為原圖,右圖是旋轉(zhuǎn)45度后的圖。

其代碼如下:
import cv2
import numpy as np
img = cv2.imread('E:/image/le.jpg',0)
rows,cols = img.shape
center=((cols-1)/2,(rows-1)/2)
M = cv2.getRotationMatrix2D(center,45,1)#定義旋轉(zhuǎn)矩陣,第一個參數(shù)是中心點,第二個參數(shù)是旋轉(zhuǎn)角度,第三個參數(shù)是縮放比例
dst = cv2.warpAffine(img,M,(cols,rows),borderValue=200)#進(jìn)行變換,第一個參數(shù)是原圖,第二個參數(shù)是變換矩陣,第三個參數(shù)是變換后的圖像尺寸大小,第四個參數(shù)可省,為邊界填充值,默認(rèn)為0
cv2.imshow('img',img)
cv2.imshow('dst',dst)
cv2.waitKey(0)
cv2.destroyAllWindows()
以下為旋轉(zhuǎn)90度和180度的圖,邊界未填充,故為黑色。

以下為旋轉(zhuǎn)-45度,-90度的結(jié)果圖。

此函數(shù)也可用于彩色圖像,如下圖所示,左圖為原圖,右圖為旋轉(zhuǎn)-45度后的圖,中心點都是原圖的中心點。

2、圖像平移
移是對象位置的轉(zhuǎn)換,其實就是偏移(x,y)的值,可以構(gòu)造矩陣M,并應(yīng)用warpAffine函數(shù)進(jìn)行平移。
如下圖所示,左圖為原圖,右圖為平移后的圖。

其代碼如下:
import cv2
import numpy as np
img = cv2.imread('E:/image/le.jpg',0)
rows,cols = img.shape
M = np.float32([[1,0,100],[0,1,50]])#定義變換矩陣
dst = cv2.warpAffine(img,M,(cols,rows))#仿射變換函數(shù)進(jìn)行變換,第一個參數(shù)是原圖,第二個參數(shù)是變換矩陣,第三個是輸出圖像的大小
cv2.imshow('img',img)
cv2.imshow('dst',dst)
cv2.waitKey(0)
cv2.destroyAllWindows()
3、函數(shù)cv2.warpAffine。

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多