ホームページ バックエンド開発 Python チュートリアル Python を使用して写真のカラーバランス調整を行う方法

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

Aug 17, 2023 am 11:43 AM
python 写真 カラーバランス

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 までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

ランプアーキテクチャの下でnode.jsまたはPythonサービスを効率的に統合する方法は? ランプアーキテクチャの下でnode.jsまたはPythonサービスを効率的に統合する方法は? Apr 01, 2025 pm 02:48 PM

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

Scapy Crawlerを使用するときにパイプラインの永続的なストレージファイルを書き込めない理由は何ですか? Scapy Crawlerを使用するときにパイプラインの永続的なストレージファイルを書き込めない理由は何ですか? Apr 01, 2025 pm 04:03 PM

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

PythonプロセスプールがTCPリクエストを同時に処理し、クライアントが立ち往生する理由は何ですか? PythonプロセスプールがTCPリクエストを同時に処理し、クライアントが立ち往生する理由は何ですか? Apr 01, 2025 pm 04:09 PM

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

Python functools.partialオブジェクトによって内部的にカプセル化された元の関数を表示する方法は? Python functools.partialオブジェクトによって内部的にカプセル化された元の関数を表示する方法は? Apr 01, 2025 pm 04:15 PM

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

LinuxターミナルでPythonバージョンを表示するときに発生する権限の問題を解決する方法は? LinuxターミナルでPythonバージョンを表示するときに発生する権限の問題を解決する方法は? Apr 01, 2025 pm 05:09 PM

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

Pythonクロスプラットフォームデスクトップアプリケーション開発:どのGUIライブラリが最適ですか? Pythonクロスプラットフォームデスクトップアプリケーション開発:どのGUIライブラリが最適ですか? Apr 01, 2025 pm 05:24 PM

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

Python hourglassグラフ図面:可変未定義エラーを避ける方法は? Python hourglassグラフ図面:可変未定義エラーを避ける方法は? Apr 01, 2025 pm 06:27 PM

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

Pythonで大規模な製品データセットを効率的にカウントしてソートするにはどうすればよいですか? Pythonで大規模な製品データセットを効率的にカウントしてソートするにはどうすればよいですか? Apr 01, 2025 pm 08:03 PM

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

See all articles