加载JPEG2000 RGBA格式图像时出现的问题

2024-09-29 23:28:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用OpenCV和枕头加载图像。 正在加载一些jpeg2k图像&;有些则不然。 我的分析是,RGB模式下的图像正在加载,而RGBA模式下的jpeg2k图像没有加载。 我使用Kakadu viewer进行了检查,可以查看RGB和;RGBA模式图像。同样由于OpenCV下面的错误,我断定图像没有损坏

未加载的枕头图像说明:

<PIL.Jpeg2KImagePlugin.Jpeg2KImageFile image mode=RGBA size=6972x5225 at 0x124F1E7B8>

同一图像的OpenCV警告和错误消息:

[ WARN:0] global /Users/travis/build/skvark/opencv-python/opencv/modules/imgcodecs/src/grfmt_jpeg2000_openjpeg.cpp (304) warningLogCallback OpenJPEG2000: Unknown marker

[ERROR:0] global /Users/travis/build/skvark/opencv-python/opencv/modules/imgcodecs/src/grfmt_jpeg2000_openjpeg.cpp (299) errorLogCallback OpenJPEG2000: Error reading SPCod SPCoc element, Invalid code-block style found

[ERROR:0] global /Users/travis/build/skvark/opencv-python/opencv/modules/imgcodecs/src/grfmt_jpeg2000_openjpeg.cpp (299) errorLogCallback OpenJPEG2000: Error reading COD marker

[ERROR:0] global /Users/travis/build/skvark/opencv-python/opencv/modules/imgcodecs/src/grfmt_jpeg2000_openjpeg.cpp (299) errorLogCallback OpenJPEG2000: Marker handler function failed to read the marker segment

我不是图像分析方面的专家,因此需要帮助了解哪些库可用于加载图像。 我不能上传图片,因为它是保密的。如果我发现类似的图片,我会上传它们

  • opencv python==4.3.0.36
  • 枕头==7.2.0

Tags: 图像buildsrctravismodulesglobalopencvusers
1条回答
网友
1楼 · 发布于 2024-09-29 23:28:12

我使用以下LIB进行了检查: Rasterio、openjpeg、glymur、opencv、Matplotlib、枕头、ImageMagick

  • 得到gylumr的适当回应如下: 用户警告:文件类型品牌为“jph”。它应该是“jp2”或“jpx”。 warning.warn(msg,UserWarning)文件类型兼容性列表['jph']无效。所有项目都应该是['jp2'、'jpx'、'jpxb'的成员
  • Opencv(cv2.imread)不会抛出任何错误/日志,即使在设置了环境变量Opencv_LOG_LEVEL=INFO之后,响应也为none
  • Matplotlib将映像加载为4通道空数组
  • 枕头加载图像为4通道空阵列

我们使用Kakadu对图像进行编码,内部以jph格式保存图像,然后将这些图像转换为jp2格式的图像

由于我找不到任何现有的库来加载jph图像,所以计划编写python包装器,以便在Kakadu libs之上获得NumPy数组

我们仅将kakadu用于马赛克图像&;这就是为什么一些带有“jp2”的图像加载正确的原因&;只有马赛克图像没有加载

相关问题 更多 >

    热门问题