如何在图像中隔离单一颜色
我正在使用Python的OpenCV库,现在我想要隔离一个颜色范围。也就是说,我想过滤掉所有不是红色的东西。
我试着只取红色通道,但这样做也把图片中的白色部分包含进来了。
有什么好的方法可以做到这一点吗?
3 个回答
0
你可以试试用这样的公式:r' = r - (g + b)?
1
使用HSV颜色空间。选择那些H值在你认为是“红色”范围内的像素,同时S值要足够大,这样你就不会把它们当成中性、栗色、棕色或粉色。你可能还需要排除那些亮度(V值)低的像素。H维度是一个圆,红色正好在这个圆的分界线上,所以你的H值范围会分成两部分,一部分接近255,另一部分接近0。
4