J'essaie de lire et d'afficher une image en Python OpenCV.
Exécution du code suivant:
import cv2
import numpy as np
import matplotlib.pyplot as plt
img = cv2.imread('dumb.jpg', cv2.IMREAD_GRAYSCALE)
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
Résultats dans l'erreur suivante:
cv2.error: C:\build\master_winpack-bindings-win64-vc14-static\opencv\modules\highgui\src\window.cpp: 325: erreur: (-215) size.width> 0 && size.height> 0 dans la fonction cv :: imshow
Comment résoudre ça?
REMARQUE: j'ai tous les prérequis nécessaires pour l'exécuter (python 2.7, opencv 3.3 matplotlib, numpy)
@Nagaraj - Si vous essayez d'afficher une image openCV à l'aide de matplotlib, utilisez le code ci-dessous.
import numpy as np
import cv2
import matplotlib.pyplot as plt
%matplotlib inline # if you are running this code in jupyter notebook
img = cv2.imread('/path_to_image/opencv-logo.png',0) # reads image 'opencv-logo.png' as grayscale
plt.imshow(img, cmap='gray')
Voici un court article pour apprendre la lecture d'images avec OpenCV en python. Vous pouvez voir l'extrait de code ci-dessous avec la description.
import cv2 #Import openCV
import sys #import Sys. Sys will be used for reading from the command line. We give Image name parameter with extension when we will run python script
#Read the image. The first Command line argument is the image
image = cv2.imread(sys.argv[1]) #The function to read from an image into OpenCv is imread()
#imshow() is the function that displays the image on the screen.
#The first value is the title of the window, the second is the image file we have previously read.
cv2.imshow("OpenCV Image Reading", image)
cv2.waitKey(0) #is required so that the image doesn’t close immediately. It will Wait for a key press before closing the image.
il y a un tutoriel sur http://docs.opencv.org/3.1.0/dc/d2e/tutorial_py_image_display.html
import numpy as np
import cv2
# Load an color image in grayscale
img = cv2.imread('/path_to_image/messi5.jpg',0)
# show image
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
utilisez un chemin absolu vers l'image, vous n'aurez aucun problème de chemin
https://en.wikipedia.org/wiki/Path_ (informatique) #Absolute_and_relative_paths
Erreur OpenCV: (-215) size.width> 0 && size.height> 0 dans la fonction imshow
Utilisez 0 plutôt que cv2.IMREAD_GRAYSCALE
et je coderais en dur l'emplacement du fichier plutôt que de s'y référer comme ça par exemple si c'était sur le lecteur C mettez 'C:\\Filename.jpg'
Essaye celui-là :
import cv2 as cv #openCV-3.4.1
import numpy as np
import matplotlib.pyplot as plt
img = cv.imread('image path and name .file type ',0)
cv.imshow('img',img)
cv.waitKey(0)
cv.destroyAllWindows()
Pour lire une image avec OpenCV, vous devez utiliser le synthax suivant. Si cela ne fonctionne pas, il y a un problème avec l'installation.
import cv2
image = cv2.imread('path_of_the_image.png')
cv2.imshow('img', image)
cv2.waitKey(0)
Vous n'avez pas posté l'erreur qu'il donne ..
EDIT: Je ne comprends pas les points négatifs ... pour quoi ??
La raison de ce message d'erreur est que cv2.imread () n'a pas pu trouver l'image où il recherchait l'image. Cela devrait fonctionner si vous ajoutez le chemin d'accès complet à l'image, comme
img = cv2.imread('/home/foo/images/dumb.jpg',cv2.IMREAD_GRAYSCALE)