当前位置:   article > 正文

OpenCV旋转图像的几种方法_opencv 图像旋转

opencv 图像旋转

我们在工作中用摄像头去拍摄目标的时候,是没有办法保证这个摄像头肯定是水平的,所以拍下来的图像肯定是有点歪的。我们在用opencv导入图片的时候,首先要对这个图片进行旋转,把它调整到一个标准的位置。

  1. import cv2
  2. import matplotlib.pyplot as plt
  3. src = cv2.imread('./resource/image_A.png')
  4. '''
  5. 翻转
  6. flip(src,flipCode) 0上下翻转,>0左右翻转,<0上下+左右
  7. '''
  8. flip_img=cv2.flip(src,flipCode=-1)
  9. '''
  10. 旋转图像
  11. rotate(img,rotateCode)
  12. ROTATE_90_CLOCKWISE
  13. ROTATE_180
  14. ROTATE_90_COUNTERCLOCKWISE
  15. '''
  16. rotate_img=cv2.rotate(src,rotateCode=cv2.ROTATE_90_COUNTERCLOCKWISE)
  17. '''
  18. 仿射变换
  19. '''
  20. rows,cols,channel = src.shape
  21. # 绕图像的中心点旋转30度,正值表示逆时针旋转,并缩小到0.5
  22. M = cv2.getRotationMatrix2D((cols/2,rows/2),angle=30,scale=0.5)
  23. warpAffine_img = cv2.warpAffine(src,M=M,dsize=(cols,rows))
  24. # 显示图像
  25. fig, axes = plt.subplots(nrows=2, ncols=2, figsize=(10, 8), dpi=100)
  26. axes[0][0].imshow(src[:,:,[2,1,0]])
  27. axes[0][0].set_title("original")
  28. axes[0][1].imshow(flip_img[:,:,[2,1,0]])
  29. axes[0][1].set_title("flip_img")
  30. axes[1][0].imshow(rotate_img[:,:,[2,1,0]])
  31. axes[1][0].set_title("rotate_img")
  32. axes[1][1].imshow(warpAffine_img[:,:,[2,1,0]])
  33. axes[1][1].set_title("warpAffine_img")
  34. plt.show()

参考链接:

OpenCV 101例_哔哩哔哩_bilibili

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号