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

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

新規登録して質問してみよう
ただいま回答率
85.48%
OpenCV

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

1回答

2314閲覧

pythonで好きな画像を表示するやり方

sekaikan_ozaki

総合スコア65

OpenCV

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2018/01/05 03:47

python3.5,OpenCV3.3を使っているプログラミング初心者です。

好きな画像を入力して、表示するプログラムを書きたいのですが、

error: (-215) size.width>0 && size.height>0 in function cv::imshow

といった、エラー文が出てしまいうまくいきません。
どうすれば、解決できるでしょうか?

よろしくお願いいたします。

以下、プログラムです。

#-- coding:utf-8 --
import cv2
import numpy as np

#画像を入力
img = input('画像をを入力してください: ')
#画像の読み込み
gazou = cv2.imread("img")
#画像の表示
cv2.imshow("img", gazou)

参考までに、下のサンプルプログラムは、test.jpgという画像をあらかじめコードの中で決めております。
このtest.jpgを対話形式で、自分が入力して、表示させたいということです。

-- coding: utf-8 --

import cv2

画像の読み込み

img = cv2.imread("test.jpg")

画像の表示

cv2.imshow("img", img)

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

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

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

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

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

guest

回答1

0

gazou = cv2.imread("img")ではなくgazou = cv2.imread(img)です。
これではimgという名前のイメージファイルを開こうとしてしまいます。

なお、imreadは読み取りに失敗するとNoneを返します。
画像サイズの要件を満たさない(というかチェックできない)ことがエラーの直接的原因です。

質問の仕方について

teratailには、下記のようにコードを見やすく表示する機能があります。
質問編集画面を開き、コードを選択した状態で<code>ボタンを押してください。
特にPythonの場合、インデントが崩れるとコードの意味が変わってしまいます。

Python

1def main(): 2 print('Hello world') 3 4if __name__ == '__main__': 5 main()

投稿2018/01/05 04:04

編集2018/01/05 04:07
LouiS0616

総合スコア35660

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

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

sekaikan_ozaki

2018/01/07 08:18

回答ありがとうございます。 gazou = cv2.imread("img")ではなくgazou = cv2.imread(img)に直し、 読み込んだ画像に対し、cv2.namedWindow("img", cv2.WINDOW_KEEPRATIO | cv2.WINDOW_NORMAL)で、サイズの比率をキープするコードを加えました。 しかし、画像の表示がうまくいかないようで、応答なしになってしまいます。 上手く表示するためには、まだ改善する箇所があるでしょうか?? 以下、ソースコードとなります。 #-*- coding:utf-8 -*- import cv2 import numpy as np #画像を入力 img = input('画像をを入力してください: ') #画像の読み込み gazou = cv2.imread(img) cv2.namedWindow("img", cv2.WINDOW_KEEPRATIO | cv2.WINDOW_NORMAL) #画像の表示 cv2.imshow("img", gazou)
LouiS0616

2018/01/07 08:28

最後にcv2.waitKey()を付け加える必要があります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問