praveen
praveen

Reputation: 53

Why does cv2.imshow() result in error in Python?

I am running some basic OpenCV code l, but it results in error. The code is

import numpy as np
import cv2
img=cv2.imread('C:\Users\Pravin\Desktop\a.jpeg',1)
cv2.namedWindow('img',cv2.WINDOW_NORMAL)
cv2.Waitkey(10000)
cv2.imshow('cv2.WINDOW_NORMAL',img)
cv2.destoryAllWindows()

The error for cv2.imshow() is

Traceback (most recent call last):
 File "<pyshell#3>", line 1, in <module>
cv2.imshow('image',img)
error: ..\..\..\src\opencv\modules\highgui\src\window.cpp:261: error: (-215)
size.width>0 && size.height>

Why does this error happen, and how can I avoid it?

Upvotes: 5

Views: 56016

Answers (5)

Pranav Totla
Pranav Totla

Reputation: 2432

The error says that the image you opened doesn't satisfy the condition height > 0 and width > 0. This may have several reasons.

Most of the times, it is due to an inexistent image address given in imread.

Sometimes it may be also because imread failed to load the image. For example, if you write some random strings in notepad and save the file as a.jpg, imread will likely not be able to load it.

Upvotes: 3

M Sudhakar
M Sudhakar

Reputation: 11

It is because, python compiler cannot find the image in the place. if you copy the image in the python working directory and do this. it worked for me.

    # keep image in the current working directory
    img=cv2.imread('roi.jpg',1) 
    cv2.imshow('image',img)

Upvotes: 0

Vikas Gautam
Vikas Gautam

Reputation: 441

For me it worked when i just changed jpeg to jpg

Try this, may be it will work

import numpy as np
import cv2
img=cv2.imread('C:\Users\Pravin\Desktop\a.jpg',1)    #changed image format to jpg
cv2.namedWindow('img',cv2.WINDOW_NORMAL)
cv2.Waitkey(10000)
cv2.imshow('cv2.WINDOW_NORMAL',img)
cv2.destoryAllWindows()

Upvotes: 1

Sundu_Rapid
Sundu_Rapid

Reputation: 29

Try this...

import numpy as np
import cv2
img = cv2.imread('E:/Images/ece/1.png',1)
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

Upvotes: 1

Sergei Nosov
Sergei Nosov

Reputation: 1675

Most likely, the imread call didn't succeed. Make sure the image "C:\Users\Pravin\Desktop\a.jpeg" exists. (The extension .jpeg seems unusual, maybe it has to be .jpg?)

Also, as Hyperboreus suggests, please, try using forward slashes in the filename "C:/Users/Pravin/Desktop/a.jpg", or escape backslashes

"C:\\Users\\Pravin\\Desktop\\a.jpg"

Upvotes: 6

Related Questions