在openCV中使用cv.SaveImage时出现运行时错误

2024-09-27 09:37:12 发布

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

我想将jpg文件转换为png,但运行此代码时:

from opencv import _cv    
from opencv.highgui import cvSaveImage, cvLoadImage

cvSaveImage("bet.jpg",cvLoadImage("bet.jpg")) 

if __name__ == '__main__':
    pass

它给出了我不理解的错误:

Traceback (most recent call last):
  File "convert.py", line 6, in <module>
    cvSaveImage("bet.jpg",cvLoadImage("bet.jpg")) 
  File "/usr/lib/pymodules/python2.6/opencv/highgui.py", line 183, in cvSaveImage
    return _highgui.cvSaveImage(*args)
RuntimeError:  openCV Error:
        Status=Null pointer
        function name=cvGetMat
        error message=NULL array pointer is passed
        file_name=cxarray.cpp
        line=2780

我有我的图片与同一文件夹的源代码和图像的名称是bet.jpg

有什么想法吗


Tags: 文件nameinfrompyimportlineopencv
3条回答

最好的选择是pyopencv:

import pyopencv as cv

img = cv.imread('01.png')

cv.imshow('img-windows',img)
cv.waitKey(0)
cv.imwrite('01.png',img)

Python CV documentation开始,将jpeg转换为png的CV2方法是: Python: cv2.imwrite(filename, img[, params]) → retval

以我为例:

import cv2
filename = 'pic.jpeg'
cam = cv2.VideoCapture(filename)
s, img = cam.read()
picName = 'pic.png'
cv2.imwrite(picName, img)

VideoCapture很好而且通用,可用于视频、网络摄像头和图像文件

我解决了这个问题,我从谷歌图像中随机获取的图像无法加载。也许是加密的或者我不知道的。我尝试了其他图像,效果很好。所以在复制图像时要小心:)

相关问题 更多 >

    热门问题