Pillow(PIL)の導入文
みんな、画像って毎日見るもんやんか?スマホやパソコンで写真を見たり、SNSでシェアしたり、ほんまに欠かせへん存在やで!そこで、Pythonの「Pillow」いうライブラリを使うことで、画像処理がめっちゃ簡単にできるようになるんや。
例えば、旅行の写真をリサイズしてSNSにアップしたい時、Pillowを使えば、簡単にサイズ変更できるし、回転させたり、切り抜いたりも自由自在や。こんな風に、Pillowを使うことで、ただの画像が自分らしいアートに変身するんやで!
今回は、Pillowを使った画像処理の基本を一緒に学んでいこうや!これをマスターすれば、画像加工も楽しくなって、友達にも自慢できるで!
画像の読み込みと保存
まずは、Pillowを使って画像を読み込む方法と保存する方法を見ていこう!
画像の読み込み
Pillowを使うには、まずライブラリをインポートせなあかん。そして、画像を読み込むためには「Image」モジュールを使うんや。以下のコードを使って、自分のコンピュータにある画像を読み込んでみてな。
from PIL import Image
# 画像を読み込む
img = Image.open('path/to/your/image.jpg')
# 画像を表示する
img.show()
画像の保存
画像を読み込んだら、次はそれを保存する方法や。保存する時は「save」メソッドを使うんや。以下のコードで、編集した画像を新しい名前で保存してみよう!
# 画像を保存する
img.save('path/to/your/new_image.jpg')
このように、Pillowを使えば簡単に画像を読み込んだり保存したりできるねん。これで、次のステップに進む準備が整ったで!
基本的な画像処理(リサイズ、回転、切り抜き)
次は、Pillowを使って基本的な画像処理をしてみよう!リサイズ、回転、切り抜きの3つの方法を見ていくで。
画像のリサイズ
画像のサイズを変更するのは、デジタル画像処理の基本中の基本や。以下のコードで、画像をリサイズしてみよう!
# 画像をリサイズする
resized_img = img.resize((200, 200)) # 幅200px、高さ200pxにリサイズ
resized_img.show()
画像の回転
次は、画像を回転させる方法や。例えば、90度回転させることができるで!以下のコードを使ってみてな。
# 画像を90度回転させる
rotated_img = img.rotate(90) # 90度回転
rotated_img.show()
画像の切り抜き
最後は、画像を切り抜く方法や。指定した範囲を切り抜くことができるんや。以下のコードで、切り抜きをやってみよう!
# 画像を切り抜く
cropped_img = img.crop((50, 50, 150, 150)) # (左, 上, 右, 下)の座標で切り抜き
cropped_img.show()
これで、リサイズ、回転、切り抜きの基本がわかったな!これらの技術を使えば、画像を思いのままに変形できるで。次のステップでは、フィルタを適用する方法を学んでいこう!
フィルタの適用
次は、Pillowを使って画像にフィルタを適用する方法を見ていこう!フィルタを使うことで、画像の雰囲気をガラッと変えることができるで。ここでは、いくつかの基本的なフィルタを紹介するわ。
ぼかしフィルタ
まずは、画像をぼかすフィルタや。これを使うと、画像がほんまに柔らかい印象になるで。以下のコードでぼかしを適用してみてな。
from PIL import ImageFilter
# 画像にぼかしフィルタを適用する
blurred_img = img.filter(ImageFilter.BLUR)
blurred_img.show()
エッジ検出フィルタ
次は、エッジを強調するフィルタや。これを使うと、画像の輪郭がハッキリして、アートっぽい感じになるんや。以下のコードを試してみよう!
# エッジ検出フィルタを適用する
edge_img = img.filter(ImageFilter.FIND_EDGES)
edge_img.show()
シャープネスフィルタ
最後に、画像をシャープにするフィルタや。これを使うと、画像がクリアになって、細部がよく見えるようになるで!以下のコードでシャープネスを適用してみてな。
# シャープネスフィルタを適用する
sharpness_filter = ImageFilter.SHARPEN
sharpened_img = img.filter(sharpness_filter)
sharpened_img.show()
これで、フィルタの使い方がわかったな!画像にちょっとした変化を加えるだけで、印象が大きく変わるから、ぜひ色々試してみてや!次のステップでは、描画機能を使ってテキストや図形を追加する方法を学んでいこう!
描画機能の使用(テキスト、図形の追加)
次は、Pillowを使って画像にテキストや図形を描画する方法を見ていこう!これを使えば、オリジナルの画像を作成できるで!
テキストの追加
まずは、画像にテキストを追加する方法や。以下のコードで、好きなテキストを画像に書き込んでみよう!
from PIL import ImageDraw, ImageFont
# 画像をコピーして描画用のオブジェクトを作成する
draw = ImageDraw.Draw(img)
# テキストを追加する
text = "こんにちは!"
font = ImageFont.load_default() # デフォルトフォントを使用
draw.text((10, 10), text, fill="white", font=font) # (x, y)の座標にテキストを追加
img.show()
図形の追加
次は、画像に図形を描く方法や。例えば、長方形や円を書くことができるで。以下のコードで、図形を描いてみよう!
# 長方形を描く
draw.rectangle([50, 50, 150, 100], outline="red", fill="blue") # (左, 上, 右, 下)
img.show()
# 円を描く
draw.ellipse([200, 50, 300, 150], outline="yellow", fill="green") # (左, 上, 右, 下)
img.show()
これで、テキストや図形を画像に追加する方法がわかったな!自分だけのオリジナル画像を作るのは楽しいから、ぜひ色々試してみてや!次は、画像フォーマットの変換について学んでいこう!
画像フォーマットの変換
最後に、Pillowを使った画像フォーマットの変換方法を学んでいこう!たくさんのフォーマットがあるから、必要に応じて変換できるのは便利やで。ここでは、JPEG、PNG、GIFなどのフォーマットに変換する方法を紹介するわ。
画像の保存とフォーマット指定
画像を別のフォーマットで保存するには、save
メソッドを使うんや。以下のコードで、PNGフォーマットで保存してみよう!
# PNGフォーマットで画像を保存する
img.save("output_image.png", "PNG")
他のフォーマットに変換するのも同じようにできるで。例えば、JPEGフォーマットに変換するには以下のようにするんや。
# JPEGフォーマットで画像を保存する
img.save("output_image.jpg", "JPEG")
フォーマットの確認
画像のフォーマットを確認したいときは、format
属性を使うことができるで。以下のコードで、現在の画像のフォーマットを確認してみよう!
# 画像のフォーマットを確認する
print("画像のフォーマット:", img.format)
これで、画像フォーマットの変換方法がわかったな!これを使って画像を保存する時に、用途に応じて最適なフォーマットを選ぶことができるで。これでPillowの基本的な使い方がマスターできたな!色々な画像処理を楽しんで、素敵な作品を作ってみてや!
フォーマット
画像を自由自在に変換!Pillowを使ったフォーマット変更の使い方とサンプルコードを大公開!