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

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

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

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

Q&A

解決済

1回答

3107閲覧

Python, Pillowを用いた画像結合

mmtt

総合スコア23

Python

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

0グッド

0クリップ

投稿2019/05/26 11:53

編集2019/05/26 13:09

やりたいこと

ファイル1()とファイル2()を読み込んでファイル3()に結合する。
エラーの原因がわかる方はご回答お願い致します。
※以下のサイトを参考にコードを書いたのでファイル名の箇所以外はおそらく間違えていないと思います。
https://note.nkmk.me/python-pillow-concat-images/

###実際のコード

from PIL import Image im1 = Image.open('https://cdn.statsroyale.com/images/cards/full/baby_dragon.png') im2 = Image.open('https://cdn.statsroyale.com/images/cards/full/baby_dragon.png') def get_concat_h(im1, im2): dst = Image.new('RGB', (im1.width + im2.width, im1.height)) dst.paste(im1, (0, 0)) dst.paste(im2, (im1.width, 0)) return dst get_concat_h(im1, im1).save('data/dst/pillow_concat_h.png')

出たエラー

Traceback (most recent call last):
File "C:\Users\maoto\Desktop\python_lesson\CRL\image.py", line 3, in <module>
im1 = Image.open('https://cdn.statsroyale.com/images/cards/full/baby_dragon.png')
File "C:\Users\maoto\AppData\Local\Programs\Python\Python37-32\lib\site-packages\PIL\Image.py", line 2652, in open
fp = builtins.open(filename, "rb")
OSError: [Errno 22] Invalid argument: 'https://cdn.statsroyale.com/images/cards/full/baby_dragon.png'

試したこと

ファイル名が正しくないようなので、画像ファイルをaaaa.pngという名前でPCに保存し、https:~のところをaaa.pngに変更して実行してみましたが、同じエラーが出てしまいます。
具体的には、

im1 = Image.open('https://cdn.statsroyale.com/images/cards/full/baby_dragon.png') im2 = Image.open('https://cdn.statsroyale.com/images/cards/full/baby_dragon.png') # ↑変更前 # ↓変更後 im1 = Image.open('snowball.png') im2 = Image.open('snowball.png')

以下のようなエラーが出ました。

Traceback (most recent call last): File "C:\Users\maoto\Desktop\python_lesson\CRL\image.py", line 3, in <module> im1 = Image.open('snowball.png') File "C:\Users\maoto\AppData\Local\Programs\Python\Python37-32\lib\site-packages\PIL\Image.py", line 2652, in open fp = builtins.open(filename, "rb") FileNotFoundError: [Errno 2] No such file or directory: 'snowball.png' コード

イメージ説明

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

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

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

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

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

can110

2019/05/26 12:04

「試したこと」を実行しましたがエラーが再現できません。 「試したこと」の詳細(どこに保存したかなど)手順を追記すると回答得られやすいかと思います。
mmtt

2019/05/26 12:06

かしこまりました。追記します。 ありがとうございます。
can110

2019/05/26 12:11

「snowball.png」の配置場所は絶対パスではどこにあたるでしょうか? (image.pyと同一階層であるべきです)
mmtt

2019/05/26 12:25

すみません、絶対パスについて正しく理解できているか分からないのですが、PC→ダウンロード→snowball.pngという形で保存しています。
can110

2019/05/26 12:26

了解しました。
guest

回答1

0

ベストアンサー

FileNotFoundError: [Errno 2] No such file or directory: 'snowball.png'

nowball.pngが見つからない旨のエラーです。実行しているimage.pyと同階層に配置してください。

投稿2019/05/26 12:28

can110

総合スコア38262

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

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

mmtt

2019/05/26 12:35

すみません。 同階層に移動して試したのですが、同じエラーが出てしまいました。
can110

2019/05/26 12:38 編集

具体的に移動した「snowball.png」の絶対パスを記載ください。 またimage.pyはどのような手段(コマンドプロンプトやVisualStudioなりのIDE上からなど)で実行しているかも記載ください。
mmtt

2019/05/26 12:42

コマンドプロンプトで実行しています。 また、snowball.pngはC:\Users\maoto\Desktop\python_lesson\CRL\snowball.pngに移動しています。
can110

2019/05/26 12:46

コマンドプロンプトの実行は「C:\Users\maoto\Desktop\python_lesson\CRL」にカレントディレクトリを移動したうえで行っている、すなわち C:\Users\maoto\Desktop\python_lesson\CRL>python image.py のような記載になっているでしょうか?
mmtt

2019/05/26 12:56

いえ、C:\Users\maoto\Desktop\python_lesson\CRL\image.pyという表記になっています。
can110

2019/05/26 13:02

image.pyの絶対パスではなく コマンドプロンプトのimage.pyの「実行時」の表示状態がどうなっているのかという質問です。 可能であればコマンドプロンプトで実行時のスクリーンショット画像(エラー文も含めて)を質問本文に追記されるとエラー原因が判明しやすいです。
mmtt

2019/05/26 13:10

分かりました。写真を追加しました。
can110

2019/05/26 13:13

あ。なるほど。わかりました。カレントディレクトリが「c:\Users\maoto」になっています。 であればファイルを「c:\Users\maoto\showball.png」に配置するか 「snowball.png」の位置はそのままで 「cd c:\Users\maoto\Desktop\python_lesson\CRL」したうえで「python image.py」するかしてください。
mmtt

2019/05/26 13:32

ありがとうございます。できました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問