오답노트
[openCV] cv2.adaptiveThreshold CV_8UC1 error 본문
cv2 를 통해 로드한 이미지를 adaptiveThreshold 를 통해 이진화를 시켜보려고 해봤는데
cv2.error: OpenCV(4.5.4-dev) D:\a\opencv-python\opencv-python\opencv\modules\imgproc\src\thresh.cpp:1676: error: (-215:Assertion failed) src.type() == CV_8UC1 in function 'cv::adaptiveThreshold'
라는 에러와 함께 이미지가 제대로 바뀌지 않았다.
import cv2 as cv
img = cv.imread("path/image.jpg")
img = cv.resize(img, dsize=(0,0), fx=0.5, fy=0.5, interpolation=cv.INTER_AREA)
img_thre = cv.adaptiveThreshold(img, 255, cv.ADAPTIVE_GAUSSIAN_C, cv.THRESH_BINARY, 11, 2)
에러가 떴을 당시의 내 코드는 이랬었는데,
조금 찾아보니 adaptiveThreshold 는 gray scale 의 이미지만 input 으로 받는다고 했다.
import cv2 as cv
img = cv.imread("path")
img = cv.resize(img, dsize=(0,0), fx=0.5, fy=0.5, interpolation=cv.INTER_AREA)
img_gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
img_thre = cv.adaptiveThreshold(img_gray, 255, cv.ADAPTIVE_THRESH_GAUSSIAN_C, cv.THRESH_BINARY, 11, 2)
그 후 로드 한 원본 이미지를 gray scale 로 바꿔준 뒤 이미지를 넣어주니 제대로 동작하였다.
힘들게 adaptiveThreshold 로 이진화 시켜 얻은 이미지 자체는 그렇게 마음에 들진 않았다.
'파이썬' 카테고리의 다른 글
[python] yolo bbox -> xml bbox (0) | 2021.12.07 |
---|---|
[python] 폴더 생성 및 중복 확인 (0) | 2021.11.15 |
[openCV] openCV-python cv2.imwrite 저장 안 됨 오류 (0) | 2021.11.10 |
[python] SyntaxError : (unicode error) (0) | 2021.11.09 |
[python] combination, permutation (0) | 2021.05.06 |