2017-12-01 6 views
0

파이 텍스트에서 칼라 맵과 함께 저장된 단일 채널 png 파일을로드해야합니다. 그들은 레이블의 색인을 포함하므로, 레이블을 다시 붙이면 나에게 부적절합니다.Python에서 cmap을 사용하여 단일 채널 png에서 imread를 수행 할 때 크기 재조정을 억제하는 방법은 무엇입니까?

이상한 이유로 인해 scipy.misc.imreadcv2.imread은 이미지를로드 할 때 이미지의 크기를 조정합니다. 나는 그것을 어떻게 억제 할 수 있습니까?

편집는 :
난 그냥 PNG로 어떤 컬러 맵 않고 다른 단일 채널에서 동일한 시도했다. 리 스케일링의 문제는 없습니다. 따라서 색상 맵이 문제인 것처럼 보입니다. 여기

는 예시 화상이다 (그것은 단일 채널, 색상은 컬러 맵에서 온이다) (베개 단지 [중단] 프론트 엔드이다)
Here is an example image

+0

그렇다면 어떻게 사용 했습니까? 어떤 모드가 scipy의 imread를 사용하여 선택 되었습니까? – sascha

+0

나는'im = scipy.misc.imread (im_name, flatten = True)'를 시도했다. 그러나 위에서 말했듯이이 PNG에는 그들과 함께 저장된 컬러 맵이 있다는 사실 때문에 문제가 발생하는 것 같습니다. (그러나 Matlab에서는 작동합니다) – mcExchange

+0

이미지 중 하나를 어딘가에 게시 할 수 있습니까? –

답변

1

대신 scipy.misc.imread을 사용하여, 직접 베개를 사용 . 인덱싱 된 Image 개체가 np.array()에 주어지면 인덱스 배열이 만들어집니다.

In [101]: from PIL import Image 

In [102]: img = Image.open('WWpd3.png') 

In [103]: a = np.array(img) 

In [104]: a.shape, a.dtype 
Out[104]: ((160, 320), dtype('uint8')) 

In [105]: a.min(), a.max() 
Out[105]: (0, 19) 

In [106]: a[:3, :8] 
Out[106]: 
array([[19, 19, 19, 19, 19, 19, 19, 19], 
     [19, 10, 10, 5, 5, 10, 10, 10], 
     [19, 10, 10, 5, 5, 10, 10, 10]], dtype=uint8) 
+0

고마워, 작동 돼! 이것은 완전히 명백하지 않았습니다! 궁금한 점이 질문에 4 개의 마감 요청과 하향 투표가 ... – mcExchange