2010-04-15 2 views
0

저는 matplotlib 및 python을 처음 사용하여 이미지의 1 픽셀이 실제로 그림에서 1 픽셀로 표시되도록 이미지를 표시하려고합니다. MATLAB에서는 truesize() 명령을 사용하여이 작업을 수행합니다. 어떻게 이것을 파이썬에서 할 수 있습니까?MATLAB에 해당하는 matplotlib truesize()

set_dpi()set_figwidth()/set_figheight()은 물론 imshow() 인수를 가지고 놀려고했지만 운이 없었습니다.

감사합니다.

답변

1

이미지를 픽셀 수준까지 바로 생성하려면 먼저 use PIL을 사용해야합니까? 이렇게하면 여백, 레이블 및 축 너비를 그림에서 연장하여 실제 그리기 영역을 프로그래밍 방식으로 계산할 필요가 없습니다. 아직 완벽하지 비록

0

이 해킹, 내가하고 싶었던 것을 수행 : 이미지를 유지 축 주위에 마진을 고려하여 일반화 될 수

h = mplt.imshow(img, interpolation='nearest') 

dpi = h.figure.get_dpi() 
h.figure.set_figwidth(img.shape[0]/dpi) 
h.figure.set_figheight(img.shape[1]/dpi) 
h.figure.canvas.resize(img.shape[1] + 1, img.shape[0] + 1) 

h.axes.set_position([0, 0, 1, 1]) 
h.axes.set_xlim(-1, img.shape[1]) 
h.axes.set_ylim(img.shape[0], -1) 

.