많은 덕분에 이미지 링크! 필자가 제공 한`Singapore.tif '파일과 적절한 출력 파일에 맞게 수정 한 코드를 사용하고 시스템 (Matlab 2013b, Linux 64 비트)에서 예상대로 작동합니다. 이 출력 파일입니다
그래서 난 당신의 코드에 아무 문제가 없다는 것을 말할 미안 해요, 그것은 아마도 'PNG'창에 드라이버 또는 특정 설치와 함께 할 수있는 뭔가입니다. 다른 드라이버로 인쇄 해 보셨습니까? (예 : jpg 또는 pdf?). 그림의 그래픽 메뉴 (예 :
File->Save As
)에서이 작업을 수행하면 실제로 작동합니까? 또는 적절한 속성을 가진
File->Export Setup->Export
을 통해?
내가 생각할 수있는 유일한 다른 점은 시스템에 혼란을 줄 수있는 유일한 이유는 uint8 rgb 이미지 (싱가포르 이미지)
및을 오버레이 된 이중 회색조 이미지로 인쇄하려는 시도입니다.
geoshow(Singapore(:,:,1:3), R)
geoshow(mat2gray(Singapore(:,:,1:3)), R)
에 수동으로 데이터를 플롯을
시도 가치 및 인쇄가 작동하는 경우 표시 될 수 있습니다 변경하여 이중 해결할 수있는 문제이에 싱가포르 이미지를 변환 여부를 알 수 있습니다 예 : [Singapore, R] = geotiffread('Singapore.tif');
SingaporeXYImage = cat(3, flipud(Singapore(:,:,1)), ...
flipud(Singapore(:,:,2)), ...
flipud(Singapore(:,:,3)));
s = size(Singapore);
matrix3D = repmat(rand(s(1),s(2)), [1,1,3]);
imagesc(R.LongitudeLimits, R.LatitudeLimits, mat2gray(SingaporeXYImage));
hold on;
imagesc(R.LongitudeLimits, R.LatitudeLimits, matrix3D, 'alphadata', .2);
hold off;
axis xy equal tight;
xlim([103.605,104.04])
ylim([1.2,1.475])
print(gcf, '-dpng', 'test.png');
,536,913,632 보너스로 (10)는, 여기 당신이 경우 당신은 관심에서, 옥타브에서 같은 일을 수행하는 방법이다 (I, 특히 글꼴의 측면에서 훨씬 좋네요 볼 옥타브에서 플롯을 인쇄합니다!) : pkg load mapping;
pkg load image;
[SingaporeStruct, R] = rasterread('Singapore.tif');
SingaporeImage = cat(3, SingaporeStruct(1:3).data); % note this is a matrix of
% "doubles" in range [0,255]
SingaporeImage = mat2gray(SingaporeImage); % Convert to appropriate [0,1] range
% for "doubles" rgb images!
s = size (SingaporeImage);
matrix3D = repmat (rand (s(1), s(2)), [1, 1, 3]);
imagesc (R.bbox(:,1), R.bbox(:,2), ...
SingaporeImage .* 0.8 + matrix3D .* 0.2); % manually create
% transparency effect
axis xy equal tight
xlim([103.605,104.04])
ylim([1.2,1.475])
print (gcf, '-dpng', 'test.png');
또한 내 동료와 그/그녀가 답변에 넣은 노력에 대해 무례하지 않지만, 귀하가받은 다른 대답은 본질적으로 완전히 잘못되어 귀하의 주장 및 경고에 관계없이 귀하의 marked accepted
을 철회해야합니다. 표시된 대답을 철회하는 것이 얼마나 무례한 지. mapshow
은 MapCellsReference
형식을 사용하는 이미지에 특히 사용됩니다. boston.tif
이미지는 그러한 이미지 중 하나입니다. 그러나 이미지는 GeographicCellsReference
형식을 사용합니다.이전에는 mapshow
이 사용되고, 후자에는 geoshow
이 사용됩니다. geoshow
은 boston.tif
에 대해 실패했을 것이며, 동일한 방식으로 mapshow
은 Singapore.tif
에 대해 실패합니다. 라인 geoshow(Singapore(:,:,1:3), R)
이 오류를 발생시키지 않고 작업 했으므로 이미지가 "지역"변형 인 것이 분명해야합니다. 따라서 mapshow
을 사용하기위한 제안은 귀하의 질문에 정답이 아니므로 오해의 소지가 있습니다. 말할 것도없이 실제로는 print
명령이 그림 핸들에서 예상 결과를 생성하지 않는 이유에 대한 실제 질문과는 무관합니다. 이론적으로는 그림이 처음에 어떻게 생성되었는지와 관련이 없습니다. 나는 당신의 "받아 들여지는"표를 그것에서 철회하는 아무 가책도 없을 것입니다. 이 사이트가 많은 다른 시청자를위한 참고 자료로 작동하기 때문에 적어도; 당신이 그것을 받아들이기로 위협 받았다는 이유로 사용자를 오답으로 안내하는 것은 의미가 없습니다.
FaceAlpha = 1은 어떻게됩니까? – NKN
나는 동일한 출력을 가지고 있습니다 – emax
원본 이미지에 대한 링크가있어 문제를 재현 할 수 있다면 *** lot ***이 (가) 더 쉽습니다. –