目标检测的基本思路
对于轮廓清晰的图片,可以先检测出他的轮廓,此时会有背景的轮廓也被添加进来,可以通过先填洞,再腐蚀和膨胀来消除多余的边缘来找到目标的轮廓。对于轮廓不清晰或者背景很复杂的图片,可以通过图像二值化,用特定的阈值将需要的目标筛选出来,或是将图像分块处理,再进行形态学操作使轮廓更为具体。
遇到的问题
鹿
对于彩色图像想要提取某一特定颜色阈值比较难选取,图像中目标的颜色不是唯一的,有彩色和黑色和白色,可以通过将rgb空间转换为ycbcr空间,在ycbcr上分别选取阈值
如图
可以大致识别出鹿的轮廓,再将图像进行膨胀腐蚀,消除小的连通域即可获得轮廓
腐蚀,并选区最大联通域后如图
有的地方被腐蚀掉了。
代码如下:
y_min=0;y_max=256;
cb_min= 90;cb_max=150 ;
cr_min=124 ;cr_max= 180;
roi=roicolor(img_ycbcr(:,:,1),y_min,y_max) & roicolor(img_ycbcr(:,:,2),cb_min