Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
OpenCv:克服亮度对颜色直方图的影响_Opencv_Histogram - Fatal编程技术网

OpenCv:克服亮度对颜色直方图的影响

OpenCv:克服亮度对颜色直方图的影响,opencv,histogram,Opencv,Histogram,我正在使用OpenCv。为了进行比较,我必须获取有关图像颜色直方图的数据 详细地说,我有大量的图像,我把它们组织成许多子集合,每个子集合由一组相似的图像组成。我的目标是能够得到一个新的图像,并根据颜色相似性确定它所属的子集 现在,我知道如何建立图像的直方图,但我的问题是如何尽可能减少图像亮度对颜色直方图的影响。在计算直方图之前,我曾考虑过使用cvEqualizeHist(),但由于我对OpenCv非常陌生,所以我不确定最好的方法是什么 非常感谢任何建议,使用CV\u BGR2HSV或CV\u R

我正在使用OpenCv。为了进行比较,我必须获取有关图像颜色直方图的数据

详细地说,我有大量的图像,我把它们组织成许多子集合,每个子集合由一组相似的图像组成。我的目标是能够得到一个新的图像,并根据颜色相似性确定它所属的子集

现在,我知道如何建立图像的直方图,但我的问题是如何尽可能减少图像亮度对颜色直方图的影响。在计算直方图之前,我曾考虑过使用cvEqualizeHist(),但由于我对OpenCv非常陌生,所以我不确定最好的方法是什么


非常感谢任何建议,

使用
CV\u BGR2HSV
CV\u RGB2HSV
选项将图像从RGB转换到HSV颜色空间。H、 S和V分别代表色调、饱和度和强度。在这个HSV空间中使用颜色直方图,并且只为V频道使用几个箱子。

谢谢。我不确定我是否理解你的意思。你的意思是H和S值不受亮度的影响吗?我试过H值,它似乎在不同的亮度条件下变得非常不同。如果您能添加一个解释,我将不胜感激。V频道承载了有关亮度的大部分信息;H和V通道受到影响,但没有V通道那么大。我想提醒你们,至少在不久的将来,你们不可能做出一种100%有效的方法。人们正在研究并提出新的想法来解决这些问题。非常感谢。你建议我给哪个H,S最重?你认为CVHist()能帮我吗?你所说的“只为V频道使用几个箱子”是什么意思?我该怎么做?首先,我建议您使用OpenCV的C++ API,当函数前面有一个代码> CV前缀,避免使用它,它属于C API,这使得事情变得困难。code>equalizeHist()可能会有所帮助,唯一的判断方法是使用交叉验证运行一些实验。