我正在处理通过高速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/