demo图片:
平移
代码:
import numpy as npimport matplotlib.pyplot as pltimport cv2#图像的平移def show(image):plt.imshow(image)plt.axis('off')plt.show()def imread(image):image=cv2.imread(image)image=cv2.cvtColor(image,cv2.COLOR_BGR2RGB)return image# #列子1# image=imread('1.png')# #往右平移250像素,往下平移500像素# M=np.float32([[1,0,250],[0,1,300]])# shifted=cv2.warpAffine(image,M,(image.shape[1],image.shape[0]))# show(shifted)
代码
import numpy as npimport matplotlib.pyplot as pltimport cv2#图像的平移def show(image):plt.imshow(image)plt.axis('off')plt.show()def imread(image):image=cv2.imread(image)image=cv2.cvtColor(image,cv2.COLOR_BGR2RGB)return image#列子2image1=imread('1.png')M=np.float32([[1,0,-250],[0,1,-500]])shifted=cv2.warpAffine(image1,M,(image1.shape[1],image1.shape[0]))show(shifted)
图像的旋转放大和缩小
import numpy as npimport matplotlib.pyplot as pltimport cv2#图像的旋转def show(image):plt.imshow(image)plt.axis('off')plt.show()def imread(image):image=cv2.imread(image)#把图像的BGR转换成RGBimage=cv2.cvtColor(image,cv2.COLOR_BGR2RGB)return imageimage=imread('1.png')(h,w)=image.shape[:2](cX,cY)=(w/2,h/2)#(cX,cY)表示旋转中心点,45逆时针旋转45度(如果是-45度,表示顺时针旋转),1.0表示缩放(1表示没有缩小,也没有放大)M = cv2.getRotationMatrix2D((cX,cY),45,1.0)image = cv2.warpAffine(image,M,(w,h))show(image)
图形效果展示:
设置图片尺寸:
import numpy as npimport matplotlib.pyplot as pltimport cv2#图像的缩放def show(image):plt.imshow(image)plt.axis('off')plt.show()def imread(image):image=cv2.imread(image)#把图像的BGR转换成RGBimage=cv2.cvtColor(image,cv2.COLOR_BGR2RGB)return imageimage=imread('1.png')width=150hight=150#设置图片的尺寸大小image=cv2.resize(image,(width,hight))show(image)
图像5中插值方法:
#设置图片的尺寸大小
# image=cv2.resize(image,(width,hight))
#图像的5中缩放插值法
image=cv2.resize(image,(width,hight),interpolation=cv2.INTER_NEAREST)
#interpolation=cv2.INTER_NEAREST表示最近邻
#interpolation=cv2.INTER_LINEAR双线性插值法
#interpolation=cv2.INTER_AREA基于图像区域方法
#interpolation=cv2.INTER_CUBIC立方插值法
#interpolation=cv2.INTER_LANCZOS4兰索斯插值法
import numpy as npimport matplotlib.pyplot as pltimport cv2#图像的缩放def show(image):plt.imshow(image)plt.axis('off')plt.show()def imread(image):image=cv2.imread(image)#把图像的BGR转换成RGBimage=cv2.cvtColor(image,cv2.COLOR_BGR2RGB)return imageimage=imread('1.png')width=150hight=150#设置图片的尺寸大小# image=cv2.resize(image,(width,hight))#图像的5中缩放插值法image=cv2.resize(image,(width,hight),interpolation=cv2.INTER_NEAREST)#interpolation=cv2.INTER_NEAREST表示最近邻#interpolation=cv2.INTER_LINEAR双线性插值法#interpolation=cv2.INTER_AREA基于图像区域方法#interpolation=cv2.INTER_CUBIC立方插值法#interpolation=cv2.INTER_LANCZOS4兰索斯插值法show(image)
图片的翻转
import numpy as npimport matplotlib.pyplot as pltimport cv2#图像翻转def show(image):plt.imshow(image)plt.axis('off')plt.show()def imread(image):image=cv2.imread(image)#把图像的BGR转换成RGBimage=cv2.cvtColor(image,cv2.COLOR_BGR2RGB)return imageimage=imread('1.png')# #水平翻转# image = cv2.flip(image,1)#垂直翻转# image = cv2.flip(image,0)# #水平+垂直翻转image = cv2.flip(image,-1)show(image)
图片展示:
图像的裁剪
import numpy as npimport matplotlib.pyplot as pltimport cv2#图像裁剪def show(image):plt.imshow(image)plt.axis('off')plt.show()def imread(image):image=cv2.imread(image)#把图像的BGR转换成RGBimage=cv2.cvtColor(image,cv2.COLOR_BGR2RGB)return imageimage=imread('1.png')#图像x方向从0到200进行裁剪,图像y方向按照50:200进行裁剪# image=image[0:200,50:200]#图像裁剪x方向是200到最后,y方向是50到-50image=image[200:,50:-50]show(image)
如果觉得《OpneCV之图像的平移 翻转 旋转 缩放 裁剪(笔记04)》对你有帮助,请点赞、收藏,并留下你的观点哦!