ホームページ  >  記事  >  バックエンド開発  >  Python を使用して写真のカラーバランス調整を行う方法

Python を使用して写真のカラーバランス調整を行う方法

王林
王林オリジナル
2023-08-17 11:43:461573ブラウズ

Python を使用して写真のカラーバランス調整を行う方法

Python を使用して写真のカラー バランスを調整する方法

はじめに: 画像処理では、カラー バランスは一般的な操作です。画像のカラーバランスを調整することで、画像全体の色合いをよりニーズに合わせたものに変更できます。この記事では、Python 言語を使用して画像のカラー バランスを調整する方法を紹介し、読者がそれをすぐに実装できるようにコード例を示します。

1. カラー バランスの原理
カラー バランスとは、画像内のさまざまなカラー チャネルの強度を調整して、全体的な色の効果を実現する操作です。一般に、画像の色は、赤、緑、青 (RGB) の 3 つのチャネルで構成されます。各チャンネルの強度を調整すると、画像のカラー分布が変化し、カラー バランス効果が得られます。 RGB 画像の場合、通常、各チャネルの強度調整の度合いを表すためにゲイン係数が使用されます。

2. Python でカラーバランス調整を実現
Python は人気のプログラミング言語として、画像処理の分野でも広く使われています。 PythonとOpenCVライブラリを使って画像のカラーバランスを調整する方法の実装手順を紹介します。

  1. 関連ライブラリのインポート
import cv2
import numpy as np
  1. 画像の読み取りと前処理
# 读取图片
img = cv2.imread('image.jpg')
# 转换颜色空间为浮点数
img = img.astype(float) / 255
  1. ゲイン係数の計算
# 计算RGB各通道的平均值
avgR = np.mean(img[:, :, 2])
avgG = np.mean(img[:, :, 1])
avgB = np.mean(img[:, :, 0])
# 计算每个通道的增益系数
K = (avgR + avgG + avgB) / 3
Kr = K / avgR
Kg = K / avgG
Kb = K / avgB
  1. カラー チャネルの強度を調整します
# 调整每个通道的强度
img[:, :, 2] *= Kr
img[:, :, 1] *= Kg
img[:, :, 0] *= Kb
  1. 調整が完了したら、画像のピクセル値を 0 ~ 255 の範囲に制限して、次のように変換します。整数値
# 限制像素值范围在0~255
img = np.clip(img, 0, 1)
# 转换为整型
img = img * 255
img = img.astype(np.uint8)
  1. 結果の表示と保存
# 显示调整后的图像
cv2.imshow('Balanced Image', img)
# 保存调整后的图像
cv2.imwrite('balanced_image.jpg', img)
# 等待关闭窗口
cv2.waitKey(0)
cv2.destroyAllWindows()

上記のコードは、画像のカラー バランス調整を実装し、調整された画像を表示して保存します。ローカルディスク。ゲイン係数を変更することで、画像の色彩効果をさらに変化させることができます。

概要: この記事では、カラー バランスの原理を簡単に紹介し、Python および OpenCV ライブラリを使用してカラー バランス調整を実装する方法を示します。読者は、必要に応じてコード内のパラメータを調整して、画像の色の効果をさらに最適化できます。この記事が画像処理分野の読者に役立つことを願っています。

以上がPython を使用して写真のカラーバランス調整を行う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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