当前位置:   article > 正文

无聊的时候写了个颜色识别算法,基于RGB颜色模型_颜色检测算法

颜色检测算法

 

halcon是个好东西,里面有诸多的“轮子”,随着版本的迭代“轮子”会越来越多越来越全面和完善。我用的halcon12里面有一种颜色识别的算法,它这种颜色识别是需要将图像先转换成“HSV”模型,这种模型在后期的使用上还是发现了它的不足(针对一些特殊案例)于是我想既然RGB是三原色,所有的颜色都能按照它们的不同比例合成,何不直接操作RGB三原色的配色值来确定图像中的颜色呢?

测试:

图:

这里将识别图中的 亮蓝色,我们先打开画图工具查看这种颜色的RGB配色值

 

代码:

  1. *要识别的颜色参数
  2. R:=128
  3. G:=255
  4. B:=255
  5. read_image (Image, 'C:/Users/斌/Desktop/test.png')
  6. get_image_size (Image, Width, Height)
  7. *遍历所有像素
  8. for i := 0 to Height-1 by 1
  9. for j := 0 to Width-1 by 1
  10. *获取像素量级
  11. get_grayval (Image, i, j, Grayval)
  12. *识别颜色
  13. if (Grayval[0] == R and Grayval[1] == G and Grayval[2] == B)
  14. *将选中的颜色填充为红色
  15. set_grayval (Image, i, j, [255,0,0])
  16. endif
  17. endfor
  18. endfor

效果(图中箭头所指的红方框,代码里面将其填充为红色了):

代码的运行速度还是非常的差,仅供参考。

 

最后,不针对特殊案例还是建议采用“HSV模型”,因为这种模型考虑了一种颜色在实际环境中不同亮度情况下的视觉表现。倘若一种颜色在偏暗偏亮两种环境下采用RGB配色算法来确定这种颜色,那很可能会是两个截然不同的配值。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/369995
推荐阅读
相关标签
  

闽ICP备14008679号