我有一张图片,如插图所示。如图所示,我使用蓝色在 Adobe Photoshop 中对它进行了采样。采样图像在左侧以灰度显示。
我知道 openCV 提供了一个类似的方法来采样图像,即 inRange()
函数。如何找出 Adobe 检查以对我的图像进行采样的 HSV 值范围。由于生成的图像几乎是我想要的,我无法自己确定范围如果有人能指导我做同样的事情,那将是一个很大的帮助。
最佳答案
您可以使用 cv::cvtColor(...)
将图像转换为 HSV here the documentation
然后根据Wikipedia蓝色接近图像 HUE channel 的 240°。
您可以设置 maxHue = 270
和 minHue = 180
或其他值来扫描图像。
也许你应该设置一个 minSaturation
和一个 minValue
来避免黑色和白色。
要找到最佳范围,您可以将它们与 Qt GUI 中的一些 slider 链接并更改它们,直到获得与 photoshop 相同的结果...
关于c++ - 由 adobe 完成的用于对图像进行采样的 HSV 值范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19210225/