ホームページ >バックエンド開発 >Python チュートリアル >Python を使用して写真の角度を測定する方法
Python を使用して写真の角度を測定する方法
概要:
画像処理は、角度測定が行われるコンピューター ビジョンの分野における重要なタスクです。共通の要件です。この記事では、Python 言語を使用して写真の角度を測定し、コード例を通じてそのプロセスを示します。
ステップ 1: 必要なライブラリをインポートする
まず、必要な Python ライブラリをインポートする必要があります。その中でも、OpenCV は広く使用されているコンピューター ビジョン ライブラリであり、多くの画像処理およびコンピューティング ツールを提供します。 NumPy は、効率的な数値計算の基礎を提供する一般的に使用される科学計算ライブラリです。
import cv2 import numpy as np
ステップ 2: 画像をロードする
次に、画像をロードする必要があります。 OpenCV の imread
関数を使用すると、画像を簡単にロードできます。画像パスを関数のパラメーターとして使用すると、関数は画像を表す NumPy 配列を返します。
image_path = 'path_to_your_image.jpg' image = cv2.imread(image_path)
ステップ 3: 画像の前処理
画像の角度を測定する前に、画像に対して前処理を実行する必要があります。ノイズの影響を軽減し、測定の精度を向上させるために、画像をグレースケール画像に変換し、ガウスぼかしを適用できます。
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) blurred = cv2.GaussianBlur(gray, (5, 5), 0)
ステップ 4: エッジ検出
画像内の角度を測定するには、画像内のエッジを検出する必要があります。これは、Canny エッジ検出アルゴリズムを使用して実現できます。
edges = cv2.Canny(blurred, 50, 150)
ステップ 5: 輪郭検出
次に、画像内の輪郭を検出する必要があります。 OpenCV の findContours
関数を使用して、この操作を実現できます。
contours, _ = cv2.findContours(edges.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
ステップ 6: 最適な長方形を見つける
角度測定では、通常、角度を推定するために最適な長方形を使用します。すべての等高線に最適な長方形を見つけることで、おおよその角度値を取得できます。
best_fit_rect = None max_area = 0 for contour in contours: (x, y, w, h) = cv2.boundingRect(contour) area = w * h if area > max_area: max_area = area best_fit_rect = cv2.minAreaRect(contour) angle = best_fit_rect[-1]
ステップ 7: 結果の表示
最後に、測定した角度を画像上に表示し、結果を新しい画像として保存できます。
result_image = image.copy() cv2.putText(result_image, f"Angle: {angle}", (10, 30), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 0), 2) cv2.imshow("Result", result_image) cv2.waitKey(0) cv2.destroyAllWindows()
概要:
Python 言語と OpenCV ライブラリを使用すると、画像の角度を簡単に測定できます。画像を読み込み、前処理、エッジ検出、輪郭検出、長方形のフィッティングを行うことで、おおよその角度値を取得し、結果を画像上に表示できます。この手法は工学計測や医療画像解析など多くの分野で実用化されています。
この記事では基本的な角度測定の例を紹介しますが、実際のアプリケーションでは、他の課題や複雑な問題が発生する可能性があります。特定のニーズに応じて、実際の状況に応じてコードを変更および最適化できます。
以上がPython を使用して写真の角度を測定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。