質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.36%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

57358閲覧

openCVを用いた画像出力ができません。

daisuke_factex

総合スコア42

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

1クリップ

投稿2017/10/02 08:01

編集2017/10/03 01:53

###困っていること
素人質問です。
Anaconda Navigator経由でopenCVをインストール後、openCVで画像の出力を行う際にエラーが出てきてしまいます。
エラーの文言に大きさに関係したことが書かれているので画像そのものの問題なのか、分からない為困っております。。

###発生している問題・エラーメッセージ

OpenCV Error: Assertion failed (size.width>0 && size.height>0) in cv::imshow, file D:\Build\OpenCV\opencv-3.3.0\modules\hig hgui\src\window.cpp, line 333 Traceback (most recent call last): File "<stdin>", line 1, in <module> cv2.error: D:\Build\OpenCV\opencv-3.3.0\modules\highgui\src\window.cpp:333: error: (-215) size.width>0 && size.height>0 in function cv::imshow

###該当のソースコード

import cv2 import numpy as np img = cv2.imread("logo.jpg") cv2.imshow("color",img)

###補足情報(言語/FW/ツール等のバージョンなど)
python3系、Anaconda Navigatorよりコマンドプロンプトを起動。
windows10使用。

##10.3午前追記

まず「cv2.imreadの引数を絶対パスにすべし」という回答をいただいたので、
ファイルに対してshiftキー+右クリックで出てくる「パスのコピー」を行い、
引数("C:/Users/hogehoge/Pictures/hoge.jpg")に貼り付けましたが、SyntaxError:(unicode error)が出たので別の方法を考えました。

改めて考えたところ、コマンドプロンプトからpythonに入る前にcd hogehogeで同じディレクトリにし忘れていました。。。(本当に初歩的なミスです)

その後、

img = cv2.imread("hoge.jpg") cv2.imshow("image", img) print(img.shape) ##->(348,730,3)と出力

となりました。しかし肝心の画像が出てきませんでした。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

LouiS0616

2017/10/02 08:03

logo.jpgの読出しに失敗しているのでは?img.shapeの結果を書いてみてください。
daisuke_factex

2017/10/03 01:40

回答有り難うございます。たった今print(img.shape)で確認したとところ、「AttributeError: 'NoneType' object has no attribute 'shape'」とのエラーが発生しました。 詳しくは追記に記載します。
guest

回答1

0

ベストアンサー

cv2.imreadで、読み取りに失敗しても処理は継続します。

Python

1>>> import cv2 2>>> import numpy as np 3>>> img = cv2.imread('') # もちろん読み取れないよ 4>>> cv2.imshow('image', img) 5OpenCV Error: Assertion failed (size.width>0 && size.height>0) in cv::imshow, file D:\Build\OpenCV\opencv-3.3.0\modules\highgui\src\window.cpp, line 333 6Traceback (most recent call last): 7 File "<stdin>", line 1, in <module> 8cv2.error: D:\Build\OpenCV\opencv-3.3.0\modules\highgui\src\window.cpp:333: error: (-215) size.width>0 && size.height>0 in function cv::imshow 9 10>>> img is None 11True 12>>> img.shape 13Traceback (most recent call last): 14 File "<stdin>", line 1, in <module> 15AttributeError: 'NoneType' object has no attribute 'shape'

まずはcv2.imreadの引数を絶対パスで書いてみてください。


しかし肝心の画像が出てきませんでした。

waitKeyしていないからでは。

Python

1img = cv2.imread("hoge.jpg") 2cv2.imshow("image", img) 3cv2.waitKey()

投稿2017/10/02 08:08

編集2017/10/03 02:02
LouiS0616

総合スコア35668

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

daisuke_factex

2017/10/03 02:20

最後の1行で画像が表示できました! この呪文が必要なのですね・・・!ありがとうございました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問