MacOS使用 ImageMagick修复损坏的JPG文件

在使用OpenCV处理图像的时候,有时我们会遇到一些损坏的JPG文件,这些文件只是末尾有少量数据损坏,能正常用图像查看软件打开,但是OpenCV检测到了文件末尾错误,就会拒绝对图像进行处理。这种情况下我们可以用 ImageMagick 来对JPG文件进行修复。

1. MacOS安装 ImageMagick

Hombrew安装一个命令即可。

brew install imagemagick

2. 修复文件

  • 直接修复
mogrify -set comment 'Image rewritten with ImageMagick' *.jpg
  • 将文件修复并保存为png格式
mogrify -set comment "errors fixed in meta info" -format png *.jpg

绕过OpenCV对损坏文件检测还有一种方法:
修改openCV源代码重新编译,请参照参考文献第二篇里提供的答案进行。我没有实际操作,因为作为初学者我不太倾向于修改源代码。

参考文献:
Mac环境安装imagemagick及使用imagemagick拼接图片
How can I catch corrupt JPEGs when loading an image with imread() in OpenCV? - Stack Overflow

发布了227 篇原创文章 · 获赞 148 · 访问量 34万+

猜你喜欢

转载自blog.csdn.net/toopoo/article/details/104751995
今日推荐