2012-02-15 17 views
5

Bu benim orijinal resimdir:Görüntüüm neden MATLAB'de düzgün yüklenmiyor?

enter image description here

Ama MATLAB bu kadar yük ve üzerinde) (imshow kullandığınızda, bu Ben böyle geçerli:

enter image description here

Bu

I=imread('D:\Matty\pout.gif') 
imshow(I) 
+0

Bu garip .... belki de imshow (im2double (I)) 'yi deneyin ya da '.jpg' dosyasını yüklemeden önce başka bir formata dönüştürmeyi deneyin, görüntüyü matlab' dan kaydetmeye çalışın imwrite' (başka bir isimle) ve değiştirilip değiştirilmediğine bakın. – Oli

+0

@Oli Görüntüyü dönüştürmek onu görünüyordu. Ve Lucas konuya dikkat çekti. Cevap için teşekkürler. Cevabını, yorum yapmak yerine cevapladığını kabul etmiş olurdum. – GrowinMan

cevap

3

GIF olarak ayarlayın ve her görüntünün kendi renk haritası olabilir. Ben senin resmin üzerine test ettik

[I, Imap] = imread('D:\Matty\pout.gif'); 
imshow(I,Imap) 

ve çok iyi çalışıyor: Yani görüntü ile birlikte renk haritası okumak gerekir. Cevabında açıklanan @Lucas sorununun ne olduğunu anlamıyorum.

+0

Emin değilim, ama aynı zamanda Matlab'ın (6.1) şu anda çok eski bir versiyonunu da kullanıyorum. – Lucas

5

Daha önce söylediğimi unut: Ben kullanıyorum kodudur. Renk eşlemeyle ilgisi var. Görüntü korkak bir renk haritasına sahip gibi görünüyor. Genellikle, colormap'i [X, map] = imread(...) ile okuyabiliyor olmalısınız, ancak tam olarak anlamadığım bazı veri kırpmaları var.

Ben elle hexeditor ham verilerin dışarı renk haritası kopyalanıp

gif_colormap.txt B1 B1 B1 AF AF AF AB AB AB A9 A9 A9 A7 A7 A7 A3 A3 A3 A1 A1 A1 9F olarak kaydedilmiş 9F 9F 9D 9D 9D 9B 9B 9B 99 99 99 97 97 97 95 95 95 93 93 93 91 91 91 8F 8F 8F 8B 8B 8B 89 89 89 85 85 85 83 83 83 7F 7F 7F 7D 7D 7D 7B 7B 7B 79 79 79 77 77 77 75 75 75 71 71 71 6D 6D 6D 6B 6B 6B 69 69 69 67 67 67 65 65 65 63 63 63 61 61 61 5F 5F 5F 5D 5D 5D 5B 5B 5B 59 59 59 57 57 57 53 53 53 4D 4D 4D 4B 4B 4B E0 E0 E0 DC DC DC DA DA DA D6 D6 D6 D4 D4 D4 D2 D2 D2 D0 D0 D0 CE CE CE CC CC CC CC CA CA CA C8 C8 C8 C4 C4 C4 C2 C2 C2 C0 C0 C0 Be BA BA BA B8 B8 B8 B6 B6 B6 B4 B4 B4 B2 B2 B2 B0 B0 B0 A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A 9 A 9 A 9 A 9 A 9 A 9 A 9 A 9 A 9 A 9 E 9C 9C 9A 9A 9A 96 96 94 94 94 92 92 92 90 90 90 8E 8E 8E 8A 8A 8A 88 88 88 86 86 86 84 84 84 82 82 80 80 80 7E 7E 7E 7A 7A 7A 78 78 78 74 74 74 72 72 72 70 70 70 6E 6E 6E 6C 6C 6C 6A 6A 6A 66 66 66 62 62 62 5E 5E 5E 56 56 56 54 54 54 52 52 52 50 50 50 4E 4E 4E 4A 4A 4A DF DF DF DD DD DD DD DB DB DB D7 D7 D7 D7 D5 D5 D5 D3 D3 D3 D1 D1 D1 CF CF CF CD CD C9 C9 C9 C9 C7 C7 C7 C5 C5 C5 C3 C3 C2 C2 C2 C2 C2 C2 C2 C2 C2 C7 C7 C7 C3 C3 C3 C3 C3 C3 C3 C3 C3 C3 C3 C3 C3 C3 C3 C3 C3 C3 C3 C3

Sonra yeni renk haritası okumak ve biçimini dizine elle

fid = fopen('gif_colormap.txt', 'r') 
A = fscanf(fid, '%x '); 
fclose(fid); 
my_map = reshape(A,3,121)' 

im = imread('pout.gif'); 

%colormap has to be between 0 and 1 
my_map = (my_map-min(my_map(:)))/max(my_map(:)); 

imshow(im,[]) 

%set colormap manually 
colormap(my_map); 

result image of pouting girl

+0

Spot açık.Çok teşekkür ederim Sir Lucas, bu güzel bir bilgi parçasıydı :) – GrowinMan