ホームページ  >  記事  >  バックエンド開発  >  PHPおよびOpenCVライブラリを使用して画像のカラーヒストグラムを均一化する方法

PHPおよびOpenCVライブラリを使用して画像のカラーヒストグラムを均一化する方法

WBOY
WBOYオリジナル
2023-07-17 12:16:39855ブラウズ

PHP および OpenCV ライブラリを使用した画像カラー ヒストグラム イコライゼーションの方法

画像カラー ヒストグラム イコライゼーションは、画像のコントラストと鮮明さを向上させるために一般的に使用される画像処理技術です。この記事では、PHP および OpenCV ライブラリを使用して画像のカラー ヒストグラム イコライゼーションを実装する方法と、対応するコード例を紹介します。

まず、PHP がインストールされ、構成されていることを確認する必要があります。次に、PHP で関連する関数を呼び出せるように、OpenCV ライブラリをインストールする必要があります。 OpenCV は、さまざまな画像処理および分析アルゴリズムをサポートする強力なオープンソース コンピューター ビジョン ライブラリです。

次に、画像のカラー ヒストグラムの均等化を実現する手順を見てみましょう:

  1. PHP の OpenCV 拡張ライブラリをインポートします

コード内, まず、PHP の OpenCV 拡張ライブラリをインポートする必要があります。 OpenCV PHP 拡張機能をインストールし、opencv.so という名前を付けたと仮定すると、次のコードを使用してライブラリをインポートできます:

extension=opencv.so
  1. Load Image

次に、次の必要があります。元の画像をロードします。元の画像が image.jpg であると仮定すると、次のコードを使用して画像をロードできます。

$image = cvimread('image.jpg');
  1. グレースケール画像に変換

元の画像を次のように変換する必要があります。ヒストグラム等化のためのグレースケール度画像。次のコードを使用して、イメージをグレースケールに変換できます。

$grayImage = cvcvtColor($image, cvCOLOR_BGR2GRAY);
  1. ヒストグラムの計算

次に、グレースケール イメージのヒストグラムを計算する必要があります。 cvcalcHist 関数を使用してヒストグラムを計算します。コードは次のとおりです。

$hist = cvcalcHist($grayImage, [0], NULL, [256], [0, 256]);
  1. 累積ヒストグラムの計算

次に、均等化のために累積ヒストグラムを計算する必要があります。次のコードを使用して累積ヒストグラムを計算できます。

$cumulativeHist = cvcalcHist($grayImage, [0], NULL, [256], [0, 256]);
  1. 正規化された累積ヒストグラム

等化を実行できるようにするには、累積ヒストグラムを正規化する必要があります。次のコードを使用して累積ヒストグラムを正規化できます。

$totalPixels = $grayImage->rows * $grayImage->cols;
$normalizedHist = $cumulativeHist / $totalPixels;
  1. EQUALIZE IMAGE

最後に、正規化された累積ヒストグラムを使用して画像を均等化できます。この手順を実行するには、次のコードを使用します。

$equalizedImage = cvequalizeHist($grayImage);

コード例:

extension=opencv.so

$image = cvimread('image.jpg');
$grayImage = cvcvtColor($image, cvCOLOR_BGR2GRAY);
$hist = cvcalcHist($grayImage, [0], NULL, [256], [0, 256]);
$cumulativeHist = cvcalcHist($grayImage, [0], NULL, [256], [0, 256]);
$totalPixels = $grayImage->rows * $grayImage->cols;
$normalizedHist = $cumulativeHist / $totalPixels;
$equalizedImage = cvequalizeHist($grayImage);

この記事では、PHP と OpenCV ライブラリを使用して画像のカラー ヒストグラム イコライゼーションを実装する方法を紹介しました。対応するコード例を示し、各ステップの内容を説明します。この方法は、画像のコントラストと明瞭さを向上させ、画像の品質を向上させるのに役立ちます。このアプローチを使用すると、PHP で画像処理と分析を簡単に実行できます。

以上がPHPおよびOpenCVライブラリを使用して画像のカラーヒストグラムを均一化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。