728x90
반응형
opencv 내 이미지 크기를 조절해주는 resize함수 사용 시, 다음과 같은 에러 발생
cv2.error: OpenCV(4.5.3) :-1: error: (-5:Bad argument) in function 'resize'
> Overload resolution failed:
> - Can't parse 'dsize'. Sequence item with index 0 has a wrong type
> - Can't parse 'dsize'. Sequence item with index 0 has a wrong type
1. 이미지의 shape이 맞지 않는 경우
- img.shape을 print하여 None 타입이 아닌지를 확인
2. resize할 사이즈가 일반 숫자 타입이 아닌 경우
- resize 함수에 들어가는 (x, y)인자 내 x, y 값이 내 경우엔 tensor형태였다. 이를 item()함수로 값만 추출해서 입력해주니 정상적으로 동작
label = cv2.resize(label, (img_size[1].item(), img_size[0].item()), interpolation=cv2.INTER_NEAREST)
3. 이미지의 type이 맞지 않는 경우
- img의 Type이 Python의 기본 int인 경우에 발생, np.타입으로 변경 요망
# pixel값 범위가 0~255 일 경우
img = img.astype(np.uint8) # 8, 16, 32
or
img = img.astype(np.int16)
# pixel 값 범위가 0 ~ 1일 경우
img = img.astype(np.float32)
728x90
반응형
'사소한 Tip . 오류 해결법' 카테고리의 다른 글
Layer 일부 Freeze, fine-tuning (0) | 2021.10.13 |
---|---|
JupyterLab 테마 변경하기 (0) | 2021.10.13 |
RuntimeError: CUDA error: no kernel image is available for execution on the deviceCUDA (0) | 2021.09.14 |
Linux(Ubuntu) Command로 구글 드라이브에서 데이터 다운받기 (0) | 2021.09.03 |
Jupyter Notebook (Jupyter Lab) 줄번호 (0) | 2021.08.23 |