关于图像处理时的反光问题

2019-09-26 10:34:00 +08:00
 mushuiyu
我最近在做一个目标物体的特征提取,但是发现因为检测物体的表面有较大的弧度,又是金属材质的物体,所以在图片获取时正对光源的弧面上中会有反光,所以在特征提取的时候那个反光的白条反而是反应最强烈的……不知道有没有做过图像处理的大佬来帮助一下,可不可以通过算法来去掉反光部分的影响,或者说有没有什么解决的思路。
6000 次点击
所在节点    Python
19 条回复
MinQ
2019-09-26 10:41:27 +08:00
能调光源调光源,一般的算法只能抑制反光。大面积的那种白得不行的反光算法也没啥办法
mushuiyu
2019-09-26 10:47:24 +08:00
@MinQ 唉,就是一条很亮的白色光带,很烦,提取边缘轮廓的时候就他最突出……
ctro15547
2019-09-26 10:51:40 +08:00
这种只能物理解决吧,算法能去掉物体表面反光这也太牛了。。或许可以淘宝看看有去反光的 uv 镜,就是单反的那种
MinQ
2019-09-26 10:53:02 +08:00
@mushuiyu Real-time Specular Highlight Removal Using Bilateral Filtering,你可以看一下,但基本上也就只能处理这种水平的反光
MinQ
2019-09-26 10:54:50 +08:00
@ctro15547 比较浅的反光还是可以用逼近或者滤波去掉的
ruxuan1306
2019-09-26 10:57:06 +08:00
@ctro15547 对,反射光是偏振光,可以使用偏振镜过滤
ChasYuan
2019-09-26 10:58:57 +08:00
算法估计很难,这种偏振光用偏振元件滤掉更方便
arrow8899
2019-09-26 11:03:11 +08:00
没做过图像处理;不过这种大面积反光应该能识别出反光区域吧,直接把这块的亮度调低行不
KKbu
2019-09-26 11:25:32 +08:00
如果是死白区域靠算法来去掉不好办吧,要提取的是特征点吗?
KKbu
2019-09-26 11:27:43 +08:00
@KKbu 如果是边缘轮廓的话试一下形态学滤波呢
insaneguy
2019-09-26 11:29:41 +08:00
先从物理层面考虑吧,有些信息缺失不是靠算法能解决的
MinQ
2019-09-26 11:30:48 +08:00
@KKbu 应该是反光掩盖了边缘轮廓吧
jendon
2019-09-26 12:22:09 +08:00
提供一个思路,所有像素值在 240 以上的像素,获取轮廓,先进行腐蚀,再进行膨胀,最后用周围的像素来填充轮廓...
mushuiyu
2019-09-26 14:45:30 +08:00
@KKbu 嗯,提取的是边缘轮廓
mushuiyu
2019-09-26 14:47:00 +08:00
@ctro15547 那我也买个 uv 镜试一下
mushuiyu
2019-09-26 14:52:57 +08:00
@MinQ 是反光部分也被当做特征提取出来了
jendon
2019-09-26 15:53:29 +08:00
@mushuiyu UV 镜是滤紫外线用的。滤反光用偏振镜(PL), 其实效果有限……
jendon
2019-09-26 15:54:50 +08:00
试试 v2 能不能放图
aguesuka
2019-09-27 09:41:54 +08:00
两种方案,第一种是物理手段。第二种是摄像头固定,改变光源角度拍,然后合成

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/604319

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX