728x90
이미지 출력(matplotlib)
이미지를 R, G, B 채널별로 확인할 수 있음.
# 이미지 복사 후 출력
pic_copy = pic_arr.copy()
plt.imshow(pic_copy)
plt.show()
pic_copy.shape
# (853, 1280, 3)
이미지 배열의 shape은 (853, 1280, 3)임. 채널 순서는 R, G, B 순으로 0, 1, 2.
R 채널 확인
# R 채널 출력
print(pic_copy[:,:,0])
print(pic_copy[:,:,0].shape)
# (853, 1280)
plt.imshow(pic_copy[:,:,0])
plt.show()
plt.imshow(pic_copy[:,:,0], cmap='gray')
plt.show()
G 채널 확인
# G 채널 출력
print(pic_copy[:,:,1])
print(pic_copy[:,:,1].shape)
# (853, 1280)
plt.imshow(pic_copy[:,:,1])
plt.show()
plt.imshow(pic_copy[:,:,1], cmap='gray')
plt.show()
B 채널 확인
# B 채널 출력
print(pic_copy[:,:,2])
print(pic_copy[:,:,2].shape)
# (853, 1280)
plt.imshow(pic_copy[:,:,2])
plt.show()
plt.imshow(pic_copy[:,:,2], cmap='gray')
plt.show()
채널별 이미지 확인
# R 채널만 남기고 다른 채널 0으로 설정
pic_red = pic_arr.copy()
pic_red[:,:,1] = 0 # G를 0으로
pic_red[:,:,2] = 0 # B를 0으로
plt.imshow(pic_red)
plt.show()
# G 채널만 남기고 다른 채널 0으로 설정
pic_green = pic_arr.copy()
pic_green[:,:,0] = 0 # R를 0으로
pic_green[:,:,2] = 0 # B를 0으로
plt.imshow(pic_green)
plt.show()
# B 채널만 남기고 다른 채널 0으로 설정
pic_blue = pic_arr.copy()
pic_blue[:,:,0] = 0 # R를 0으로
pic_blue[:,:,1] = 0 # G를 0으로
plt.imshow(pic_blue)
plt.show()
이 코드는 이미지 배열을 복사해서 R,G,B 채널 별로 확인하는 예제임.
각 채널을 분리해서 시각화한 후, 특정 채널만 남기고 나머지 채널을 0으로 설정하여 확인함.
'영상처리' 카테고리의 다른 글
OpenCV 이미지 읽기 / 쓰기 (0) | 2024.05.17 |
---|---|
영상처리 응용 분야 / 컴퓨터 비전 처리 단계 (0) | 2024.05.10 |
영상처리(Image Processing) / 영상처리의 역사 (0) | 2024.05.09 |