0

그레이 스케일 'test.png'인 png 이미지가 있습니다. 이 이미지에 적응 임계 값을 적용해야합니다. 나는 OpenCV를 사용하고있다.그레이 스케일 이미지에 적응 임계 값 적용

image = cv2.imread('test_big.png') 
im = cv2.adaptiveThreshold(image, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY_INV, 11, 2) 

이미지가 회색조가 아니기 때문에 적응 임계 값을 적용 할 수 없습니다.

image = cv2.imread('test_big.png',1) 

가 지금은 적응 임계 값을 적용 할 수 있지만 출력이 대신 검은 색과 흰색의 파란색과 빨간색 이미지가 될 것입니다 : 그래서 나는 그레이 스케일로 이미지를 읽으려고. 누구든지 도와 줄 수 있습니까?

답변

0

장애는 두 번째 코드에있다 :

당신이 test_big.png은 그레이 스케일 이미지라고했지만
image = cv2.imread('test_big.png',1) 

, 당신은 세 개의 채널 컬러 이미지 (RGB)로 선언했다.

은 따라서 당신은

image = cv2.imread('test_big.png', 0) 
  • 0으로 코드를 변경해야합니다 -> 그레이 스케일 이미지
  • 1 -> 색상 이미지

또한 시도 할 수 있습니다 :

cv2.imread('test_big.png', cv2.IMREAD_GRAYSCALE)

최종선은 : 읽히는 심상이 회색조 심상이지만, 명시 적으로 지정 될 때까지는 시스템이이를 인식하지 못합니다. 귀하의 경우 이미지가 회색 음영 이미지 였지만 이미지를 컬러 이미지로 선언했기 때문에 이미지에 3 개의 채널 (RGB)이 있다고 간주하여 이후의 적응 형 임계 값 기능이 실행되지 않았습니다.

+0

'cv2.imread ('test_big.png', cv2.IMREAD_GRAYSCALE)'이 더 읽기 쉽고 자체적으로 문서화됩니다. – Yigal

+0

@Yigal Done !! editted하게된다!! –

관련 문제