web-dev-qa-db-ja.com

Python OpenCVで画像を読み取る方法

Python OpenCVで画像を読み取って表示しようとしています。

次のコードを実行します。

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()

次のエラーが発生します。

cv2.error:C:\ build\master_winpack-bindings-win64-vc14-static\opencv\modules\highgui\src\window.cpp:325:エラー:(-215)size.width> 0 && size.height> 0関数cv :: imshowで

これを解決するには?

注:これを実行するために必要なすべての前提条件があります(python 2.7、opencv 3.3 matplotlib、numpy)

9
Nagaraj

@Nagaraj-matplotlibを使用してopenCVイメージを表示しようとしている場合は、以下のコードを使用します。

    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')
8
ksp585

ここに短い投稿があります PythonでOpenCVを使用して画像読み取りを学習します。以下のコードスニペットと説明をご覧ください。

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.

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()

イメージへのabsoluteパスを使用すると、パスに問題はありません

https://en.wikipedia.org/wiki/Path_(computing)#Absolute_and_relative_paths

OpenCVエラー:(-215)size.width> 0 && size.height> 0 in関数imshow

1
ralf htp

cv2.IMREAD_GRAYSCALEではなく0を使用します。たとえば、Cドライブにある場合、'C:\\Filename.jpg'のように参照するのではなく、ファイルの場所をハードコーディングします

0
George Deeley

これを試してください:

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()

OpenCVで画像を読み取るには、次のsynthaxを使用する必要があります。動作しない場合は、インストールに問題があります。

import cv2

image = cv2.imread('path_of_the_image.png')

cv2.imshow('img', image)
cv2.waitKey(0)

エラーが投稿されていません。

編集:私はマイナスポイントを理解していません...何のために?

0
Link

このエラーメッセージの理由は、cv2.imread()が画像を探していた画像を見つけることができなかったためです。これは、次のように画像にフルパスを追加した場合に機能するはずです

img = cv2.imread('/home/foo/images/dumb.jpg',cv2.IMREAD_GRAYSCALE)
0
Totoro