画像の始め方

OpenCVOpenCVBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

このチュートリアルでは、OpenCV-Pythonライブラリを使った画像操作の基本を学びます。このチュートリアルを終えると、画像の読み込み、表示、保存ができるようになります。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL opencv(("OpenCV")) -.-> opencv/BasicOperationsGroup(["Basic Operations"]) opencv/BasicOperationsGroup -.-> opencv/destroy_all_windows("Destroy Windows") opencv/BasicOperationsGroup -.-> opencv/imread("Image Read") opencv/BasicOperationsGroup -.-> opencv/imshow("Image Show") opencv/BasicOperationsGroup -.-> opencv/imwrite("Image Write") opencv/BasicOperationsGroup -.-> opencv/wait_key("Wait Key") subgraph Lab Skills opencv/destroy_all_windows -.-> lab-8438{{"画像の始め方"}} opencv/imread -.-> lab-8438{{"画像の始め方"}} opencv/imshow -.-> lab-8438{{"画像の始め方"}} opencv/imwrite -.-> lab-8438{{"画像の始め方"}} opencv/wait_key -.-> lab-8438{{"画像の始め方"}} end

必要なライブラリをインポートする

まず、必要なライブラリをインポートしましょう。画像処理には 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()

注意

  1. コードの window_name を変更して結果を確認できます。
  2. コードの waitKey のパラメータを変更して結果を確認できます。
  3. 便利のため、このステップでは画像読み込みの正誤検出を省略しました。
  4. Pythonインタプリタ を使用しているため、imshow の直後にプログラムがすぐに終了するわけではありませんが、Pythonファイル を実行している場合は、waitKey を使用して imshow の直後にウィンドウが閉じないようにする必要があります。

画像をファイルに書き込む

画像を別の形式で保存するには、cv2.imwrite() 関数を使用します。この関数は2つの引数をとります。保存先のファイルパスと保存する画像です。

詳細

python を入力してPythonインタプリタの起動プロセスを開始します。次に、次のコードを入力します。

## 画像を別の形式で保存する、画像は前の手順で読み込まれている
cv2.imwrite('/home/labex/Desktop/Image.png', image)

注意

  1. この場合、画像を PNG形式 (Image.png) で保存します。画像はPythonスクリプトと同じディレクトリ (/home/labex/Desktop/) に保存されます。
  2. 便利のため、このステップでは画像読み込みの正誤検出を省略しました。

まとめ

これで、OpenCV-Pythonライブラリを使った画像処理の基本を学びました。さまざまな画像形式を試して、リサイズ、切り取り、フィルタリングなどの高度な操作を探求することができます。楽しいコーディングを!