Python を使用して写真のカラー バランスを調整する方法
はじめに: 画像処理では、カラー バランスは一般的な操作です。画像のカラーバランスを調整することで、画像全体の色合いをよりニーズに合わせたものに変更できます。この記事では、Python 言語を使用して画像のカラー バランスを調整する方法を紹介し、読者がそれをすぐに実装できるようにコード例を示します。
1. カラー バランスの原理
カラー バランスとは、画像内のさまざまなカラー チャネルの強度を調整して、全体的な色の効果を実現する操作です。一般に、画像の色は、赤、緑、青 (RGB) の 3 つのチャネルで構成されます。各チャンネルの強度を調整すると、画像のカラー分布が変化し、カラー バランス効果が得られます。 RGB 画像の場合、通常、各チャネルの強度調整の度合いを表すためにゲイン係数が使用されます。
2. Python でカラーバランス調整を実現
Python は人気のプログラミング言語として、画像処理の分野でも広く使われています。 PythonとOpenCVライブラリを使って画像のカラーバランスを調整する方法の実装手順を紹介します。
import cv2 import numpy as np
# 读取图片 img = cv2.imread('image.jpg') # 转换颜色空间为浮点数 img = img.astype(float) / 255
# 计算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
# 调整每个通道的强度 img[:, :, 2] *= Kr img[:, :, 1] *= Kg img[:, :, 0] *= Kb
# 限制像素值范围在0~255 img = np.clip(img, 0, 1) # 转换为整型 img = img * 255 img = img.astype(np.uint8)
# 显示调整后的图像 cv2.imshow('Balanced Image', img) # 保存调整后的图像 cv2.imwrite('balanced_image.jpg', img) # 等待关闭窗口 cv2.waitKey(0) cv2.destroyAllWindows()
上記のコードは、画像のカラー バランス調整を実装し、調整された画像を表示して保存します。ローカルディスク。ゲイン係数を変更することで、画像の色彩効果をさらに変化させることができます。
概要: この記事では、カラー バランスの原理を簡単に紹介し、Python および OpenCV ライブラリを使用してカラー バランス調整を実装する方法を示します。読者は、必要に応じてコード内のパラメータを調整して、画像の色の効果をさらに最適化できます。この記事が画像処理分野の読者に役立つことを願っています。
以上がPython を使用して写真のカラーバランス調整を行う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。