Python を使用して画像にシェイプマークを付ける方法

WBOY
リリース: 2023-08-25 14:53:21
オリジナル
1249 人が閲覧しました

Python を使用して画像にシェイプマークを付ける方法

Python を使用して画像を図形でマークする方法

はじめに:

画像処理とコンピューター ビジョンの分野では、画像内のオブジェクトにマークが付けられます。識別は重要なタスクです。マークされたオブジェクトの形状は、オブジェクト検出、エッジ検出、輪郭抽出などのアプリケーションに使用できます。この記事では、Python と OpenCV ライブラリを使用して画像に図形のラベルを付ける方法を紹介します。

ステップ 1: 必要なライブラリをインストールする

始める前に、Python ライブラリと OpenCV ライブラリをインストールする必要があります。 pip コマンドを使用して OpenCV ライブラリをインストールできます。具体的なコマンドは次のとおりです:

pip install opencv-python
ログイン後にコピー

ステップ 2: 必要なライブラリをインポートする

コードでは、OpenCV ライブラリと他のいくつかの補助ライブラリ。具体的なコードは次のとおりです。

import cv2
import numpy as np
ログイン後にコピー

ステップ 3: イメージ ファイルを読み取る

OpenCV ライブラリの imread() 関数を使用してイメージ ファイルを読み取ります。具体的なコードは次のとおりです。

img = cv2.imread('image.jpg')
ログイン後にコピー

ステップ 4: イメージをグレースケール イメージに変換する

形状のラベル付けを行う前に、イメージをグレースケール イメージに変換する必要があります。これは、OpenCV ライブラリの cvtColor() 関数を使用して実現できます。具体的なコードは次のとおりです。

gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
ログイン後にコピー

ステップ 5: しきい値セグメンテーション

グレースケール イメージのしきい値セグメンテーションにより、バイナリ イメージを取得できるため、その後の形状マーキング操作が容易になります。これは、OpenCV ライブラリの threshold() 関数を使用して実現できます。具体的なコードは次のとおりです。

_, thresh = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)
ログイン後にコピー

ステップ 6: 輪郭の検索

OpenCV ライブラリの findContours() 関数を使用して、画像内の輪郭を見つけます。具体的なコードは次のとおりです。

contours, _ = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
ログイン後にコピー

ステップ 7: 輪郭を描画する

OpenCV ライブラリの drawContours() 関数を使用して、画像上に輪郭を描画します。具体的なコードは次のとおりです。

cv2.drawContours(img, contours, -1, (0, 255, 0), 3)
ログイン後にコピー

ステップ 8: 結果の表示

OpenCV ライブラリの imshow() 関数を使用して、処理された画像を表示します。具体的なコードは次のとおりです:

cv2.imshow('Contours', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
ログイン後にコピー

完全なコード例:

import cv2
import numpy as np

# 读取图像文件
img = cv2.imread('image.jpg')

# 将图像转换为灰度图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

# 进行阈值分割
_, thresh = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)

# 查找轮廓
contours, _ = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)

# 绘制轮廓
cv2.drawContours(img, contours, -1, (0, 255, 0), 3)

# 显示结果
cv2.imshow('Contours', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
ログイン後にコピー

結論:

この記事では、Python と OpenCV ライブラリを使用して画像に図形をマークする方法を紹介します。コード例を実装すると、画像内のオブジェクトの輪郭を抽出してマークし、その後の画像処理やコンピューター ビジョン アプリケーションを容易にすることができます。読者は、自分のニーズや実際の状況に応じて、対応する調整や拡張を行うことができます。この記事が読者のお役に立てば幸いです。

以上がPython を使用して画像にシェイプマークを付ける方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート