2014-10-07 8 views
5

jestem wykreślania funkcji mecze pomiędzy dwiema scenami tak:MatLab zmniejszający bitdepth w drukowanych obrazach?

%...import, preprocessing, and stuff 

%"Sandwich" Image1 and Image2 in a new image Image 
ImSize=[size(Image1,1)+size(Image2,1),max(size(Image2,2),size(Image2,2))]; 

Image=zeros(ImSize); 
Image(1:size(Image1,1),1:size(Image1,2))=Image1; 
Image(size(Image1,1)+1:end,1:size(Image2,2))=Image2; 

%show Image 
imshow(Image,[]); 
hold on 

%plot keypoints and matching lines in all colors 
cc=hsv(size(Keypoints1,1)); 

for ii=1:size(Keypoints1,1) 

    plot(Keypoints1(ii,1),Keypoints1(ii,2),'o','color',cc(ii,:)) 
    plot(Keypoints2(ii,1),Keypoints2(ii,2)+size(Image1,1),'o','color',cc(ii,:)) 

    line([Keypoints1(ii,1),Keypoints2(ii,1)],[Keypoints1(ii,2),Keypoints2(ii,2)+size(Image1,1)],'color',cc(ii,:),'LineWidth',0.5) 
end 

to normalnie działa dobrze i Matlab działki całą Głębia bitowa enter image description here

ale wraz ze wzrostem liczby linii, zacznę widząc redukcję bitdepth prowadzący do obrazów binarnych, a nawet wszystkich czarnych: enter image description here

Wiem, że spiskowanie w tak wielu wersjach jest dalekie od ideału, ale nadal chciałbym wiedzieć, dlaczego tak się dzieje. Czy istnieją jakieś mechanizmy figur matlabowych, które powinienem zrozumieć, żeby wyjaśnić to zachowanie?

Uwaga: to tylko problem z wyświetlaniem obrazów, zapisanie ich jako plików .bmp, jpg, ... spowoduje uzyskanie normalnych zdjęć.

Odpowiedz

2

wypróbuj różne renderers? Dodaj ten na początku skryptu

h=figure; 
set(h,'renderer','opengl'); 

zamiast „OpenGL”, także spróbować „malarzy” oraz „zbuffer”

+0

Nicea, nie wiedział, można ustawić renderer. zbuffer nie ma problemu, a jednak: (z dokumentacji Matlaba) 'Uwaga: Usunięto opcję 'zbuffer'. Zamiast tego użyj "opengl" lub "malarzy". :( – McMa

Powiązane problemy