イメージの中で最も使用されている色、または少なくともプライマリトーンを抽出したい 私はこのタスクをどのように開始できますか?または同様のコードを私に指摘してください。私はそれを探しているが成功していない。イメージから色を抽出する
答えて
Octree Color Quantization algorithmを使用すると、非常に良い結果が得られます。他の量子化アルゴリズムはWikipediaにあります。
これはまさに私が探していたものです!どうもありがとうございました! – biquillo
@dineshprasannaの客観的なサンプルコードを – dineshprasanna
に送ることができますか? Googleが手助けできない場合は、リンクに記載されている情報を使用して自分で作成する必要があります。 –
私はコメントに同意します。プログラミングの解決策にはもっと詳しい情報が必要です。しかしそれまでは、画像の各ピクセルのRGB値を取得すると仮定すると、各ピクセルの「トーン」を表現すると言われるHSV colorspaceを考慮する必要があります。 histogramを使用して、画像内で最も使用頻度の高いトーンを特定できます。
NB by "HSV colorspace"あなたはおそらく "HSVモードのRGBモデル"と言っています - HSV(およびその兄弟のツインHSL) color _model_; RGBモデル(または、誤って "RGB color space")を参照している人は、CIE-XYZ'39 color _space_の値の表現を扱っています。 – fish2000
まあ、私はあなたが各ピクセルのRGBカラーにアクセスできると仮定します。あなたがそれを望む方法に応じてあなたはそうすることができる2つの方法があります。
まず、すべてのピクセルのR、G、Bのうちのいくつかを作成するだけです。
擬似コード。
int Red = 0;
int Green = 0;
int Blue = 0;
foreach (Pixels as aPixel) {
Red += aPixel.getRed();
Green += aPixel.getGreen();
Blue += aPixel.getBlue();
}
次に参照してください。
これはあなただけが赤、緑、または青の画像を与える。
別の方法では、各RGBの組み合わせのヒストグラムを作成するだけで、結合された色も(オレンジのように)静的になります。
擬似コード。
Map ColorCounts = new();
foreach (Pixels as aPixel) {
const aRGB = aPixel.getRGB();
var aCount = ColorCounts.get(aRGB);
aCount++;
ColorCounts.put(aRGB, aCount);
}
次に、どれが多いかを確認します。 また、通常のRGBカラーリングで最大670万色が得られるので、カラー解像度を下げることもできます。
これは、色の範囲にRGBを指定することで簡単に行うことができます。例えば、RGBは8段階ではなく、256とする。
擬似コード。
function Reduce(Color) {
return (Color/32)*32; // 32 is 256/8 as for 8 ranges.
}
function ReduceRGB(RGB) {
return new RGB(Reduce(RGB.getRed()),Reduce(RGB.getGreen() Reduce(RGB.getBlue()));
}
Map ColorCounts = new();
foreach (Pixels as aPixel) {
const aRGB = ReduceRGB(aPixel.getRGB());
var aCount = ColorCounts.get(aRGB);
aCount++;
ColorCounts.put(aRGB, aCount);
}
次に、最も多く含まれる範囲を確認できます。
これらの手法があなたにとって理にかなっていることを願っています。
ニース!本当にありがとう、本当にありがとう! – biquillo
- 1. イメージからファイルへの16進数の色を抽出する
- 2. イメージからサブイメージを抽出する#
- 3. イメージからテキストを抽出する
- 4. イメージからrgbaデータを抽出する
- 5. イメージからの色抽出、定量および分析R
- 6. タートルグラフィックス - オンスクリーンからの色の抽出
- 7. イメージURLをカスタムXMLファイルから抽出する方法は?
- 8. イメージから顔を抽出する方法は?
- 9. イメージからテキストを抽出する方法Androidアプリ
- 10. イメージからさまざまな形を抽出する方法
- 11. SQL列からイメージ名を抽出する方法
- 12. イメージからテーブルデータを特定して抽出する
- 13. Android - 画面からピクセルの色を抽出する
- 14. セル内に複数の色のセルからフォントの色を抽出する
- 15. LIBSVMで使用するイメージからのフィーチャ抽出
- 16. イメージからテキストを抽出します。 OCR
- 17. DICOMイメージを抽出するMicrosoft SQLデータベース
- 18. イメージファイルから日付を抽出してlinuxのイメージに出力するには
- 19. numpy画像から色付きの線を抽出します。
- 20. バイト配列から画像の幅、高さ、色、タイプを抽出
- 21. Microsoft.Office.Interop.Wordを使用せずにDOCファイルからイメージを抽出する方法
- 22. C#を使用してPDFファイルからイメージを抽出する方法
- 23. HTMLから抽出して特定の行を抽出する
- 24. イメージから抽出できる関連情報はどれですか?
- 25. 画像から単語の個々のイメージを抽出する方法は?
- 26. 組み込みリソースから一時フォルダにイメージを抽出する方法は?
- 27. wsdlからオブジェクトスキーマを抽出する
- 28. ファイルから単語を抽出する
- 29. ファイルからビットマップを抽出する
- 30. ビデオからオーディオを抽出する
あなたはどの言語やフレームワークを使用していますか? – jheddings
答えは、環境に大きく依存します。 –
さて、私は概念の証明のためだけに処理を考えていましたが、それをバッチ処理のためにPythonに翻訳しました – biquillo