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

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

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

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

Python

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

Q&A

解決済

3回答

7114閲覧

python画像サイズ変更

mochisio

総合スコア19

OpenCV

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

Python

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

0グッド

0クリップ

投稿2017/11/24 06:02

###前提・実現したいこと
python2で画像を拡大・縮小するプログラムを作っています。
###発生している問題・エラーメッセージ

AttributeError Traceback (most recent call last) <ipython-input-4-2a16aa5ddbd0> in <module>() 5 6 # 読み込んだ画像の高さと幅を取得 ----> 7 height = img.shape[0] 8 width = img.shape[1] 9 AttributeError: 'NoneType' object has no attribute 'shape'

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

python

1import cv2 2 3# 画像の読み込み 4img = cv2.imread("face.jpg", 1) 5 6# 読み込んだ画像の高さと幅を取得 7height = img.shape[0] 8width = img.shape[1] 9 10resized_img = cv2.resize(img,(width/2, height/2)) 11 12cv2.imshow("img", resized_img) 13cv2.waitKey(0) 14cv2.destroyAllWindows()``` 15 16###試したこと 17openCV2.3内のフォルダにshapesというデータがあったのでソース内のshapeをshapesに変えてもだめでした。 18###補足情報(言語/FW/ツール等のバージョンなど) 19より詳細な情報

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

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

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

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

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

guest

回答3

0

おそらくimgの読み込みに失敗しています。
まずはcv2.imreadの引数を絶対パスにして試してみてください。
それで改善するなら、ファイルの配置が良くないということです。

実験コード

Python

1>>> import cv2 2>>> 3>>> # もちろん開けないが、エラーにはならない 4... img = cv2.imread('hogehoge') 5>>> 6>>> # 中身は空っぽ 7... print(img) 8None 9>>> 10>>> img.shape 11Traceback (most recent call last): 12 File "<stdin>", line 1, in <module> 13AttributeError: 'NoneType' object has no attribute 'shape'

投稿2017/11/24 06:04

編集2017/11/24 10:50
LouiS0616

総合スコア35660

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

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

退会済みユーザー

退会済みユーザー

2017/11/24 10:36

mochisioさん: 絶対アドレスで指定する際に、アドレス中に半角スペースや全角があるとよくない(ことが多い)のでそこも気を付けてください。
LouiS0616

2017/11/24 10:47

slashさん 確かにその点も留意する必要がありますね。有益なコメントありがとうございます。
mochisio

2017/11/28 04:15 編集

face.jpgはCドライブのユーザーの'testimg'というフォルダに入っています。 そして、ソースコードを試しましたがコードどおりにエラーが出ました。
LouiS0616

2017/11/28 14:34 編集

Windowsでしたら、Shiftキーを押しながら右クリック⇒『パスのコピー』でフルパスが取得できます。 バックスラッシュが邪魔になるので、raw文字列で貼り付けてください。 イメージ ⇒ img = cv2.imread(r'C:\Users\mochisio\testimg\face.jpg', 1) 疑っているようで申し訳ないですが、経験上パス違いが一番あり得るミスです。 データが壊れていないのであれば...
mochisio

2017/11/29 04:48

画像データは壊れてませんし、パスをコピーしましたが駄目でした。
guest

0

https://docs.opencv.org/3.0-beta/doc/py_tutorials/py_gui/py_image_display/py_image_display.html

"face.jpg"というファイルがないときimgはNoneになります。

投稿2017/11/24 06:05

mkgrei

総合スコア8560

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

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

0

自己解決

アドレス内の¥を/にしたら解決しました。

投稿2017/12/04 03:46

mochisio

総合スコア19

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問