Python を使用して写真のカラーバランス調整を行う方法
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 の範囲に制限して、次のように変換します。整数値
# 限制像素值范围在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 サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











多くのウェブサイト開発者は、ランプアーキテクチャの下でnode.jsまたはPythonサービスを統合する問題に直面しています:既存のランプ(Linux Apache MySQL PHP)アーキテクチャWebサイトのニーズ...

Scapy Crawlerを使用する場合、パイプラインの永続的なストレージファイルを書くことができない理由は?ディスカッションデータクローラーにScapy Crawlerを使用することを学ぶとき、あなたはしばしば...

Python Process Poolは、クライアントが立ち往生する原因となる同時TCP要求を処理します。ネットワークプログラミングにPythonを使用する場合、同時のTCP要求を効率的に処理することが重要です。 ...

python functools.partialオブジェクトのpython functools.partialを使用してPythonを使用する視聴方法を深く探索します。

LinuxターミナルでPythonバージョンを表示する際の許可の問題の解決策PythonターミナルでPythonバージョンを表示しようとするとき、Pythonを入力してください...

Pythonクロスプラットフォームデスクトップアプリケーション開発ライブラリの選択多くのPython開発者は、WindowsシステムとLinuxシステムの両方で実行できるデスクトップアプリケーションを開発したいと考えています...

Python:Hourglassグラフィック図面と入力検証この記事では、Python NoviceがHourglass Graphic Drawingプログラムで遭遇する可変定義の問題を解決します。コード...

データの変換と統計:大規模なデータセットの効率的な処理この記事では、製品情報を含むデータリストを別の含有しているものに変換する方法を詳細に紹介します...
