PHP および OpenCV ライブラリ: 画像テンプレート マッチングを行うにはどうすればよいですか?
はじめに: 画像テンプレート マッチングはコンピュータ ビジョンにおける重要な技術であり、画像内から一致するテンプレート画像を見つけることで、ターゲット検出や特徴抽出などのさまざまなアプリケーションを実現できます。この記事では、画像テンプレート マッチングに PHP プログラミング言語と OpenCV ライブラリを使用する方法を紹介し、対応するコード例を示します。
1. 準備
まず、PHP と OpenCV ライブラリをインストールする必要があります。 Linux システムでは、次のコマンドを使用してインストールできます。
PHP のインストール
sudo apt-get install php
OpenCV ライブラリのインストール
sudo apt-get install libopencv-dev
2. 画像の読み取りと表示
画像テンプレート マッチングを開始する前に、後続の処理のために画像を読み取り、表示する必要があります。画像を読み取って表示する PHP コードの例を次に示します。
<?php // 读取图像 $image = cvimread("image.jpg"); // 显示图像 cvimshow("原始图像", $image); cvwaitKey();
コードでは、imread()
を使用して image.jpg
という名前の画像を読み取ります。関数 image を作成し、imshow()
関数を使用して元のイメージを表示しました。
3. 画像テンプレート マッチング
次に、画像テンプレート マッチングに PHP および OpenCV ライブラリを使用する方法を紹介します。画像テンプレート マッチングは主に、テンプレート画像の特徴の抽出とターゲット画像でのマッチングの 2 つのステップで構成されます。以下は、イメージ テンプレート マッチングの PHP コードの例です。
<?php // 读取图像 $sourceImage = cvimread("source_image.jpg"); $templateImage = cvimread("template_image.jpg"); // 提取模板图像特征 $sourceGray = cvcvtColor($sourceImage, cvCOLOR_BGR2GRAY); $templateGray = cvcvtColor($templateImage, cvCOLOR_BGR2GRAY); // 进行图像模板匹配 $result = cvmatchTemplate($sourceGray, $templateGray, cvTM_CCOEFF_NORMED); // 寻找匹配结果的最大值和位置 $maxValue; $maxLocation; cvminMaxLoc($result, $minValue, $maxValue, $minLocation, $maxLocation); // 绘制匹配结果框 $topLeft = $maxLocation; $bottomRight = new cvPoint($topLeft->x + $templateImage->cols, $topLeft->y + $templateImage->rows); cvectangle($sourceImage, $topLeft, $bottomRight, new cvScalar(0, 255, 0), 2); // 显示匹配结果 cvimshow("匹配结果", $sourceImage); cvwaitKey();
コードでは、まず imread()
関数を使用して、ソース イメージとテンプレート イメージをそれぞれ読み取ります。次に、特徴を抽出するために、cvtColor()
関数によって画像がグレースケール画像に変換されます。次に、matchTemplate()
関数を使用して、ソース画像内でテンプレート マッチングを実行し、マッチング結果を返します。最後に、minMaxLoc()
関数を使用して一致結果の最大値と位置を見つけ、rectangle()
関数を使用してソース画像に一致結果ボックスを描画します。 。
4. 概要
この記事では、画像テンプレート マッチングに PHP プログラミング言語と OpenCV ライブラリを使用する方法を紹介し、対応するコード例を示します。画像テンプレートマッチング技術を学習して応用することで、ターゲット検出や特徴抽出などのさまざまなコンピュータビジョンアプリケーションを実装できます。この記事が読者にとって役立つことを願っています。また、画像処理とコンピューター ビジョンに関する知識をさらに深めてみてはいかがでしょうか。
以上がPHP および OpenCV ライブラリ: 画像テンプレート マッチングを行うにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。