当前位置:   article > 正文

图像仿射变换Opencv实现

图像仿射变换Opencv实现
  1. import cv2
  2. import numpy as np
  3. # 读取图像
  4. image = cv2.imread('input_image.jpg')
  5. # 图像宽度和高度
  6. height, width = image.shape[:2]
  7. # 旋转
  8. angle = 45
  9. rotation_matrix = cv2.getRotationMatrix2D((width/2, height/2), angle, 1)
  10. rotated_image = cv2.warpAffine(image, rotation_matrix, (width, height))
  11. # 平移
  12. x_translation = 100
  13. y_translation = 50
  14. translation_matrix = np.float32([[1, 0, x_translation], [0, 1, y_translation]])
  15. translated_image = cv2.warpAffine(image, translation_matrix, (width, height))
  16. # 缩放
  17. scale_factor = 0.5
  18. scaled_image = cv2.resize(image, None, fx=scale_factor, fy=scale_factor, interpolation=cv2.INTER_LINEAR)
  19. # 错切
  20. shear_matrix = np.float32([[1, 0.5, 0], [0.5, 1, 0]])
  21. sheared_image = cv2.warpAffine(image, shear_matrix, (width, height))
  22. # 显示结果
  23. cv2.imshow('Original Image', image)
  24. cv2.imshow('Rotated Image', rotated_image)
  25. cv2.imshow('Translated Image', translated_image)
  26. cv2.imshow('Scaled Image', scaled_image)
  27. cv2.imshow('Sheared Image', sheared_image)
  28. # 等待按键
  29. cv2.waitKey(0)
  30. cv2.destroyAllWindows()

这段代码演示了如何对图像进行旋转、平移、缩放和错切等仿射变换,并使用 OpenCV 库进行实现。请确保将 input_image.jpg 替换为您要处理的图像文件名

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/173497?site
推荐阅读
相关标签
  

闽ICP备14008679号