我有一些石頭圖像。石頭的顏色是奶油狀的,我想根據它們在顏色上的差異對圖像進行分類。我想給出最輕的石頭等級0和最黑暗的石頭等級10,並在這兩者之間對其他人進行分類。石頭非常相似,但它們的色差可以通過眼睛檢測到。
我知道是否所有的藍色石頭,例如我可以根據RGB顏色的R部分對它們進行分類。但是奶油色呢?根據顏色對圖像進行排序
0
A
回答
2
你不需要去安裝編譯器和OpenCV的複雜性和編寫/編譯Python/C++代碼來獲得圖像的平均亮度。您可以使用ImageMagick,它安裝在大多數Linux發行版上,也可用於macOS和Windows。
基本上,你可以看看「輕」在HSL色彩空間或在實驗室色彩空間。
讓我們來看看HSL第一。
# Resize stone down to one average pixel, convert to HSL colourspace and print
convert stone1.jpg -resize 1x1 -colorspace HSL txt:
# ImageMagick pixel enumeration: 1,1,65535,hsl
0,0: (4228.92,19250.9,52587.2) #104BCD hsl(23.2305,29.375%,80.2429%)
因此HSL中stone1.jpg
的亮度爲80.24%。讓我們嘗試stone2.jpg
:
convert stone2.jpg -resize 1x1 -colorspace HSL txt:
# ImageMagick pixel enumeration: 1,1,65535,hsl
0,0: (7387.85,27252.5,57243) #1D6ADF hsl(40.5833,41.5846%,87.3472%)
所以,stone2.jpg
爲87.35%,輕
讓我們簡化輸出,只顯示亮度:
convert stone1.jpg -colorspace HSL -format "%[fx:int(100*mean.b)]" info:
80
和stone2.jpg
:
convert stone2.jpg -colorspace HSL -format "%[fx:int(100*mean.b)]" info:
87
現在讓我們看看實驗室 colourspace。
convert stone1.jpg -resize 1x1 -colorspace Lab txt:
# ImageMagick pixel enumeration: 1,1,65535,cielab
0,0: (53895.2,1140.43,2057.36) #D20408 cielab(82.2388%,1.74018%,3.13933%)
所以,stone1.jpg
有82.24%一實驗室亮度,讓我們來看看stone2.jpg
:
convert stone2.jpg -resize 1x1 -colorspace Lab txt:
# ImageMagick pixel enumeration: 1,1,65535,cielab
0,0: (59395,-21.0391,2545.27) #E7000A cielab(90.6309%,-0.36%,3.88383%)
所以,stone2.jpg
有90.6%的亮度。
如果我們想要更簡單的形式呢?
convert stone1.jpg -colorspace Lab -format "%[fx:int(100*mean.r)]" info:
82
什麼的百分比?它們是白色的百分比,所以純白色是100%,純黑色是0%。快速測試...
convert xc:black -colorspace Lab txt:
# ImageMagick pixel enumeration: 1,1,65535,cielab
0,0: (0,-0.5,-0.5) #000000000000 cielab(0%,-0.000762951%,-0.000762951%)
convert xc:white -colorspace Lab txt:
# ImageMagick pixel enumeration: 1,1,65535,cielab
0,0: (65535,0.125,-1.69336) #FFFF00000000 cielab(100%,0.000190738%,-0.0025839%)
如果你有一整個目錄全石材樣品的,你想爲每個HSL亮度值?
convert stone* -colorspace HSL -format "%f:%[fx:int(100*mean.b)]\n" info:
stone1.jpg:80
stone2.jpg:87
stone3.jpg:75
stone4.jpg:92
2
我希望用他們的color.I差異圖像分類想給最輕的石頭0級和最黑暗的石級10和分類這兩種人之間。石頭非常相似,但它們的色差可以通過眼睛檢測到。
如果您想要從淺到深的順序排列,並考慮到色相,則RGB色彩空間不太適合。你應該看看Lab colour space或者Hue Saturation Lightness (HSL)色彩空間。
通過將圖像轉換爲其中一個顏色空間,然後取平均值,然後可以將其分類爲亮度和一個或兩個顏色/色相軸。 (這是假設圖像內容大部分是同質的)。
相關問題
- 1. 對顏色/顏色值進行排序
- 2. 根據內容對圖像進行排序
- 3. 如何根據修改的日期對圖像進行排序?
- 4. 如何根據使用jquery應用顏色的顏色對錶格行進行排序
- 5. 根據Value對Key進行排序HashMap?
- 6. 按顏色編碼的單元格對數據進行排序
- 7. 根據圖像更改文本顏色
- 8. 根據倒計時對圖像進行潤色
- 9. 如何根據特定列對網格視圖進行排序?
- 10. 根據中位數值對盒子圖進行排序
- 11. 試圖根據字符串值對列表進行排序
- 12. 根據日期對圖像進行排序並在gridview中顯示
- 13. 如何根據數據行子串對VB.NET DataView進行排序?
- 14. 對一維顏色列表進行排序?
- 15. 通過背景顏色對SSRS中的列進行排序
- 16. 如何在Excel 2003中對單元格進行顏色排序?
- 17. 如何按照時間對圖像排序進行排序
- 18. 對基於圖像區域的提取數據進行排序
- 19. 如何根據純色區域和重複圖案對圖像進行分類
- 20. 如何根據對象的屬性對數組進行排序?
- 21. 根據對象屬性對Java ArrayList進行排序
- 22. 如何使用js根據鍵對JSON對象進行排序?
- 23. 如何根據對象的屬性對列表進行排序
- 24. 根據特定規則對對象進行排序
- 25. scala根據對象參數錯誤對列表進行排序
- 26. 使用matlab對兩幅圖像進行顏色比較
- 27. 通過Javascript或PHP對圖像顏色進行修改
- 28. 根據滑塊圖像的色調更改菜單顏色
- 29. 根據多個條件進行排序
- 30. 根據條件數進行排序
你能上傳一些樣本圖片嗎?你是否成功地從背景中分割出石頭?如果不是,那麼由於背景噪聲,設計基於顏色進行排序的算法將不能很好地工作。 – ZdaR
@ZdaR我從石頭上傳圖片 – mohammad