22

cv2.imread常に戻ってきNoneTypeます。

64 ビット Windows 7 で Python バージョン 2.7 と OpenCV 2.4.6 を使用しています。

別のコンピューターに python と cv2 パッケージをまったく同じようにインストールしても正しく動作するため、何らかのバグまたはアクセス許可の問題である可能性があります。コードは次のとおりです。

im = cv2.imread("D:\testdata\some.tif",CV_LOAD_IMAGE_COLOR)

http://www.lfd.uci.edu/~gohlke/pythonlibs/#opencvから OpenCV をダウンロードしました。手がかりをいただければ幸いです。

4

13 に答える 13

10

まず、パスが有効であり、バックスラッシュが 1 つも含まれていないことを確認してください。https://stackoverflow.com/a/26954461/463796など、他の回答を確認してください。

パスが修正されても画像がまだ読み込まれない場合は、2013 年の時点でまだ解決されていないOpenCV のバグcv2.imreadである可能性があります。

それまでの間、正常に動作する LoadImage を使用してください。

im = cv2.cv.LoadImage("D:/testdata/some.tif", CV_LOAD_IMAGE_COLOR)
于 2013-07-30T14:17:20.963 に答える
7

スラッシュの向きを変えてみてください

im = cv2.imread("D:/testdata/some.tif",CV_LOAD_IMAGE_COLOR)

または、文字列の先頭に r を追加します

im = cv2.imread(r"D:\testdata\some.tif",CV_LOAD_IMAGE_COLOR)
于 2014-11-16T06:22:00.127 に答える
2

これは解決するのに長い時間がかかりました。まず、ファイルがディレクトリにあることを確認し、Windows エクスプローラーでファイルが「JPEG」と表示されていても、実際には「JPG」であることを確認します。最初の print ステートメントは、ファイルが実際に存在することを確認するための鍵です。私は完全な初心者なので、コードがうまくいかない場合でも問題ありません。コードは、画像をインポートして表示するだけです。コードがファイルを見つけると、Python ウィンドウに True が出力されます。

import cv2
import sys
import numpy as np
import os

image_path= "C:/python27/test_image.jpg"
print os.path.exists(image_path)



CV_LOAD_IMAGE_COLOR = 1 # set flag to 1 to give colour image
CV_LOAD_IMAGE_COLOR = 0 # set flag to 0 to give a grayscale one
img = cv2.imread(image_path,CV_LOAD_IMAGE_COLOR)
print img.shape
cv2.namedWindow('Display Window') ## create window for display
cv2.imshow('Display Window', img) ## Show image in the window
cv2.waitKey(0) ## Wait for keystroke
cv2.destroyAllWindows() ## Destroy all windows
于 2015-09-08T20:34:49.287 に答える
0
>>> im=cv2.imread("C:\Users\Virgile\Downloads\red.JPG")
>>> print im
None

>>> im=cv2.imread("C:/Users/Virgile/Downloads/red.JPG")
>>> print im
[[[ 15  36  51]
  [ 18  34  51]
  [ 19  33  51]
  ...,

(opencv 3.0.0 でテスト済み)

于 2015-05-25T15:39:28.213 に答える