基于颜色ob检测技术及其应用.pdfVIP

  • 0
  • 0
  • 约1.31万字
  • 约 12页
  • 2026-03-09 发布于北京
  • 举报

基于颜色的Blob检测:

最后更新于,由ShervinEmami。最初发布于。

Blob检测是一种快速且简单的方法,可用于许多机器视觉任务,例如红色

球、寻找蓝色标记或检测人的皮肤(皮肤检测在面部检测和面部识别中非常有

用,可以使用皮肤掩码,同时也可以用于手势识别)。

为了找到彩lob,你应该将彩像从BGR格式转换为HSV格式,以便更容

易分离颜色。你可以使用我HSV颜色转换页面上的“ColorWheelHSV”程序

来查看你想要阈值化的H、S和V值。不能使用其他图形软件来查看HSV阈值,

因为OpenCV中的HSV值与其他软件中的不同。因此,例如,如果你想检测一

个蓝色球,你可以运行ColorWheelHSV来查看在OpenCV中蓝色大致位于

85到130之间的色调。

然后,您可以使用cvThreshold()对色调图像(单通道图像)进行处理,以找到蓝色像素。但由于黑色、白色和灰色也

可以具有任何色调值,您还应该对HSV图像的饱和度和亮度分量进行阈值处理,以忽略黑色、白色和灰色。

Color-basedBlobDetection:

Lastupdatedon27thDecember,2010byShervinEmami.Postedoriginallyon3rdOctober,

2010.

Blobdetectionisafastandsimplemethodthatcanbeusedformanymachine

visiontasks,suchastrackingaredball,findingabluemarkeror

detectingasskin(SkinDetectioncanbeveryusefulwithFace

DetectionandFaceRecognitionusingaskinmask,aswellasforHand

GestureRecognition).

Tofindcoloredblobs,youshouldconvertyourcolorimagefromBGRto

HSVformatsothatthecolorsareeasiertoseparate.Youcanusethe

ColorWheelHSVprogramonmyHSVColorConversionpagetoseewhichH,

SandVvaluesyouwanttothreshold.Youcantuseothergraphicssoftware

toseewhichHSVthresholdstousebecausetheHSVvaluesaredifferent

inOpenCVthaninothersoftware.Soforexample,ifyouwanttodetect

ablueball,youcouldrunColorWheelHSVtoseethatblueisroughly

weentheHues85to130inOpenCV.

ThenyoucanusecvThreshold()onaHueimage(single-channelimage)

tofindthebluepixels.Butsinceblack,whiteandgreycanalsohave

根据您期望的对象和背景环境的亮度或暗度或灰度,您可能需要考虑例如:亮

度(“Value”)低于60的视为太暗(黑色),饱和度低于30的视为太灰(灰

色或白色)。在您的程序运行后,您应该调整这些HSV阈值,直到对图像中的

结果满意为止,因为它们会有很多变化,您可能还需要使用更复杂的,例

如,如果亮度V高于200且饱和度S低于50(白色),则忽略这些情况等。

需要注意的一个技巧是,在OpenCV中,红色的色调值可以是0到10,也可以

是175到179,因为OpenCV中的色调分量像一个圆一样在180个值内循环,因

此179的色调几乎与0的色调相同。

现在你已经知道了要使用的近似HSV阈值,你应该编写程序来执行以下操作:

1.使用“cvConvert()”(或更好的HSV转换函数)将彩

文档评论(0)

1亿VIP精品文档

相关文档