opencv获取模板旋转角度_opencv教程图像操作之颜色空间、图像变换

1:颜色空间变换

3665353df520f51730cbaa3677befb64.png

    当前版本的opencv颜色空间变换函数有274种,这里就只说两个COLOR_BGR2GRAY和COLOR_BGR2HSV。

    HSV颜色空间像素值范围,H:[0, 179],S:[0, 255],V:[0,255];其中H指色调,S饱和度,V亮度。

    下面用HSV颜色空间进行目标提取,这里提取出蓝色目标,代码与结果如下:

ff4a56ce8d7d3230d6b86371b728b586.png

e7d6b7452ac1fb61b1a40502e64b2358.png

    上述代码中需要设置蓝色的范围,这个可以自己先指定BGR值、或者从图中选取要提取的颜色像素值,然后进行空间转换就行,详细信息看以下代码

4e7d68c9dafcb6fb15082a1c30f679bb.png

2:几何变换

    主要使用两个函数:cv2.warpAffine 和 cv2.warpPerspective;其中cv2.warpAffine使用2*3变换矩阵,cv2.warpPerspective使用3*3变换矩阵

(1)缩放

f473e3f2c9beba7283e250f04f426897.png

    上述是缩放的两种方式,不多少,这里说下缩小和放大情况下用什么方式效果较好;默认参数是INTER_LINEAR,缩小时使用INTER_AREA效果较好,放大时使用INTER_CUBIC(速度会慢)和INTER_LINEAR效果较好。

(2)平移

a50c3a3d049570440df582f8675f22c8.png

deea74543f4d603fc592795e15945ece.png

(3)旋转

06091644ff62e9fcec1313ce09e14546.png

47c85285ba87e45aed9af5955d1310dd.png

    先通过设定的角度、中心获取旋转矩阵,然后再做图像变换,正角度逆时针旋转图像,负角度顺时针旋转图像。

(4)仿射变换

    这里有两种方式:

    方式一:warpAffine,输入图像选取3个点,输出图像选取3个点,使之一一对应,这样就有了对应关系,然后用cv2.getAffineTransform获取转换矩阵,再进行变换。

    方式二:warpPerspective,输入图像选取3个点,输出图像选取3个点,使之一一对应,注意这里输入图像的4个点至少有3个点是不在一条直线的,然后用cv2.getPerspectiveTransform获取转换矩阵,再进行变换。

e6ea2d875ba6444edc1b187b259ed071.png

05d344a637010a88cf7135198f3b67bf.png

今天先到这里,感兴趣的可以关注微信公众号:桔子的算法之路

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值