2017-07-01 74 views
0

是否有任何程序或代碼可以讓我獲取圖像中每個像素的顏色值?還是有一定的圖像文件格式,將可以很容易地通過textpad或類似如何從給定圖像中提取所有十六進制顏色代碼?

+0

有關上下文的一些細節可能會有所幫助。特別是:這是一個*編程*問題嗎?工具和圖書館的問題通常被認爲是無關緊要的。在這種情況下添加編程語言標籤可能已經有所幫助了...... – Marco13

回答

0

在ImageMagick中,txt:輸出格式允許精確確定像素位置和十六進制值。使用unix,tail和sed,我只能返回ImageMagick內部圖像左上角10x10區域的那些值(不帶其他顏色值)。冒號對IM內部圖像很重要。只需用你的實際image.suffix替換rose:[10x10 + 0 + 0]。見http://www.imagemagick.org/Usage/files/#txt

convert rose:[10x10+0+0] -depth 8 txt: | tail -n +2 | sed -n "s/^\(.*\):.*\(#.*\) .*$/\1 \2/p" 

將返回:

0,0 #302F2D 
1,0 #32302E 
2,0 #36322F 
3,0 #38332E 
4,0 #3A332D 
5,0 #39322D 
6,0 #38302D 
7,0 #39312E 
8,0 #38302D 
9,0 #38302D 
0,1 #2F2E2C 
1,1 #302F2D 
2,1 #35302D 
3,1 #37312D 
4,1 #38312C 
5,1 #38302C 
6,1 #362F2C 
7,1 #38312D 
8,1 #38312D 
9,1 #38312E 
0,2 #2C2C2C 
1,2 #2C2D2B 
2,2 #302F2C 
3,2 #312E2B 
4,2 #322C28 
5,2 #322D2A 
6,2 #302C2B 
7,2 #322C2B 
8,2 #322B2B 
9,2 #322C2B 
0,3 #2C2D2F 
1,3 #2B2D2F 
2,3 #2E2D2D 
3,3 #2F2D29 
4,3 #2F2A27 
5,3 #2D2B28 
6,3 #2C2A2A 
7,3 #2C2A2A 
8,3 #2E2B2B 
9,3 #2E2B2B 
0,4 #2C2F32 
1,4 #2B2F32 
2,4 #2E2E30 
3,4 #2D2E2D 
4,4 #2D2B29 
5,4 #2C2A2B 
6,4 #2B292B 
7,4 #282728 
8,4 #2A2A2B 
9,4 #2C2A2B 
0,5 #2E302E 
1,5 #2F2F2D 
2,5 #2F312E 
3,5 #32312E 
4,5 #33302D 
5,5 #332F2C 
6,5 #322D2A 
7,5 #2D2A2B 
8,5 #2C2B2C 
9,5 #2A292D 
0,6 #32332D 
1,6 #33342D 
2,6 #35332E 
3,6 #393631 
4,6 #393631 
5,6 #3A322E 
6,6 #38302D 
7,6 #332E2C 
8,6 #333030 
9,6 #2D2E30 
0,7 #373832 
1,7 #373832 
2,7 #393934 
3,7 #3C3A35 
4,7 #403D38 
5,7 #423A38 
6,7 #413935 
7,7 #3D3733 
8,7 #3C3735 
9,7 #3A3534 
0,8 #383933 
1,8 #393A34 
2,8 #3E3E38 
3,8 #413F3A 
4,8 #443F3A 
5,8 #46413C 
6,8 #45413A 
7,8 #45403A 
8,8 #473F38 
9,8 #453D34 
0,9 #363731 
1,9 #363831 
2,9 #3D3D38 
3,9 #42403B 
4,9 #46413F 
5,9 #48433E 
6,9 #48433E 
7,9 #4A443C 
8,9 #4D4237 
9,9 #4A3D30 
0

東西閱讀它們。如果你想在圖像中不同的顏色,你可以使用ImageMagick的爲:

for color in $(convert -list color | tail -n +6 | sed -r 's/.*\s([a-z]+\(.*)\).*/\1/'); do convert xc:"$color" -depth 8 txt: | grep -v -E '^#.*' | sed -r 's/^.*(#[0-9A-F]{6}).*/\1/' ; done 

ImageMagick的轉換 - 列表顏色將按照名稱和十進制值給出圖像中所有顏色的列表。轉換xc:srgb(255,255,255)-depth 8 txt:會給你更多關於顏色的信息。剩下的就是找到相關線路並提取結果的相關部分的邏輯。

相關問題