ColorBalance[image]
無色照明の効果を模すようなバランスを得るために,image 中の色を調整する.
ColorBalance[image,ref]
ref で指定された基準色が白にマップされるように image 中の色を調整する.
ColorBalance[image,reftarget]
基準色 ref を target にマップする.
ColorBalance
ColorBalance[image]
無色照明の効果を模すようなバランスを得るために,image 中の色を調整する.
ColorBalance[image,ref]
ref で指定された基準色が白にマップされるように image 中の色を調整する.
ColorBalance[image,reftarget]
基準色 ref を target にマップする.
詳細とオプション
- ColorBalanceは,非現実的なカラーキャストを画像から除いた白または灰色の平衡によく使われる.これは,結果としてオブジェクトを灰色の無彩色で表すことが多い.
- ColorBalanceは明示的な色空間がある画像に使うことができる.ColorSpace->Automaticの画像は調整前に"RGB"または"Grayscale"に変換される.
- ref あるいは target のいずれかは,以下の任意のものでよい.
-
color 明示的な色 whitepoint WhitePointの設定で使われるような名前付きの白色点 temperature 温度で指定された色 {temperature,tint} 温度と色合いで指定された色 {pos1,pos2,…} もとの画像中の位置 posiの画素の平均色 markerimage マーカー画像に従ってサンプルされた画素の平均色 - 画素の平均色はLab色空間で計算される.
- temperature はケルビン単位の値として指定することができる.よく使われる値は2000Kから20,000Kの範囲である.tint は
単位で与えることができる.よく使われる値は
から
の範囲である. - 温度と色合いは,以下に示すMacAdam色度図で可視化することができる.曲線は放射黒体に相当し,色合い調整は,温度曲線に直交する等温線からの動きである.
- ColorBalanceはMethodオプションを取る.次は可能な設定である.
-
"GrayScaling" 画像の平均をスケーリングする "RGBScaling" RGB空間でスケーリングする "LMSScaling" LMS空間でスケーリングする "ChromaticityScaling" LMS空間内の色度のスケーリング - メソッド"LMSScaling"では,XYZとLMSの変換を行うBradford変換行列を使ってスケーリングが行われる.
- {temperature,tint}ペアが与えられると,常にMethod"ChromaticityScaling"が使われる.その他の場合はMethod->"LMSScaling"が使われる. »
例題
すべて開く すべて閉じるスコープ (8)
ColorBalance[[image], RGBColor[0.5, 1., 0.5]]ColorBalance[[image], {{22, 9}, {136, 27}, {139, 11}}]ColorBalance[[image], [image]]ColorBalance[[image], Quantity[4200, "Kelvins"]]ColorBalance[[image], {Quantity[4200, "Kelvins"], .02}]ColorBalance[[image], RGBColor[1., 0.85, 0.85] -> GrayLevel[1]]基準と目標のWhitePointを指定することで色順応を行う:
ColorBalance[[image], "D50" -> "F6"]基準色とターゲットのWhitePointを指定することで色順応を行う:
ColorBalance[[image], RGBColor[1., 0.85, 0.85] -> "D50"]オプション (6)
Method (6)
Method->"RGBScaling"を使ってRGB色空間内で画像を再スケールする:
ColorBalance[[image], Method -> "RGBScaling"]強いカラーキャストが存在する場合は,RGB空間内で画素をスケーリングしてもカラーキャストが直らないことがある:
image = [image];ColorBalance[image, Method -> "RGBScaling"]Method->"LMSScaling"を使ってLMS空間で画素をスケールする:
ColorBalance[image, Method -> "LMSScaling"]Method->"ChromaticityScaling"を使って平均色を中立(濃淡レベル)にする:
ColorBalance[image, Method -> "ChromaticityScaling"]基準色あるいはターゲット色なしに"RGBScaling"を使う:
i = [image];ColorBalance[i, Method -> "RGBScaling"]これは,各チャンネルについて色の最大値を1に変換することに相当する:
% == ImageMultiply[i, 1 / ImageMeasurements[i, "Max"]]"ChromaticityScaling"は,よりバランスのとれた画像を作ることが多い:
image = [image];Table[Prepend[AbsoluteTiming[ColorBalance[image, Method -> m]], m], {m, {"RGBScaling", "LMSScaling", "ChromaticityScaling"}}]//Transpose//Grid色が温度と色合いによって指定されている場合は,Method->"ChromaticityScaling"が使われる:
image = ImageResize[ExampleData[{"TestImage", "Peppers"}], 100];ColorBalance[image, Quantity[3800, "Kelvins"], Method -> #]& /@ {Automatic, "RGBScaling", "ChromaticityScaling"}SameQ[%]基準色あるいはターゲット色がない場合,使用可能なメソッドが画像についての仮定をする:
image = [image];ImageMeasurements[image, "Max"]"RGBScaling"および"LMSScaling"は画像が白色オブジェクトを含んでいると仮定する:
ColorBalance[image, Method -> #]& /@ {"RGBScaling", "LMSScaling"}ImageMeasurements[#, "Max"]& /@ %"ChromaticityScaling"は平均色が中立つまり灰色であると仮定する:
ImageMeasurements[image, "Mean"]ColorBalance[image, Method -> "ChromaticityScaling"]ImageMeasurements[%, "Mean"]アプリケーション (4)
水中画像 (2)
ColorBalance[[image], Method -> "LMSScaling"]すでに白の画素がある場合,Method"LMSScaling"はほとんどあるいはまったく効果がない:
i = [image];ImageDifference[ColorBalance[i, Method -> "LMSScaling"], i]中立の平均色というデフォルトの仮定では,極端な結果になることがある:
ColorBalance[i]ColorBalance[i, Binarize[i, {.5, 1}]]1日のうちの時間 (1)
i = [image];ColorBalance[i, Automatic -> Quantity[4000, "Kelvins"]]ColorBalance[i, Automatic -> Quantity[5500, "Kelvins"]]ColorBalance[i, Automatic -> Quantity[7000, "Kelvins"]]特性と関係 (2)
画像の画素が暗い場合,ImageAdjustは"RGBscaling"メソッドと同じような結果を与える:
reddish = [image];
ImageAdjust[reddish] ==
ColorBalance[reddish, Method -> "RGBScaling"]ColorBalanceが行う色のマッピングは,通常は可逆ではない:
i = [image];ColorBalance[ColorBalance[i, "D50" -> "D65"], "D65" -> "D50"]% == i考えられる問題 (1)
複数の光源による照明がある場面のバランスを取ると問題が起ることがある.
これらの場面は夕闇における太陽の反射光と街灯からの白熱灯の光で照らされている:
i = [image];houses = FillingTransform@Binarize[ColorDistance[i, Blue], 1.2]ColorBalance[i, houses -> Quantity[3000, "Kelvins"]]ColorBalance[i, ColorNegate@houses -> Quantity[8000, "Kelvins"]]関連するガイド
-
▪
- 計算写真学 ▪
- 色の処理 ▪
- 画像復元 ▪
- 画像計算機能の更新履歴
テキスト
Wolfram Research (2015), ColorBalance, Wolfram言語関数, https://reference.wolfram.com/language/ref/ColorBalance.html.
CMS
Wolfram Language. 2015. "ColorBalance." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/ColorBalance.html.
APA
Wolfram Language. (2015). ColorBalance. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ColorBalance.html
BibTeX
@misc{reference.wolfram_2026_colorbalance, author="Wolfram Research", title="{ColorBalance}", year="2015", howpublished="\url{https://reference.wolfram.com/language/ref/ColorBalance.html}", note=[Accessed: 11-August-2026]}
BibLaTeX
@online{reference.wolfram_2026_colorbalance, organization={Wolfram Research}, title={ColorBalance}, year={2015}, url={https://reference.wolfram.com/language/ref/ColorBalance.html}, note=[Accessed: 11-August-2026]}