1:颜色空间变换
当前版本的opencv颜色空间变换函数有274种,这里就只说两个COLOR_BGR2GRAY和COLOR_BGR2HSV。
下面用HSV颜色空间进行目标提取,这里提取出蓝色目标,代码与结果如下:
上述代码中需要设置蓝色的范围,这个可以自己先指定BGR值、或者从图中选取要提取的颜色像素值,然后进行空间转换就行,详细信息看以下代码
2:几何变换
主要使用两个函数:cv2.warpAffine 和 cv2.warpPerspective;其中cv2.warpAffine使用2*3变换矩阵,cv2.warpPerspective使用3*3变换矩阵
(1)缩放
上述是缩放的两种方式,不多少,这里说下缩小和放大情况下用什么方式效果较好;默认参数是INTER_LINEAR,缩小时使用INTER_AREA效果较好,放大时使用INTER_CUBIC(速度会慢)和INTER_LINEAR效果较好。
(2)平移
(3)旋转
先通过设定的角度、中心获取旋转矩阵,然后再做图像变换,正角度逆时针旋转图像,负角度顺时针旋转图像。
(4)仿射变换
这里有两种方式:
方式一:warpAffine,输入图像选取3个点,输出图像选取3个点,使之一一对应,这样就有了对应关系,然后用cv2.getAffineTransform获取转换矩阵,再进行变换。
方式二:warpPerspective,输入图像选取3个点,输出图像选取3个点,使之一一对应,注意这里输入图像的4个点至少有3个点是不在一条直线的,然后用cv2.getPerspectiveTransform获取转换矩阵,再进行变换。