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

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

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

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

Q&A

解決済

3回答

4632閲覧

pythonの引数dpiの意味

W.B

総合スコア9

Python

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

0グッド

0クリップ

投稿2021/03/31 10:44

pythonで写真などの編集をしたいと思っています。
6行目の**「dpi」とは解像度を表すのでしょうか**。
この「dpi」の横にある**(100,100)の数字が高くなると解像度があがるのでしょうか**?
ネットで調べたのですが、よくわからなくて、、、。
教えていただけると助かります。よろしくお願いします!

python

1from PIL import Image 2from pathlib import Path 3path = Path('bb.jpg') 4img = Image.open(path) 5path = Path('bb.png') 6img.save(path,dpi=(100,100))

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

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

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

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

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

guest

回答3

0

dpiの説明そのものはすでに回答がありますが、この場合は"解像度があがる"という言葉の用法に曖昧性があることの方が問題です。

A4の用紙を200dpiでスキャンした時と、400dpiでスキャンした時では、400dpiでスキャンした時の方が明らかに画素数も多くなっているし、解像度も上がっています。ここに曖昧性はありません。

問題になるのは、A6の用紙を400dpiでスキャンした時と、A4の用紙を200dpiでスキャンした時とを比べた時です。
どちらも大雑把に2300×1600ピクセルぐらいになります。画素数は同じ、つまりスキャンした画像ファイルに含まれるデータの大きさは同じです。
日常的にはこれに対して"解像度は同じ"と言っているんじゃないでしょうか。ここからは曖昧性を避けるためこの意味で解像度という言葉を使いません。画素数と書いていきます。

画素数が同じである一方、スキャンした画像ファイルに含まれるメタデータのdpi情報は異なります。
300×1600ピクセルの画像ファイルに"400dpiで取り込んだ"というメタデータが付いていれば"物理的にはA6の画像だったんだな"と判断できます。
300×1600ピクセルの画像ファイルに"200dpiで取り込んだ"というメタデータが付いていれば"物理的にはA4の画像だったんだな"と判断できます。
画素数が同じであるファイルであっても、"スキャンした時の解像度が違う"こと、および"元の物理的な大きさ"が、このメタデータから判断できます。

今コードで指定しているdpi情報は後者の方、つまりメタデータを指定しているだけです。
その数字を大きくしようが画素数=データの大きさ=情報の量は変わりません

基本的にPCやスマートフォンのディスプレイに表示する場合は、表示する対象のデバイスがピクセル単位で制御されている以上、この"メタデータの解像度"が意味を持つ事は基本的にないです。画素数の方が重要です。
印刷に回す画像データを作成する時は、"メタデータの解像度"が意味を持つことはあるでしょう。その画像を作った人が、物理的にどのぐらいの大きさに印刷すること想定して調整したのか? がそこに埋め込まれていることになりますから。

投稿2021/03/31 16:58

quickquip

総合スコア11235

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

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

W.B

2021/04/01 02:43

ありがとうございます。難しいですね、、。なんとなくですが、わかったような感じです!
quickquip

2021/04/01 03:18 編集

逆に聞きたいのですが、「解像度があがる」をどういう意味で使っていたんでしょうか? (どういう状態になったら「解像度があがる」と認識するのかが分からなかったのでこういう回答になった次第)
W.B

2021/04/01 04:11

「解像度があがる」 = 画像がきれいになる という意味で使っていました。 dpiが1インチに含まれているドットの数なども知りませんでした。???? メタデータとしてdpiの値を付けることや、ディスプレイ上ではピクセル単位で制御されていることなど勉強になりました。ありがとうございました! 曖昧な言葉を使い、申し訳ございませんでした。????
quickquip

2021/04/01 04:41

なるほど。「dpiとはなにか」より「解像度とはなにか?」という説明が必要だったんですね。
guest

0

ベストアンサー

dpiは入力時と出力時の二つを考えると良いです。どちらか一方が欠落している場合、dpiは意味がありません。

  • 入力時のdpi:スキャナでスキャンしたとか、カメラで撮ったとか。
  • 出力時のdpi:画面に表示する、プリンタで印刷する

入力時は例えばインチの定規を300dpiでスキャンしたとします。すると定規の線と線、1インチの間には300画素あるわけですね。

出力時は例えば僕のMacbook ProのLCD画面は340dpiで、何もせずに表示すると300/340=0.88インチで表示されます。

入力時と出力時のdpiがあればその比340/300=1.33を使って1.33倍に拡大して表示すれば原寸大の1インチの定規が画面上に現れることになります。

画像の保存時に画像のdpiの情報がなければこの計算ができません。適当に100dpiを指定してもそれで解像度が上がるわけではありません。

CADソフトでもない限り原寸が必要になることはほとんどないので、画像のdpiが有効活用されるケースは少ないでしょう。カメラで撮った画像の場合、レンズの焦点距離と撮像素子のdpiが記録されていることもあるので対象物までの距離が分かれば物理的な大きさがわかるかもしれませんね。

投稿2021/03/31 19:06

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

W.B

2021/04/01 02:52

ありがとうございます!印刷などに反映させるには、カメラなどで取り込んだ時(入力時)と出力時(パソコンなどで修正するとき)両方のdpiが必要なんですね。 試しに、画像を拡大してdpiを下げて印刷してみましたが、画像の質は変わりませんでした。 ありがとうございました!
guest

0

dpi は 「dot per inch」の略で、1インチあたりの画素数を表わします。

DPIで検索するとすぐ出てくると思うんですがね
Wikipediaのページ

投稿2021/03/31 10:54

編集2021/03/31 13:40
TakaiY

総合スコア13790

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

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

ppaul

2021/03/31 11:00

1平方インチじゃなくて、1インチですよね。 でないと、300dpiは17個しか点が識別できなくなるのでは。
TakaiY

2021/03/31 13:40

そうですね。 修正しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問