numpy ndarray 데이터 구조로 이미지 조작 및 이미지 표시를위한 matplotlib에 대한 기본적인 내용을 테스트하고 있습니다. 나는 내 픽셀을 저장하는 np.zeros ((n, m)) 함수로 2 차원 배열을 만들었습니다. 일을 쉽게 유지합니다. 단지 그레이 스케일로 작업 중이므로 한 픽셀 만 표현하면됩니다.numpy 및 matplotlib을 사용한 기본 이미지 처리
import numpy as np
import matplotlib.pyplot as plt
matrix= np.zeros((4,4))
print(matrix)
plt.matshow(matrix, cmap=plt.cm.gray) #plot matrix
matrix+=128 #increase each pixel value by 128
print(matrix) #print the content of matrix
plt.matshow(matrix, cmap=plt.cm.gray) #plot matrix
내가이 코드에서 기대하는 것은 각각의 "픽셀"값 0을 가지고 있기 때문에 첫 번째 플롯은 완전히 검은 색이 될 것입니다, 그리고 문제는 여기에 없습니다 :이 내 코드입니다. 그런 다음 픽셀을 0에서 128로 증가시켜 두 번째 플롯이 완전히 회색이어야하지만 여전히 검은 색입니다. 작업은 실행되지 않지만 행렬은 효과적으로 변경되었습니다 (인쇄 기능에서 확인).
그래서 내가 "수동으로"그냥 픽셀을 수정하려고 :matrix[0,0]=255
matrix[0,3]=255
matrix[3,0]=255
matrix[3,3]=255
plt.matshow(matrix, cmap=plt.cm.gray) #plot matrix
이제 4 픽셀이 흰색입니다. 내가 누락 된 부분이 몇 가지 있는데, ndarray에 대한 몇 가지 사항과 관리 방법이 관련이 있다고 생각합니다.
왜 이런 일이 발생하는지 설명 할 수있는 사람이 있습니까? 감사합니다