PHP および OpenCV ライブラリを使用した画像エッジ検出とストロークの方法
はじめに:
コンピューター ビジョンと画像処理の分野では、画像エッジ検出は画像を識別するための重要な技術です。画像にエッジ ラインを追加して、より目を引く目立つようにします。この記事では、PHP および OpenCV ライブラリを使用して画像のエッジ検出とストロークを実装する方法を紹介し、対応するコード例を示します。
1. 準備
画像のエッジ検出とストロークに PHP および OpenCV ライブラリを使用するには、次の手順に従って準備する必要があります。 OpenCV ライブラリ: まず、PHP および OpenCV ライブラリがインストールされていることを確認します。ターミナルに次のコマンドを入力すると、PHP および OpenCV ライブラリがインストールされているかどうかを確認できます:
インストールされていない場合は、次のコマンドを使用して PHP および OpenCV ライブラリをインストールできます: sudo apt-get install php
sudo apt-get install php-opencv
ログイン後にコピー
テスト イメージの取得: テスト用のイメージを準備します。インターネットからダウンロードするか、独自の写真を使用できます。画像が PHP ファイルと同じディレクトリにあることを確認し、「test.jpg」という名前を付けます。 2. 画像エッジ検出- 最初に、画像エッジ検出に PHP および OpenCV ライブラリを使用する方法を紹介します。以下は、このステップを実装するコード例です:
<?php
// 加载图像
$image = cvimread("test.jpg");
// 转换为灰度图像
$gray = cvcvtColor($image, CV_BGR2GRAY);
// 进行边缘检测
$edges = cvCanny($gray, 50, 150);
// 显示结果
cvimshow("Edges", $edges);
cvwaitKey();
?>
ログイン後にコピー
上記のコードでは、最初に画像「test.jpg」が cvimread 関数を使用してロードされます。次に、関数 cvcvtColor を使用して画像をグレースケール イメージに変換します (エッジ検出はグレースケール イメージで実行されることが多いため)。次に、cvCanny 関数を使用してエッジ検出が実行されます。ここで、50 と 150 はそれぞれ、しきい値の下限しきい値と上限しきい値を表します。最後に、関数 cvimshow を使用して検出されたエッジを表示し、関数 cvwaitKey を使用してユーザーがいずれかのキーを押すのを待ってから表示ウィンドウを閉じます。
3. 画像のストローク
次に、PHP と OpenCV ライブラリを使用して画像をストロークする方法を紹介します。以下は、このステップを実装するコード例です。
<?php
// 加载图像
$image = cvimread("test.jpg");
// 转换为灰度图像
$gray = cvcvtColor($image, CV_BGR2GRAY);
// 进行边缘检测
$edges = cvCanny($gray, 50, 150);
// 转换为彩色图像
$color = cvcvtColor($edges, CV_GRAY2BGR);
// 使用矩形框标记边缘
$contours = cvindContours($edges, cvCV_RETR_EXTERNAL, cvCV_CHAIN_APPROX_SIMPLE);
cvdrawContours($color, $contours, -1, [0, 255, 0], 2);
// 显示结果
cvimshow("Edges with Contours", $color);
cvwaitKey();
?>
ログイン後にコピー
上記のコードでは、画像エッジ検出と同じステップが最初に実行されます。次に、関数 cvcvtColor を使用して、エッジ イメージをカラー イメージに変換します。次に、cv indContours 関数を使用してエッジの輪郭を見つけます。cvCV_RETR_EXTERNAL は外側の輪郭のみが返されることを意味し、cvCV_CHAIN_APPROX_SIMPLE は変曲点情報のみが保持されることを意味します。最後に、関数 cvdrawContours を使用して、色と線の幅を指定してカラー イメージ上に輪郭をマークします。最後に、 cvimshow 関数を使用してストロークのあるイメージを表示し、 cvwaitKey 関数を使用して、表示ウィンドウを閉じる前にユーザーが任意のキーを押すのを待ちます。
概要:
PHP と OpenCV ライブラリを使用することで、画像のエッジ検出とストローク機能を簡単に実装できます。上記のコード例は、PHP および OpenCV ライブラリを使用して、画像の読み込み、エッジ検出の実行、画像タイプの変換、輪郭の検索、エッジの描画を行う方法を示しています。これらのコードを実行すると、エッジと輪郭を含む画像を取得し、表示ウィンドウを通して結果を確認できます。
この記事の内容が、読者が画像エッジの検出とトレースに PHP および OpenCV ライブラリを使用する方法を理解し、実際の画像処理プロジェクトに適用できることを願っています。継続的な学習と実践を通じて、画像処理能力をさらに向上させ、より複雑で効率的な画像処理アルゴリズムを開発できます。
以上がPHPとOpenCVライブラリを使用した画像のエッジ検出とストロークの方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。