cv.SaveImage in openCV


Question

I'm trying to learn how to use opencv in python and having some difficulties, and also I'm a newbie at python too.

Here is my question :

I want to convert a jpg file tp png. Simple and clear. But when I run this code :

from opencv import _cv

from opencv.highgui import cvSaveImage, cvLoadImage


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



if __name__ == '__main__':
    pass

It gives this error which I don't understand :

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

I have my picture with the same folder of source code and the name of the image is bet.jpg

Any idea ??

1
11
3/17/2010 1:55:35 PM

Accepted Answer

I solved the problem, the image I took randomly from the Google Images doesn't load. Maybe it's encrypted or something I don't know. I tried it with other images, and worked very well. So watch out while copying images : )

3
3/17/2010 8:55:59 PM

The best choice is pyopencv:

import pyopencv as cv

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

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

Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow
Icon