如何在图像中隔离单一颜色

1 投票
3 回答
3206 浏览
提问于 2025-04-15 12:07

我正在使用Python的OpenCV库,现在我想要隔离一个颜色范围。也就是说,我想过滤掉所有不是红色的东西。

我试着只取红色通道,但这样做也把图片中的白色部分包含进来了。

有什么好的方法可以做到这一点吗?

3 个回答

0

你可以试试用这样的公式:r' = r - (g + b)?

1

使用HSV颜色空间。选择那些H值在你认为是“红色”范围内的像素,同时S值要足够大,这样你就不会把它们当成中性、栗色、棕色或粉色。你可能还需要排除那些亮度(V值)低的像素。H维度是一个圆,红色正好在这个圆的分界线上,所以你的H值范围会分成两部分,一部分接近255,另一部分接近0。

4

使用不同的颜色空间:http://en.wikipedia.org/wiki/HSL_color_space

撰写回答