一眼レフカメラで撮影した写真は、時には調整が必要な場合があります
幸いにも、Pythonの使いやすい画像処理ライブラリを活用すれば、初心者でも簡単に写真の最適化ができます
本記事では、Pythonを使って一眼レフカメラの写真を最適化する方法を、初心者にもわかりやすく解説します
まずは、事前準備として画像処理ライブラリを導入しましょう!
ここでは、PIL(Python Imaging Library)とOpenCV(Open Source Computer Vision Library)の2つのライブラリを紹介します
PIL(Python Imaging Library)は、Pythonで画像の読み込み、編集、保存などの様々な画像処理タスクを行うための強力なライブラリです
PILを使うと、一眼レフカメラで撮影した写真を効果的に最適化することができます
1.コマンドプロンプト(Windows)またはターミナル(Mac、Linux)を開きます
2.下記のコマンドを入力してEnterキーを押します
pip install pillow
3.インストールが始まります。しばらく待つと、PILがインストールされます
では、PILの主な機能や使い方を見ていきましょう
まず、PILを使って画像を読み込んで表示する方法を見ていきましょう
from PIL import Image
# 画像の読み込み
image = Image.open("画像のパス")
# 画像の表示
image.show()
上記のコードでは、Image.open()関数を使って画像を読み込みます
引数には読み込む画像のパスを指定します
そして、image.show()メソッドを呼び出すことで、画像を表示することができます
次に、PILを使って画像のサイズを変更する方法を見てみましょう
from PIL import Image
# 画像の読み込み
image = Image.open("画像のパス")
# サイズ変更
resized_image = image.resize((新しい幅, 新しい高さ))
# 変更後の画像の表示
resized_image.show()
上記のコードでは、resize()メソッドを使って画像のサイズを変更します
引数には新しい幅と新しい高さを指定します
変更後の画像はresized_imageという変数に格納されます
最後にshow()メソッドを使って、変更後の画像を表示します
最後に、PILを使って画像を保存する方法を見てみましょう
from PIL import Image
# 画像の読み込み
image = Image.open("画像のパス")
# 画像の編集などを行う...
# 画像の保存
image.save("保存先のパス")
上記のコードでは、save()メソッドを使って画像を保存します
引数には保存先のパスを指定します
画像を編集した後に保存することも可能です
以上が、PIL(Python Imaging Library)の基本的な使い方です
OpenCV(Open Source Computer Vision Library)は、画像処理やコンピュータビジョンのタスクを行うためのオープンソースのライブラリです
OpenCVを使うことで、一眼レフカメラで撮影した写真の解析や処理が可能になります
1.コマンドプロンプト(Windows)またはターミナル(Mac、Linux)を開きます
2.下記のコマンドを入力してEnterキーを押します
pip install opencv-python
3.インストールが始まります。しばらく待つと、OpenCVがインストールされます
では、OpenCVの主な機能や使い方を見ていきましょう
まず、OpenCVを使って画像を読み込んで表示する方法を見ていきましょう
import cv2
# 画像の読み込み
image = cv2.imread("画像のパス")
# 画像の表示
cv2.imshow("Image", image)
cv2.waitKey(0)
cv2.destroyAllWindows()
上記のコードでは、cv2.imread()関数を使って画像を読み込みます
引数には読み込む画像のパスを指定します
そして、cv2.imshow()関数を使って画像を表示します
cv2.waitKey(0)は、キーボードの何かしらのキーが押されるまで画像の表示を続けるための命令です
最後にcv2.destroyAllWindows()を使って、表示されたウィンドウを閉じます
次に、OpenCVを使って画像のサイズを変更する方法を見てみましょう
import cv2
# 画像の読み込み
image = cv2.imread("画像のパス")
# サイズ変更
resized_image = cv2.resize(image, (新しい幅, 新しい高さ))
# 変更後の画像の表示
cv2.imshow("Resized Image", resized_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
上記のコードでは、cv2.resize()関数を使って画像のサイズを変更します
引数には新しい幅と新しい高さを指定します
変更後の画像はresized_imageという変数に格納されます
最後にcv2.imshow()関数を使って、変更後の画像を表示します
最後に、OpenCVを使って画像を保存する方法を見てみましょう
import cv2
# 画像の読み込み
image = cv2.imread("画像のパス")
# 画像の編集などを行う...
# 画像の保存
cv2.imwrite("保存先のパス", image)
上記のコードでは、cv2.imwrite()関数を使って画像を保存します
第1引数には保存先のパスを指定し、第2引数には保存する画像データを指定します
画像を編集した後に保存することも可能です
以上が、OpenCV(Open Source Computer Vision Library)の基本的な使い方です
これらの機能を使って、一眼レフカメラで撮影した写真を解析や処理することができます
画像処理ライブラリの導入ができたので、次回からは明るさ、コントラスト、ノイズの除去などについて説明していきます
お楽しみに!
おつー