그래서 각 픽셀의 가중 평균을 사용하여 BGR 이미지를 GRAYSCALE 로 변환하라는 요청을 받았습니다 .
img = cv2.imread('..\\Images\\horse.jpg',-1)
height = img.shape[0]
width = img.shape[1]
gray = img.copy()
for x in range(img.shape[1]):
for y in range(img.shape[0]):
gray[y][x]= (0.11 * img[y][x][0] + 0.6 * img[y][x][1] + 0.3 * img[y][x][2])
print(gray)
print(gray.shape)
cv2.imshow('gray',gray)
cv2.waitkey(0)
결과 이미지의 모양 :
(404, 640, 3)
단일 채널 이미지 여야합니다. 맞나요? 결과적으로 표시된 이미지는 GRAYSCALE이지만 여전히 3 채널 이미지입니다. 누구든지 도와 줄 수 있습니까?
그 이유는 매우 간단 img
합니다. 처음에는 세 개의 채널이 있는 전체를 복사했기 때문 입니다. 다음과 같이 하나의 채널 만 복사하면됩니다.
gray = img[:, :, 0].copy()
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다