PHP および OpenCV ライブラリ: 画像のコントラスト調整を行うにはどうすればよいですか?
要約:
画像処理は、コンピュータ ビジョンの分野における重要な研究方向の 1 つです。コントラスト調整は画像処理における一般的なタスクであり、画像の明るさとコントラストを変更して、画像をより豊かで鮮明なものにします。この記事では、PHP プログラミング言語と OpenCV ライブラリを使用して画像のコントラストを調整する方法と、対応するコード例を紹介します。
ステップ 1: OpenCV ライブラリをダウンロードする
OpenCV 公式 Web サイト (https://opencv.org/) で PHP 用の OpenCV ライブラリをダウンロードします。対応するオペレーティング システムとダウンロードするバージョンを選択します。
ステップ 2: OpenCV ライブラリをインストールする
ダウンロードした OpenCV ライブラリを解凍し、PHP 拡張ディレクトリにコピーします。次のコードを PHP 構成ファイル (php.ini) に追加します。
extension=opencv.so
ステップ 3: Web サーバーを再起動します
Web サーバーを再起動して、新しい構成を有効にします。
ステップ 1: 画像をグレースケール画像に変換する
まず、元の画像をグレースケール画像に変換します。これは、RGB 画像の各ピクセル値の平均を輝度値として取得することで実現できます。
ステップ 2: 平均輝度を計算する
グレースケール イメージの平均輝度を計算します。平均輝度は、すべてのピクセル値をループして合計し、ピクセルの総数で割ることによって計算できます。
ステップ 3: 各ピクセルの線形変換
各ピクセル値について、次の式によって線形変換を実行します。
新しいピクセル値 = (ピクセル値 - 平均輝度) * コントラスト ゲインの平均輝度
<?php // 加载OpenCV库 $opencv = new OpenCV(); // 读取原始图像 $image = $opencv->readImage("original_image.jpg"); // 将图像转换为灰度图像 $gray_image = $opencv->cvtColor($image, CV_BGR2GRAY); // 计算平均亮度 $mean_brightness = $opencv->mean($gray_image); // 对每个像素进行线性变换 $contrast_gain = 1.5; // 对比度增益 $adjusted_image = $opencv->multiply($gray_image, $contrast_gain, $mean_brightness); // 显示调整后的图像 $opencv->imshow("Adjusted Image", $adjusted_image); $opencv->waitKey(); // 保存调整后的图像 $opencv->writeImage("adjusted_image.jpg", $adjusted_image); ?>
上記のコードでは、まず OpenCV オブジェクトをインスタンス化します。次に、readImage() メソッドを使用して元のイメージを読み取り、 cvtColor() メソッドを使用してグレースケール イメージに変換します。次に、mean() メソッドを使用して、グレースケール イメージの平均輝度を計算します。最後に、multiply() メソッドを使用して各ピクセルを線形変換し、imshow() メソッドを使用して調整された画像を表示します。
以上がPHP および OpenCV ライブラリ: 画像のコントラスト調整を行うにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。