opencv有没有函数可以过滤掉图片中没用的颜色,进而突出有用的颜色

tiger波波 2018-10-17 09:34:30
比如说一张图片,底色范围在RGB(0,0,0)至RGB(10,10, 150)之间,有没有现成的函数把底色减弱或去掉,从而突出有用的颜色??
...全文
810 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2018-10-18
  • 打赏
  • 举报
回复
引用 6 楼 youyingbo 的回复:
[quote=引用 5 楼 zhao4zhong1 的回复:]
cvtColor(img,hsv,CV_BGR2HSV_FULL);//先将RGB转HSV


有点效果,不过颜色都变了。我现在设一个阈值,低于这个阈值的直接把像素颜色变成黑色,高于阈值的不变色,效果不稳定,每个图像都不太一样。[/quote]
①RGB转HSV
②根据HSV阈值修改要忽略的像素值为要设定的对应HSV值
③HSV转RGB
④显示
tiger波波 2018-10-18
  • 打赏
  • 举报
回复
引用 5 楼 zhao4zhong1 的回复:
cvtColor(img,hsv,CV_BGR2HSV_FULL);//先将RGB转HSV
有点效果,不过颜色都变了。我现在设一个阈值,低于这个阈值的直接把像素颜色变成黑色,高于阈值的不变色,效果不稳定,每个图像都不太一样。
tiger波波 2018-10-17
  • 打赏
  • 举报
回复
直接上图吧,就是想把深蓝色的底色过滤掉,剩下青色,绿色,黄色,橙色,红色之类的其他颜色
tiger波波 2018-10-17
  • 打赏
  • 举报
回复
引用 1 楼 zhao4zhong1 的回复:
void cvThreshold( const CvArr* src, CvArr* dst, double threshold, double max_value, int threshold_type );
感谢指教。我试过这个函数,效果不是很好。后边三个参数不知道怎么调,现在在乱试。根据我的需求:底色范围在RGB(0,0,0)至RGB(10,10, 150)之间,赵老师在参数方面有啥建议?
赵4老师 2018-10-17
  • 打赏
  • 举报
回复
void cvCmpS( const CvArr* src, double value, CvArr* dst, int cmp_op );
赵4老师 2018-10-17
  • 打赏
  • 举报
回复
void cvThreshold( const CvArr* src, CvArr* dst, double threshold, double max_value, int threshold_type );
赵4老师 2018-10-17
  • 打赏
  • 举报
回复
cvtColor(img,hsv,CV_BGR2HSV_FULL);//先将RGB转HSV

19,469

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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