はじめに
このチュートリアルでは、OpenCV-Python ライブラリを使った画像操作の基本を学びます。このチュートリアルを終えると、画像の読み込み、表示、保存ができるようになります。
このチュートリアルでは、OpenCV-Python ライブラリを使った画像操作の基本を学びます。このチュートリアルを終えると、画像の読み込み、表示、保存ができるようになります。
まず、必要なライブラリをインポートしましょう。画像処理には cv2 ライブラリを使用します。インポートするには import を使用してください。
VM デスクトップのターミナル に次のコマンドを入力して Python シェルを開きます。
python3
python3 を入力して Python インタプリタの起動プロセスを開始します。次に、次のコードを入力します。
import cv2
その後、コード内で cv2 ライブラリを使用できます。
ファイルから画像を読み込むには、cv2.imread() 関数を使用します。この関数は、ファイルパスを引数として受け取り、画像を NumPy 配列として返します。
画像パスは /home/labex/Desktop/Image.jpg です。
python を入力して Python インタプリタの起動プロセスを開始します。次に、次のコードを入力します。
## 画像を読み込む
image = cv2.imread('/home/labex/Desktop/Image.jpg')
## 画像が正しく読み込まれたかどうかを確認する
if image is None:
print('エラー: 画像が見つかりません。')
else:
print('画像が正常に読み込まれました。')
画像が見つからない場合、cv2.imread() 関数は None を返します。この場合、エラーメッセージを表示します。それ以外の場合は、成功メッセージを表示します。
画像を表示するには、cv2.imshow() 関数を使用します。この関数は 2 つの引数をとります。ウィンドウ名と表示する画像です。
また、キー入力を待つために cv2.waitKey() 関数を使用します。これは、ユーザーがキーを押すまでウィンドウを開いたままにするために必要です。cv2.waitKey() 関数は 1 つの引数をとり、それはキー入力を待つミリ秒数です。ユーザーが指定された時間内にキーを押すと、関数はキーコードを返します。それ以外の場合は、-1 を返します。この場合、キー入力を無期限に待つために 0 を渡します。
最後に、すべてのウィンドウを閉じるために cv2.destroyAllWindows() 関数を使用します。これは任意ですが、Pythonインタプリタ プログラムを終了する前にすべてのウィンドウを閉じるのは良い慣例です。
python を入力して Python インタプリタの起動プロセスを開始します。次に、次のコードを入力します。
window_name = 'Image'
## 画像を表示する、画像は前の手順で読み込まれている
cv2.imshow(window_name, image)
## キー入力を待ち、ウィンドウを閉じる
cv2.waitKey(0)
## 画像を表示した後にウィンドウを破棄する
cv2.destroyAllWindows()
window_name を変更して結果を確認できます。waitKey のパラメータを変更して結果を確認できます。Pythonインタプリタ を使用しているため、imshow の直後にプログラムがすぐに終了するわけではありませんが、Pythonファイル を実行している場合は、waitKey を使用して imshow の直後にウィンドウが閉じないようにする必要があります。画像を別の形式で保存するには、cv2.imwrite() 関数を使用します。この関数は 2 つの引数をとります。保存先のファイルパスと保存する画像です。
python を入力して Python インタプリタの起動プロセスを開始します。次に、次のコードを入力します。
## 画像を別の形式で保存する、画像は前の手順で読み込まれている
cv2.imwrite('/home/labex/Desktop/Image.png', image)
これで、OpenCV-Python ライブラリを使った画像処理の基本を学びました。さまざまな画像形式を試して、リサイズ、切り取り、フィルタリングなどの高度な操作を探求することができます。楽しいコーディングを!