728x90
반응형

카카오 오류로 이제야 올림..

 

문제점


  • 사진 crop한 건 잘 되는데 각 개인마다 네모를 쳐주는 게 잘 안 됐다. 어차피 활용하는 값은 똑같고 순서만 바꿔서 적는건데 왜 자구 안 되는건지 이해가 되질 않았다.

몰랐던 것 / 시도해 본 것


  1. 원래도 enumerate로도 시도해 봤었고, 잘 되는 걸 확인했었기 때문에 enumerate로 바꿔서 써봤다. 근데 사실상 enumerate로 적나 range를 쓴 뒤 변수 K로 인덱싱해주는 거나 똑같은 거라 똑같은 오류가 날 게 뻔했는데, 안 될 걸 알면서도 해보고 맛보는 실패의 맛이란…^^
  2. 혹시 순서가 틀렸나 싶어서 xmin → yin → xmax → ymax 순서도 계속 확인해 봤는데 너무 잘 썼고요… 당연히 뭔가를 잘못 적었으니 틀린 걸텐데 뭐가 틀렸는지 전혀 몰랐었다. 정말 왜 안 되지와 왜 되지의 연속인 코딩의 세계…

해결


  • 해결한 방법 : 2차원상에서 꼭짓점을 표기할 때 (x, y)의 형식으로 적어주기 때문에 rectangle() 함수를 쓸 떄도 같은 방식으로 적어줘야 했다. ㅎ… 강의에 따로 언급이 없어서 몰랐는데, 아마 튜터님껜 너무 당연한 지식이었기에 그랬던 게 아닐까 생각해 본다. 약간 1+1같은 넉김.
#수정 전 코드
for i in range(len(result)) :
    cv2.rectangle(tmp_img, (int(results.xyxy[0][i][0].item()), int(results.xyxy[0][i][1].item()), int(results.xyxy[0][i][2].item()), int(results.xyxy[0][i][3].item())), (255,255,255))
cv2.imwrite(f'person.png', tmp_img)

#수정 후 코드
for k in range(len(result)) :
    cv2.rectangle(tmp_img, (int(result[k][0]), int(result[k][1])), (int(result[k][2]), int(result[k][3])), (255,255,255))
cv2.imwrite(f'persong.png', tmp_img)

알게 된 점 = 배운 것


  1. rectangle()를 사용할 때 좌표를 (x,y) 형태로 지정해주어야 한다.
  2. cv2.imwrite(f'persong.png', tmp_img)를 for문 안에 넣으면 기존의 사진을 활용해서 네모를 그리기 때문에 네모가 쌓이는 양상의 사진들이 저장된다. 원래는 각 개인당 네모가 그려진 게 알아서 쭈루룩 나오길 바랐는데, 쟌넨.

느낀점


음 뭔가 TIL을 오류 해결 위주로 적어야겠다는 생각은 원래도 가지고 있었지만, 희안하게 강의를 따라가며 실습할 땐 불안할 정도로 오류가 나지 않았다. 오류가 안 난다고 좋았다기보다는, 진짜로 불안했다. 프로젝트 가서 오류가 나면 오류가 나지 않아 해결해본 적도 없는 나는 분명 애를 먹읉테니까.

어쨌든 딱히 적을 오류가 없었달까, 실제로 간간이 날 때마다 블로그에 다 적었다, 너무 사소한 것만 아니면, 그런데 막상 프로젝트가 시작되면 짜증날 정도로 오류가 많이 났는데, 프로젝트 땐 오류를 정리할 시간이 없었다. 이런 일이 반복되다 보니 어느새 습관적으로 그 날 공부한 내용을 요약 정리해서 올리게 된 것 같다. 요약 정리는 기니까 뭔가 많이 한 거 같아 보이기도 했고.

튜터님의 강의를 듣고 마음을 다잡고 이제부턴 제대로 TIL을 쓰기로 했다. 마침 저번 프로젝트 회고 때 오류를 기록해서 똑같은 실수를 방지하자는 이야기도 나왔겠다, 이제 사소한 오류가 날 때도 그때그때 기록해 놔야겠다. 음 아무래도 이제 와서 생각해보니 TIL에 적어야지 해놓고 까먹은 것도 몇 개 있는 것 같아서.

프로젝트 때 오류 기록하는 시간이 낭비인 거 같아서, 사실 가장 빨리 가는 길이니 프로젝트 때도 오류 날 때마다 꼭 정리하자…! 그리고 내 다이어리에만 목표를 적었던 거 같은데, 이제는 블로그에 WIL 적을 때도 적어주면 좋을 거 같다.

반응형

'Programming > TIL and WIL' 카테고리의 다른 글

221017 TIL  (0) 2022.10.18
221016 TIL - ImproperlyConfigured  (0) 2022.10.18
221013 Today I Learned (TIL)  (1) 2022.10.13
221012 Today I Learned (TIL)  (0) 2022.10.13
221011 Today I Learned (TIL)  (0) 2022.10.11

+ Recent posts