ホームページ >バックエンド開発 >PHPチュートリアル >PHPとOpenCVライブラリを使用した画像のエッジ検出とストロークの方法
PHP および OpenCV ライブラリを使用した画像エッジ検出とストロークの方法
はじめに:
コンピューター ビジョンと画像処理の分野では、画像エッジ検出は画像を識別するための重要な技術です。画像にエッジ ラインを追加して、より目を引く目立つようにします。この記事では、PHP および OpenCV ライブラリを使用して画像のエッジ検出とストロークを実装する方法を紹介し、対応するコード例を示します。
1. 準備
画像のエッジ検出とストロークに PHP および OpenCV ライブラリを使用するには、次の手順に従って準備する必要があります。 OpenCV ライブラリ: まず、PHP および OpenCV ライブラリがインストールされていることを確認します。ターミナルに次のコマンドを入力すると、PHP および OpenCV ライブラリがインストールされているかどうかを確認できます:
php -v
sudo apt-get install php sudo apt-get install php-opencvテスト イメージの取得: テスト用のイメージを準備します。インターネットからダウンロードするか、独自の写真を使用できます。画像が PHP ファイルと同じディレクトリにあることを確認し、「test.jpg」という名前を付けます。
<?php // 加载图像 $image = cvimread("test.jpg"); // 转换为灰度图像 $gray = cvcvtColor($image, CV_BGR2GRAY); // 进行边缘检测 $edges = cvCanny($gray, 50, 150); // 显示结果 cvimshow("Edges", $edges); cvwaitKey(); ?>
3. 画像のストローク
<?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 中国語 Web サイトの他の関連記事を参照してください。