基于OpenCV的图片中红色区域截取与面积计算

weixin_41499627 2018-05-22 03:14:34
有一张图片,是干净齿轮上沾有红色印痕的,现在要求计算出红色印痕的大小,要用图像处理的方法,我选择用基于Opencv的C++方法处理,但是首先要将图片中红色部分选区出来。然后通过后续的处理计算出该部分的面积。现在问题是如何要先将红色部分识别出来?程序上要如何实现啊,还有图片需不需要进行预处理?
...全文
2108 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
codedoctor 2018-05-25
  • 打赏
  • 举报
回复
二值化是将图像的RGB按2 4 8 ...2的次方来划分等级 一般是先做灰度化,再进行二值化 你这个如果图像中的红色很突出。 你可以简单的用取色器取到其中的红色的RGB,再设置一下RGB的范围(比如这个颜色的一定上下限) 然后直接遍历像素点,再计算就行了
weixin_41499627 2018-05-24
  • 打赏
  • 举报
回复
为什么二值化彩色图像后,图片还会有彩色呢
赵4老师 2018-05-23
  • 打赏
  • 举报
回复
参考OpenCV自带的相关例子代码。 百度搜 “OpenCV RGB转HSL” “OpenCV 像素遍历” 现代中国人的能力差别很大程度上体现在会不会合理高效地使用百度上。
weixin_41499627 2018-05-23
  • 打赏
  • 举报
回复
请问有相关的代码吗?因为是新手,对颜色空间转换后像素遍历的写法不是很清楚,希望有个代码可以参考一下。网上的答案大多是openCV1.0版本的,我现在用的openCV3.0,有的代码编译出来有点问题。
赵4老师 2018-05-22
  • 打赏
  • 举报
回复
先RGB转HSL, 假如H∈[0~360°),S∈[0,1),L∈[0,1),则 比如 Hi∈[0~10°)或[350~360°),且Si∈[0.8,1),且Li∈[0.2,0.9) 为红色。

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧