Image Processing in OpenCV——Geometric Transformations of Images

      对图像进行诸如缩放、旋转、仿射变换和透视变换等操作。翻译地址

      缩放

      通过函数cv2.resize() 函数实现,主要是插值方法的选择:cv2.INTER_AREA用于缩小图像,cv2.INTER_CUBIC和cv2.INTER_LINEAR用于放大图像时使用。

      平移

      利用变换矩阵实现对x和y方向的平移,通过cv2.warpAffine()函数进行变换

      旋转

      利用变换矩阵获得变换后的图像,其中。变换矩阵通过函数cv2.getRotationMatrix2D(center, angle, scale)获得,其中第二个参数为图片逆时针旋转的角度。变换操作仍通过函数cv2.warpAffine()执行

      仿射变换

      特点:平行线输出还是平行线。利用 cv2.getAffineTransform()函数对不在同一直线上的3个点(可构成平面)到目标图上对应点的对应关系构建变换矩阵,然后利用函数cv2.warpAffine()进行变换操作。

      透视变换

      特点:直线在目标图上仍为直线。利用cv2.getPerspectiveTransform()函数对原图中的4个点(其中3个共线)到目标图点的关系构建变换矩阵,变换函数为cv2.warpPerspective()

仿射变换 透视变换

    ps:仿射变换矩阵为2*3的矩阵,透视变换为3*3的矩阵。

参考文献:

  1. https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_imgproc/py_geometric_transformations/py_geometric_transformations.html

猜你喜欢

转载自blog.csdn.net/hzhj2007/article/details/83278181