赞
踩
我们在工作中用摄像头去拍摄目标的时候,是没有办法保证这个摄像头肯定是水平的,所以拍下来的图像肯定是有点歪的。我们在用opencv导入图片的时候,首先要对这个图片进行旋转,把它调整到一个标准的位置。
- import cv2
- import matplotlib.pyplot as plt
-
- src = cv2.imread('./resource/image_A.png')
-
- '''
- 翻转
- flip(src,flipCode) 0上下翻转,>0左右翻转,<0上下+左右
- '''
- flip_img=cv2.flip(src,flipCode=-1)
-
- '''
- 旋转图像
- rotate(img,rotateCode)
- ROTATE_90_CLOCKWISE
- ROTATE_180
- ROTATE_90_COUNTERCLOCKWISE
- '''
- rotate_img=cv2.rotate(src,rotateCode=cv2.ROTATE_90_COUNTERCLOCKWISE)
-
-
- '''
- 仿射变换
- '''
- rows,cols,channel = src.shape
- # 绕图像的中心点旋转30度,正值表示逆时针旋转,并缩小到0.5
- M = cv2.getRotationMatrix2D((cols/2,rows/2),angle=30,scale=0.5)
- warpAffine_img = cv2.warpAffine(src,M=M,dsize=(cols,rows))
-
-
- # 显示图像
- fig, axes = plt.subplots(nrows=2, ncols=2, figsize=(10, 8), dpi=100)
-
- axes[0][0].imshow(src[:,:,[2,1,0]])
- axes[0][0].set_title("original")
-
- axes[0][1].imshow(flip_img[:,:,[2,1,0]])
- axes[0][1].set_title("flip_img")
-
- axes[1][0].imshow(rotate_img[:,:,[2,1,0]])
- axes[1][0].set_title("rotate_img")
-
- axes[1][1].imshow(warpAffine_img[:,:,[2,1,0]])
- axes[1][1].set_title("warpAffine_img")
-
- plt.show()
-
-
-
参考链接:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。