俄語網(wǎng)站建設(shè)學(xué)電商哪個(gè)培訓(xùn)學(xué)校好
目錄
- 圖像縮放
- 圖像平移
- 圖像旋轉(zhuǎn)
- 圖像的仿射變換
- 透射變換
- 圖像金字塔
圖像縮放
cv.resize(src,dsize,fx=0,fy=0,interpolation=cv2.INTER_LINEAR)
import numpy as np
import cv2 as cv
import matplotlib.pyplot as pltkids=cv.imread('./汪學(xué)長(zhǎng)的隨堂資料/4/圖像操作/dog.jpg')
plt.imshow(kids[:,:,::-1])
# 絕對(duì)尺寸
rows,cols=kids.shape[:2]
res=cv.resize(kids,(2*cols,2*rows))
plt.imshow(res[:,:,::-1])
# 相對(duì)尺寸
res1=cv.resize(kids,None,fx=0.5,fy=0.5)
plt.imshow(res1[:,:,::-1])
圖像平移
cv.warpAffine(img,M,dsize)
M=np.float32([[1,0,100],[0,1,50]])
res2=cv.warpAffine(kids,M,(cols,rows))
plt.imshow(res2[:,:,::-1])
圖像旋轉(zhuǎn)
cv.getRotationMatrix2D(center,angle,scale)
M=cv.getRotationMatrix2D((cols/2,rows/2),45,1)
res3=cv.warpAffine(kids,M,(cols,rows))
plt.imshow(res3[:,:,::-1])
圖像的仿射變換
點(diǎn)線關(guān)系的仿射結(jié)果在原圖像是一樣的,但是線長(zhǎng)度,線與線的角度會(huì)發(fā)生變化
# 原始位置
pts1=np.float32([[50,50],[200,50],[50,200]])
# 仿射后的位置
pts2=np.float32([[100,100],[200,50],[100,250]])
M=cv.getAffineTransform(pts1,pts2)
res4=cv.warpAffine(kids,M,(cols,rows))
plt.imshow(res4[:,:,::-1])
透射變換
視角的變換
pst1=np.float32([[56,65],[368,52],[28,387],[389,390]])
pst2=np.float32([[100,145],[300,100],[80,290],[310,300]])
T=cv.getPerspectiveTransform(pst1,pst2)
res5=cv.warpPerspective(kids,T,(cols,rows))
plt.imshow(res5[:,:,::-1])
圖像金字塔
imgup=cv.pyrUp(kids)
plt.imshow(imgup[:,:,::-1])
imgdown=cv.pyrDown(kids)
plt.imshow(imgdown[:,:,::-1])