网站登陆怎么做,网站app的区别,石家庄百度推广排名,做教育机构中介网站python opencv 放射变换和图像缩放-实现图像平移旋转缩放
我们实现这次实验主要用到cv2.resize和cv2.warpAffine
cv2.warpAffine主要是传入一个图像矩阵#xff0c;一个M矩阵#xff0c;输出一个dst结果矩阵#xff0c;计算公式如下#xff1a; cv2.resize则主要使用fx一个M矩阵输出一个dst结果矩阵计算公式如下 cv2.resize则主要使用fxfy按照比例对图像进行缩放 直接看一下代码
import copy
import math
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
import osimport cv2plt.rcParams[font.family] Microsoft YaHei
def cv_show(name,img):cv2.imshow(name,img)#cv2.waitKey(0),接收0表示窗口暂停cv2.waitKey(0)#销毁所有窗口cv2.destroyAllWindows()pathrD:\learn\photo\cv\lena.jpgimgcv2.imread(path)im_resizecv2.resize(img,None,fx0.5,fy0.8)#cv_show(img,img)#cv_show(im_resize,im_resize)
w,himg.shape[0:2]
#cv_show(im_resize,im_resize)
#平移h,w,c img.shape
M np.float32([[1,0,10],[0,1,10]])
img_s cv2.warpAffine(img,M,(w,h))#旋转
Mcv2.getRotationMatrix2D((w/2,h/2),60,0.9)img_rcv2.warpAffine(img,M,(w,h))#cv_show(img_r,img_r)#cv_show(img_s,img_s)plt.figure(figsize(400,600))plt.subplot(221)
plt.imshow(img)
plt.title(原图)plt.subplot(222)
plt.imshow(im_resize)
plt.title(缩放)
plt.subplot(223)
plt.imshow(img_r)
plt.title(平移)
plt.subplot(224)
plt.imshow(img_s)
plt.title(旋转)
plt.show()
os.system(pause)结果如图