반응형
(height, width)
모양의 회색조 이미지를 (height, width, nchannels)
모양의 3 채널 이미지로 변환하고 싶습니다. 작업은 for-loop
로 수행되지만 깔끔한 방법이 있어야합니다. 다음은 프로그램의 조각 코드입니다. 누군가 힌트를 줄 수 있습니까? 조언 부탁드립니다.
30 if img.shape == (height,width): # if img is grayscale, expand
31 print "convert 1-channel image to ", nchannels, " image."
32 new_img = np.zeros((height,width,nchannels))
33 for ch in range(nchannels):
34 for xx in range(height):
35 for yy in range(width):
36 new_img[xx,yy,ch] = img[xx,yy]
37 img = new_img
해결 방법
np.stack
을 사용하여 훨씬 더 간결하게 수행 할 수 있습니다.
img = np.array([[1, 2], [3, 4]])
stacked_img = np.stack((img,)*3, axis=-1)
print(stacked_img)
# array([[[1, 1, 1],
# [2, 2, 2]],
# [[3, 3, 3],
# [4, 4, 4]]])
참조 페이지 https://stackoverflow.com/questions/40119743
반응형
'파이썬' 카테고리의 다른 글
파이썬에서 문자열의 마지막 문자를 반환 (0) | 2020.10.27 |
---|---|
파이썬 Python : _imagingft C 모듈이 설치되지 않았습니다. (0) | 2020.10.27 |
파이썬 How to use Python's "easy_install" on Windows ... it's not so easy (0) | 2020.10.27 |
파이썬 How do you uninstall a python package that was installed using distutils? (0) | 2020.10.27 |
파이썬 Add a new sheet to a existing workbook in python (0) | 2020.10.27 |
댓글