小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

python+opencv圖像處理(十)

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

圖像旋轉(zhuǎn)

本篇主要利用opencv的轉(zhuǎn)換函數(shù)warpAffine實(shí)現(xiàn)圖像的平移和旋轉(zhuǎn)。
1、圖像旋轉(zhuǎn)
圖像旋轉(zhuǎn)即是根據(jù)某個(gè)中心點(diǎn)進(jìn)行旋轉(zhuǎn)。
要進(jìn)行旋轉(zhuǎn),要找到中心點(diǎn),要知道旋轉(zhuǎn)角度,opencv提供了函數(shù)cv2.getRotationMatrix2D來(lái)構(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)矩陣,第一個(gè)參數(shù)是中心點(diǎn),第二個(gè)參數(shù)是旋轉(zhuǎn)角度,第三個(gè)參數(shù)是縮放比例
dst = cv2.warpAffine(img,M,(cols,rows),borderValue=200)#進(jìn)行變換,第一個(gè)參數(shù)是原圖,第二個(gè)參數(shù)是變換矩陣,第三個(gè)參數(shù)是變換后的圖像尺寸大小,第四個(gè)參數(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度后的圖,中心點(diǎn)都是原圖的中心點(diǎn)。

2、圖像平移
移是對(duì)象位置的轉(zhuǎn)換,其實(shí)就是偏移(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)行變換,第一個(gè)參數(shù)是原圖,第二個(gè)參數(shù)是變換矩陣,第三個(gè)是輸出圖像的大小
cv2.imshow('img',img)
cv2.imshow('dst',dst)
cv2.waitKey(0)
cv2.destroyAllWindows()
3、函數(shù)cv2.warpAffine。

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

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多