【问题标题】:'libpng error: Read Error' by using open cv imread'libpng 错误:使用 open cv imread 读取错误'
【发布时间】:2018-03-22 20:04:14
【问题描述】:

我目前正在使用 Anaconda 4.3.27、Python 3.6.2 和 OpenCV 3.3.0

当我尝试时

img1 = cv2.imread('D:\Images\3D-Matplotlib.png')
img2 = cv2.imread('D:\Images\mainsvmimage.png')

我收到libpng error: Read Error 并出现一个弹出窗口,表明 Python 停止工作。我已经尝试将 '\' 替换为 '\\' 和 '/',但在这些情况下也会出现相同的错误。当我尝试读取 jpg 而不是 png 时,我没有收到错误消息。有人知道这里可能是什么问题吗?

提前致谢!

编辑:

cv2.imwrite 也报错:

libpng error: Write Error

【问题讨论】:

  • 图片是否存在给定路径?也许你可以试试 os.listdir("D:/Images/")
  • 是的。当我尝试 os.listdir 时,它们被返回...

标签: python opencv anaconda libpng imread


【解决方案1】:

在使用带有 Latex 的 Matplotlib 时,Anaconda 遇到了同样的问题。解决方案是更新 libpng。 https://github.com/ContinuumIO/anaconda-issues/issues/6271

【讨论】:

    【解决方案2】:

    尝试添加cv2.imreadhttps://docs.opencv.org/2.4/modules/highgui/doc/reading_and_writing_images_and_video.html)所需的标志(灰度,...)

    并使用r 作为路径

     img2 = cv2.imread(r"D:\Images\mainsvmimage.png",0)
    

    0 将图像加载为灰度)

    OpenCV Python not opening images with imread()

    如果这仍然不起作用,可以使用另一个图像进行测试,因为图像标题 cf 可能存在问题。 libpng error: Read Error 或您的 libpng 版本,参见。 Libpng conflict on OpenCV?

    【讨论】:

    • 添加标志并在路径前使用'r'不起作用。我尝试保存可以打开为 png 的 jpg,但是当我尝试使用 imread 读取它时,我得到了同样的错误。如果问题是由 libpng 版本引起的,我不应该得到一个不同的错误,比如“OpenCV 上的 Libpng 冲突?”-link?
    • 你能用img2 = cv2.imread(r"D:\Images\jpg_image.jpg.",0)打开一个.jpg吗?通常这应该有效,如果有效,问题要么与libpng 有关,要么与您的pngs 的标题或权限问题有关,通常上面的python 代码是正确的
    • 是的,我可以打开 .jpg。我现在尝试更新 conda 和 libpng,但更新后仍然出现相同的错误。有没有办法缩小我的错误来自哪里?我对 Python 和 OpenCV 还很陌生,所以我还没有那么多经验。
    • 我不知道,很可能这是libpng 错误,我不熟悉Windows。 libpng 版本必须与opencv 的版本匹配。如果您没有固定到.png,请使用.jpg 文件并跳过libpng 错误跟踪。在 matplotlib 中,您可以将文件另存为 .jpg,如 stackoverflow.com/questions/8827016/…
    • 是的,现在我将通过仅使用 .jpg 来规避这个问题。希望在未来的某个地方,问题出在哪里会变得很清楚。感谢您的努力!
    猜你喜欢
    • 2012-11-11
    • 1970-01-01
    • 2016-02-15
    • 1970-01-01
    • 1970-01-01
    • 2019-06-03
    • 1970-01-01
    • 1970-01-01
    • 2020-04-25
    相关资源
    最近更新 更多