I am a beginner at opencv and python. I have just installed opencv2.4.9 and enthought canopy-32bit. I am getting error for the following:
import cv2
image = cv2.imread('Lena.jpg')
cv2.imwrite('Mypic',image)
This is what I get:
c:\users\nam\appdata\local\temp\tmpokspbt.py in <module>()
3
4 image = cv2.imread('Lena.jpg')
----> 5 cv2.imwrite('Mypic',image)
error: ..\..\..\..\opencv\modules\highgui\src\loadsave.cpp:275: error: (-2) could not find a writer for the specified extension in function cv::imwrite_
OpenCV-Python is a library of Python bindings designed to solve computer vision problems. cv2. imwrite() method is used to save an image to any storage device. This will save the image according to the specified format in current working directory. Syntax: cv2.imwrite(filename, image)
Your answerThis error may occur if you didn't install opencv module in your system. So first check this module is available or not. If it is not available, then install this module. But before that, try to check numpy module is available or not.
imwrite will overwrite existing files without outputting an error or asking for confirmation. Image of any format can be saved using this method.
cv2. imshow() method is used to display an image in a window. The window automatically fits to the image size. Syntax: cv2.imshow(window_name, image)
you need to give an extension to imwrite(), so it knows, how to save(compress) it.
cv2.imwrite('Mypic.png',image)
# jpg,bmp,png,ppm,pgm,tiff supported 'out-of-the-box,
# webp,jp2 depending on if you compiled in the resp. 3rd party support
# no gif or tga.
You need to make sure you have the image type within the string you give to the imwrite().
imwrite() dose not have a default method to save, thus it is required within the name you give to it.
instead of :
cv2.imwrite('Mypic',image)
you need to write :
cv2.imwrite('Mypic.The_format_you_want_to_save',image)
As an example:
cv2.imwrite('Mypic.jpg',image)
Add an extension for the output file like .jpg, .png, etc based on the application.
For example in this case you could use,
import cv2
image = cv2.imread('Lena.jpg')
cv2.imwrite('Mypic.jpg',image)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With