opencv|opencv教程-图像操作之颜色空间、图像变换

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


    推荐阅读