OpenCV 项目在将直方图应用于黑色图像时崩溃
OpenCV project crashes when applying histogram to black image
我正在尝试对使用openCV的项目进行故障排除。在某处,有一个直方图均衡 - 当输入图像是纯黑色(或纯白色或纯白色(时崩溃。
我一直在尝试解决我得到的调试断言失败 - "表达式:矢量下标超出范围" - 不成功。注意:该方法不使用均衡直方图,它手动创建直方图,计算每个级别的像素,做平均值 - 就像在教科书中一样。如果我可以在具有离散颜色分布(只有一个颜色尖峰(时隔离这种情况,我就无法进行此优化并防止崩溃。到目前为止,程序崩溃的唯一情况是图像直方图在一种颜色中只有一个值,而其他任何地方都有 0。如何查看图像中有多少种颜色?
请帮忙!谢谢。
编辑:我所要做的就是替换不适用于OpenCV方法的方法,cvEqualizeHistogram。
根据我的经验,opencv 没有得到很好的同行评审和适当的测试,这导致它在边界情况下有奇怪的行为(我在 GrabCut 上遇到了一些麻烦(。但是由于函数直方图已经存在了很长时间,我怀疑它仍然存在错误。也许你做错了什么?如果您有非常小的人造垫,您也能重现错误吗?也许是 1x2?
相关文章:
- 具有 GPU 时间表的卤化物产生黑色图像
- openCV中的Absdiff可以编译,但显示黑色图像
- 在图像上的矩形区域之外填充黑色
- 具有SPI_SETDESKWALLPAPER功能的程序仅在尝试使用C++将其更改为图像时将桌面背景更改为黑色
- OpenCv 3.3 Cuda 中值过滤器生成 2/3 的图像黑色
- OPENCV :: CUDA GPUMAT CV_8UC1至CV_32FC1转换黑色图像
- OpenCV,Dlib - 作为黑色图像输出的垫子对象
- 从C++中的屏幕选择创建位图时的黑色图像
- 屏幕截图仅返回黑色图像
- 在C++中,在图像周围填充黑色边框是最有效的方法
- 在opencv中使用imwrite保存图像时,会将图像全部写入黑色,但imshow会正确显示
- 从HWND获取并保存位图(每个像素8,4,1位-黑色图像)
- OpenCV 项目在将直方图应用于黑色图像时崩溃
- SDL产生黑色图像
- 我正在尝试将灰度转换为更大的黑色图像.我得到这个错误OpenCV错误:断言失败
- 在黑色图像上叠加精明的边缘
- 加载RGB PNG会导致黑色图像
- VTKPNGWriter打印黑色图像
- visual截图c++ directx得到黑色图像
- 使用NDK从本机内存恢复图像会返回无显示的黑色图像