我想提取圖像中最常用的顏色,或至少是初級色調 您能推薦我如何從這項任務開始?或者指向我一個類似的代碼?我一直在尋找它,但沒有成功。從圖像中提取顏色
從圖像中提取顏色
回答
使用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. 從圖像中獲取像素顏色
- 2. 從數據url/uri圖像中提取像素顏色
- 3. 從PNG圖像中提取像素顏色
- 4. 從圖片中獲取像素顏色?
- 5. 顏色從圖像
- 6. 如何使用CSS從圖像中提取顏色?
- 7. 我試圖從圖像中提取像素的顏色,但它只能從先前加載圖像獲取的顏色
- 8. 從TextView Android中提取多種顏色
- 9. 從ggplot2中提取顏色信息?
- 10. 如何從圖像中獲取像素的顏色?
- 11. 在Swift 3中使用CGPoint從圖像獲取像素顏色
- 12. Android imageview從縮放圖像中獲取像素顏色
- 13. 獲取圖像中的所有顏色
- 14. 在Python中提取顏色表單圖像
- 15. 提取.pgm圖像中顏色位的最快方法?
- 16. 讀取圖像的像素顏色
- 17. 提取屏幕像素的顏色請
- 18. 提取顏色漸變像素信息
- 19. 從圖像中刪除顏色
- 20. 從圖像中檢索顏色信息
- 21. 如何獲取圖像輪廓(或從圖像中獲取特定顏色?)-ANDroid
- 22. 如何獲取圖像中像素的顏色(加載灰色)?
- 23. 從圖庫中導入的圖像中獲取Android中的像素顏色?
- 24. 使用cvtColor轉換單個BGR顏色並使用結果從圖像中提取該顏色
- 25. 從字節數組中提取圖像的寬度,高度,顏色和類型
- 26. 如何從給定圖像中提取所有十六進制顏色代碼?
- 27. 從地圖對象中提取顏色值
- 28. 從圖像中提取圖像
- 29. 從位圖中讀取BGR顏色C
- 30. 從PDF中提取圖像
您正在使用哪種語言或框架? – jheddings 2009-11-24 04:11:09
答案很大程度上取決於你的環境。 – 2009-11-24 04:16:20
那麼,我正在考慮處理只是爲了一個概念證明,然後把它翻譯成Python的批處理 – biquillo 2009-11-25 03:28:05