通过追踪颜色的hsv值,使画面只留下长方形,在进行二值化,并通过对图片几何变换使长方形摆正

img =cv2.imread(‘zfx.png’)#读取
cv2.namedWindow(‘image’,cv2.WINDOW_NORMAL)
cv2.namedWindow(‘image3’,cv2.WINDOW_NORMAL)
cv2.namedWindow(‘image2’,cv2.WINDOW_NORMAL)
cv2.namedWindow(‘image1’,cv2.WINDOW_NORMAL)
cv2.namedWindow(‘img’,cv2.WINDOW_NORMAL)
cv2.imshow(‘image’,img)
img2 = cv2.cvtColor(img,cv2.COLOR_BGR2HSV)#转化为hsv的的图
cv2.imshow(‘image3’,img2)
lower_blue=np.array([110,50,50])#红色下限
upper_blue=np.array([255,255,200])#红色上限
mask=cv2.inRange(img2,lower_blue,upper_blue)#追踪你所需要的颜色的物品#读取红色物体,但未灰色
cv2.imshow(‘image2’,mask)
res=cv2.bitwise_and(img,img,mask=mask)#让hsv的图有色彩#二值化处理,让其有颜色
cv2.imshow(‘image1’,res)
rows,cols,num=res.shape

这里的第一个参数为旋转中心,第二个为旋转角度,第三个为旋转后的缩放因子

可以通过设置旋转中心,缩放因子,以及窗口大小来防止旋转后超出边界的问题

M=cv2.getRotationMatrix2D((cols/2,rows/2),-20,0.6)
M=cv2.getRotationMatrix2D((cols/2,rows/2),-20,0.6)

第三个参数是输出图像的尺寸中心

dst=cv2.warpAffine(mask,M,(1cols,1rows))

while(1):
cv2.imshow(‘img’,dst)
if cv2.waitKey(1)&0xFF==27:
break
cv2.destroyAllWindows()

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
交通标志识别系统标准完全模板HSV定位基础版-二值化模板.rar 本帖最后由 hcq@@ 于 2013-7-7 11:04 编辑 1、交通标志(警示牌类),其外框一般为红色,所以定位时可采用HSV颜色模型或者RGB颜色模型来提取红色区域,通过regiongroup标记进一步提取目标区域。 HSV颜色模型:I1=Hsv; %记录颜色亮度为1的数据,以便之后再利用颜色找出红色 figure,imshow;title'); BW=roicolor; %利用颜色将红色对象都都显示为白色,其余都为黑色,至此完成图象的二值化 figure,imshow;title; 复制代码具体参考附件HSV提取基础版.rar RGB颜色模型 IR=double; IG=double; IB=double; for i=1:chang for j=1:kuan if 1.6*IR-IG-IB255 CA=255; else CA=1.6*IR-IG-IB; end end end figure;imshow;title; 复制代码经过对比,对于目标边界清晰的图片,RGB颜色模型的效果很不错,结果在贴图中。 2、分割出来的交通标志,为了便于二值化处理,强烈建议将背景黑色转成白色,这里标准模板只处理了20几张(考虑到可能用不到这么多的模板),如果有需要,可采取灰度—二值化—反色—擦除边缘—归一化步骤,即可处理成新的模板。代码在 附件里面: 3、识别的时候,可先建立数组,和普通的识别方法一样的,识别结果可采取msgbox的显示方法(即根据返回的匹配索引,得出结果)。if x==1 msgbox;end if x==2 msgbox;end if x==3 msgbox;end if x==4 msgbox;end 。。。。。。。同理 复制代码

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值