我想提取圖像中最常用的顏色,或至少是初級色調 您能推薦我如何從這項任務開始?或者指向我一個類似的代碼?我一直在尋找它,但沒有成功。從圖像中提取顏色
從圖像中提取顏色
回答
使用Octree Color Quantization algorithm可以獲得非常好的結果。其他量化算法可在Wikipedia上找到。
這正是我期待的!非常感謝你! – biquillo 2009-11-25 03:33:45
你可以發送樣本代碼在目標c – dineshprasanna 2012-09-10 08:50:52
@dineshprasanna,不,我不能。如果Google無法幫助您,那麼您可能需要使用鏈接中提供的信息編寫自己的代碼。 – 2012-09-10 12:14:18
我同意評論 - 編程解決方案肯定需要更多信息。但是在那之前,假設您將獲得圖像中每個像素的RGB值,您應該考慮可以說Hue可以表示每個像素的「色調」的HSV colorspace。然後,您可以使用histogram來識別圖像中最常用的色調。
NB「HSV colorspace」你很可能會說「HSV模式RGB模型」 - HSV(和它的兄弟姐妹雙HSL)是一個RGB失真color _model_;幾乎任何引用RGB模型(或錯誤地爲「RGB顏色空間」)的人都在處理CIE-XYZ'39顏色空間_space_中的值的表示形式,而不是專門挑選您的答案,但是在那裏你去。 – fish2000 2012-03-24 15:48:04
那麼,我假設你可以訪問每個像素的RGB顏色。根據你想要的方式,你可以有兩種方法。
首先,您可以簡單地創建一些像素的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 2009-11-25 03:29:04
- 1. 從數據url/uri圖像中提取像素顏色
- 2. 從PNG圖像中提取像素顏色
- 3. 從圖片中獲取像素顏色?
- 4. 從TextView Android中提取多種顏色
- 5. 從ggplot2中提取顏色信息?
- 6. 在Swift 3中使用CGPoint從圖像獲取像素顏色
- 7. 提取.pgm圖像中顏色位的最快方法?
- 8. 在Python中提取顏色表單圖像
- 9. 讀取圖像的像素顏色
- 10. 提取屏幕像素的顏色請
- 11. 提取顏色漸變像素信息
- 12. 從圖像中檢索顏色信息
- 13. 如何獲取圖像中像素的顏色(加載灰色)?
- 14. 從圖庫中導入的圖像中獲取Android中的像素顏色?
- 15. 使用cvtColor轉換單個BGR顏色並使用結果從圖像中提取該顏色
- 16. 從位圖中讀取BGR顏色C
- 17. 單色圖像顏色
- 18. 從RichTextBox中提取圖像
- 19. 從圖像中提取x%
- 20. 從圖像中提取
- 21. 從Vaadin的圖像獲取像素顏色
- 22. 圖像顏色識別,一般顏色
- 23. 從不同顏色的圖像中獲取RGB值
- 24. 從圖像中獲取使用的顏色名稱
- 25. 如何從5-6-5位圖圖像中提取調色板?
- 26. 獲取圖像前10種顏色
- 27. 在JLabel下獲取圖像顏色
- 28. 圖像讀取的RGB顏色?
- 29. 使用PHP獲取圖像的顏色
- 30. 從NSImage獲取像素和顏色
您正在使用哪種語言或框架? – jheddings 2009-11-24 04:11:09
答案很大程度上取決於你的環境。 – 2009-11-24 04:16:20
那麼,我正在考慮處理只是爲了一個概念證明,然後把它翻譯成Python的批處理 – biquillo 2009-11-25 03:28:05