opencv 라이브러리로 bounding box 좌표를 입력하여, box를 그려주는 코드를 작성하다가 해당 에러가 났다.
> Overload resolution failed:
> - Can't parse 'pt1'. Sequence item with index 0 has a wrong type
> - Can't parse 'pt1'. Sequence item with index 0 has a wrong type
> - Can't parse 'rec'. Expected sequence length 4, got 2
> - Can't parse 'rec'. Expected sequence length 4, got 2
항상 깜빡하던 것이 이유였다.
rectangle 함수의 좌표에는 int 정수형 값만 입력해야한다.
원래 코드
def drawBoxes(boxes, image):
for (startX, startY, endX, endY) in boxes:
cv2.rectangle(image, (startX, startY), (endX, endY), (0,255,0), 3)
return image
개선 코드
def drawBoxes(boxes, image):
for (startX, startY, endX, endY) in boxes:
cv2.rectangle(image, (int(startX), int(startY)), (int(endX), int(endY)), (0,255,0), 3)
return image
- 좌표값을 int형으로 변환시켜서 입력하니 에러가 뜨지않고 제대로된 결과가 나왔다.
'Programming > errors' 카테고리의 다른 글
[Error] grpcio-tools ~ protobuf ~ tensorboard, tb-nightly compatibility : 호환성 맞추기 (0) | 2023.03.15 |
---|---|
cv2.error: OpenCV(4.5.4) !_img.empty() in function 'imwrite (0) | 2023.02.03 |
[CUDA error] CUDA initialization: Unexpected error from cudaGetDeviceCount() (0) | 2022.11.10 |
[CUDA error] out of memory 문제 해결 방법 (0) | 2022.11.10 |
[CUDA error] : CUBLAS_STATUS_ALLOC_FAILED (0) | 2022.11.10 |