本文是学习opencv-python官方教程的函数总结
-
cv2.resize(src, dst, dsize, fx, fy, interpolation)
参数:
src:输入图像
dst:输出图像,尺寸等于dsize或者通过缩放因子计算的尺寸
dsize:输出图像尺寸。如果为空,dsize = fx*cols, fy*rows
fx:横轴缩放因子
fy:纵轴缩放因子
interpolation:插值方法,常用cv2.INTER_LINEAR,cv2.INTER_CUBIC, cv2.INTER_AREA
具体查看API
介绍:
调整图像尺寸。缩小图像,通常使用INTER_AREA插值看起来最佳,而放大图像时,通常
使用INTER_CUBIC(慢)或INTER_LINEAR(更快但看起来还不错)看起来最佳。
opencv-python中的运用:
res = cv2.resize(img, None, fx=2, fy=2, interpolation=cv2.INTER_CUBIC)
res = cv2.resize(img, (2*width, 2*height), interpolation=cv2.INTER_CUBIC)
-
cv2.warpAffine(src, dst, M, dsize, flags=, borderMode, borderValue)
参数:
src:输入图像
dst:输出图像,尺寸为dsize,类型与输入图像一样
M:2*3大小的矩阵
flags:插值方法的组合(默认为 INTER_LINEAR。当标志为WARP_INVERSE_MAP,意味着M是逆变换)
borderMode:边缘像素模式(默认为 BORDER_CONSTANT)
bordeValue:边界填充值(默认为黑色,图像经过变换后会出现黑边,如下图)
介绍:
对图像进行仿射变换。(正向仿射与反向仿射有点迷糊,以后更新)
opencv-python中的运用:
dst = cv2.warpAffine(img, m, (cols, rows))
![](https://img2018.cnblogs.com/blog/1542953/201905/1542953-20190515204741036-1539727321.png)
-
cv2.getRotationMatrix2D(center, angle, scale)
参数:
center:图像的旋转中心
angle:旋蒸角度
scale:各向同性比例因子(缩放因子)
介绍:
计算一个2D旋转仿射矩阵
opencv-python中的运用:
m = cv2.getRotationMatrix2D(((cols-1)/2.0, (rows-1)/2.0), 90, 1)
-
cv2.getAffineTransform(src, dst)
参数:
src:原始图像的定位点矩阵
dst:输出图像的定位点矩阵
介绍:
通过参数计算一个用于仿射变换的矩阵(需要三个定位点)
opencv-python中的运用:
pts1 = np.float32([[50, 50], [200, 50], [50, 200]])
pts2 = np.float32([[10, 100], [200, 50], [100, 225]])
m = cv2.getAffineTransform(pts1, pts2)
-
cv2.getPerspectiveTransform(src, dst, solveMethod)
参数:
src:原始图像的定位点矩阵
dst:输出图像的定位点矩阵
solveMethod:矩阵分解类型(暂不理解)
介绍:
通过参数计算一个用于仿射变换的矩阵(需要四个定位点)
opencv-python中的运用:
pts1 = np.float32([[30, 30], [30, 200], [200, 30], [200, 200]])
pts2 = np.float32([[0, 0], [0, 220], [220, 0], [220, 220]])
m = cv2.getPerspectiveTransform(pts1, pts2)
cv2.warpPerspective(src, dst, M, dsize, flags, borderMode, borderValue)
参数:
src:输入图像
dst:输出图像,尺寸为dsize,类型与输入图像一样
M:2*3大小的矩阵
flags:插值方法的组合(默认为 INTER_LINEAR。当标志为WARP_INVERSE_MAP,意味着M是逆变换)
borderMode:边缘像素模式(默认为 BORDER_CONSTANT)
bordeValue:边界填充值(默认为黑色,图像经过变换后会出现黑边)
介绍:
对图像进行透视变换
opencv-python中的运用:
dst = cv2.warpPerspective(img, m, (220, 220))
有不对的地方请指正。