2

我正在尝试对使用 openCV 的项目进行故障排除。在某处,有一个直方图均衡——当输入图像是纯黑色(或纯白色或纯色)时崩溃。
我一直在尝试解决我得到的调试断言失败 - “表达式:向量下标超出范围” - 不成功。注意:该方法不使用 EqualizeHistogram,它手动创建直方图,计算每个级别的像素,进行平均 - 就像教科书中一样。
如果我可以隔离具有离散颜色分布的情况 - 只有一个颜色尖峰 - 我就不能进行这种优化,并防止崩溃。到目前为止,程序崩溃的唯一情况是图像直方图在一种颜色中只有一个值,而在其他任何地方都为 0。

如何查看图像中有多少种颜色?
请帮忙 !谢谢你。
编辑:我所要做的就是用 OpenCV 方法 cvEqualizeHistogram 替换不起作用的方法。

4

1 回答 1

0

根据我的经验,opencv 没有经过很好的同行评审和适当的测试,这导致它在边界情况下有奇怪的行为(我在使用 GrabCut 时遇到了一些麻烦)。但是由于函数直方图已经存在很长时间,我怀疑它是否仍然存在错误。也许你做错了什么?如果您有非常小尺寸的人造垫,您是否也可以重现错误?也许是 1x2?

于 2012-05-17T00:36:53.613 回答