Home > other >  Python OpenCV Error: cv2.error :-1: error: in function 'imshow'
Python OpenCV Error: cv2.error :-1: error: in function 'imshow'

Time:10-10

I started to learn OpenCV today and faced with a small problem:

cv2.error: OpenCV(4.6.0) :-1: error: (-5:Bad argument) in function 'imshow'*

You can use this issue just to warm up before going to solve more complicated questions:)

Thank you!

The code:

import cv2 as cv 

img = R'Photos and videos\Photos and videos\Dogs photo.jpg'

cv.imread = img

cv.imshow("Dog", img)

cv.waitKey(0)

The Error

Traceback (most recent call last):
  File "C:\Program Files\Python310\lib\runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\Program Files\Python310\lib\runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "C:\Users\Admin\PycharmProjects\pythonProject1\read.py", line 7, in <module>
    cv.imshow("Dog", img)
cv2.error: OpenCV(4.6.0) :-1: error: (-5:Bad argument) in function 'imshow'
> Overload resolution failed:
>  - mat is not a numpy array, neither a scalar
>  - Expected Ptr<cv::cuda::GpuMat> for argument 'mat'
>  - Expected Ptr<cv::UMat> for argument 'mat'

CodePudding user response:

cv.imread() is a function which takes in a "path" as an argument, so you need to pass the path to your image to it and it will then return the CV2 Image object, which you can pass that imshow() to display.

import cv2 as cv 

path = R'Photos and videos\Photos and videos\Dogs photo.jpg'

img = cv.imread(path)

cv.imshow("Dog", img)

cv.waitKey(0)
  • Related