Python OpenCVによる画像処理
OpenCV は、画像およびビデオ データを処理するためのオープン ソースのコンピューター ビジョン ライブラリです。画像処理、特徴検出、物体認識などの多くの機能を提供します。この記事ではPythonとOpenCVを使った画像処理の方法を紹介します。
OpenCVをインストールする
まず、OpenCV ライブラリをインストールする必要があります。ターミナルで次のコマンドを実行します。
pip install opencv-python
画像を読み込んで表示する
画像の操作を開始する前に、画像をロードして表示する必要があります。「image.jpg」という名前の画像ファイルがあると仮定すると、次のコードを使用して画像をロードして表示できます。
import cv2
# 加载图像
image = cv2.imread("image.jpg")
# 显示图像
cv2.imshow("Image", image)
cv2.waitKey(0)
cv2.destroyAllWindows()
上記のコードを実行すると、ロードされた画像を示すウィンドウがポップアップ表示されます。
画像処理
OpenCV は多くの画像処理機能を提供します。一般的に使用される画像処理操作の例をいくつか示します。
グレースケール
カラー画像をグレースケールに変換すると、画像処理タスクを簡素化できます。次のコードを使用して画像をグレースケールに変換します。
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
cv2.imshow("Gray Image", gray_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
エッジ検出
エッジ検出は、画像内の境界を検出するために一般的に使用される画像処理技術です。以下は、エッジ検出に Canny エッジ検出アルゴリズムを使用する方法の例です。
edges = cv2.Canny(image, 100, 200)
cv2.imshow("Edges", edges)
cv2.waitKey(0)
cv2.destroyAllWindows()
画像のスケーリング
画像のサイズを変更すると、表示または処理されるサイズが変わる可能性があります。画像を拡大縮小する方法の例を次に示します。
resized_image = cv2.resize(image, (500, 500))
cv2.imshow("Resized Image", resized_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
画像の回転
画像は回転行列を使用して回転できます。画像を回転する方法の例を次に示します。
rows, cols = image.shape[:2]
rotation_matrix = cv2.getRotationMatrix2D((cols/2, rows/2), 45, 1)
rotated_image = cv2.warpAffine(image, rotation_matrix, (cols, rows))
cv2.imshow("Rotated Image", rotated_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
画像保存
次のコードを使用して、処理された画像をファイルに保存できます。
cv2.imwrite("processed_image.jpg", image)
要約する
この記事では、Python と OpenCV を使用して画像処理を行う方法について説明します。画像をロードして表示する方法と、いくつかの一般的な画像操作操作を学びました。この記事がお役に立てば幸いです!