opencv - 如何在OPENCV中禁用JPEG损坏消息?

标签 opencv libjpeg

我正在处理通过高速IP摄像机通过以太网端口传输图像的图像。在传输过程中,一些字节偶尔会丢失或损坏,而不会产生任何视觉影响。当我使用cvLoadImage顺序加载图像时,经常会出现类似“错误的JPEG数据:数据段的提前结束”或“错误的JPEG数据:标记0 * d9之前的多余字节”的消息。

我不希望cvLoadImage显示此类错误,因为由于图像的高速传输它们很常见。打印到控制台也很费时间,因为我一次可能处理多达2000张图像。

如何禁用这些消息。我有Opencv 2.0源码,如果获得正确的指针,可以深入研究它。

P.S. 我尝试研究grfmt_jpeg.cpp和类似的源文件,但是在任何地方都找不到此错误消息。

最佳答案

我认为,没有一种避免这些错误打印输出的好方法,因为它们源自libjpeg的核心。

如果您确实想深入挖掘并查看实际上是谁在发出错误,请查看3rdparty / libjpeg /。查看jerror.h / c。

PS。 我认为您的特定错误来自jdhuff.c中jpeg_fill_bit_buffer()中的 no_more_bytes -goto-flag。

关于opencv - 如何在OPENCV中禁用JPEG损坏消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20531042/

相关文章:

python - 无法在 Windows 上安装 opencv-python

c++ - 将扭曲/转换后的图像与基本图像匹配的最快、最准确的方法?

c++ - opencv估计RigidTransform : How to get global scale?

c++ - 从 QByteArray 使用 libjpeg 加载 jpeg 图像纹理

libjpeg 的 Python 成像库错误

c - 一次对多个扫描线使用 jpeg_write_scanlines 是否更好?

python - 我可以将小图像(13x12)随机添加到像素数组(与小图像尺寸相同的随机像素)吗?

python - FFT减法-OpenCV

macos - 找不到 libjpeg 的安装

linux - 无法在 Centos 6 上安装 jpegoptim