[opencv를 이용한 yolo] 사용하고싶은데오류가너무많이났지만해결이되었어요야호
![[opencv를 이용한 yolo] 사용하고싶은데오류가너무많이났지만해결이되었어요야호](/_next/image?url=https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1711108614777%2F8a4df2d6-36bc-4f59-b923-fb75abb88975.png&w=3840&q=75)
YOLO 실행을 위한..
https://github.com/kangminjun2024/Test_repository?tab=readme-ov-file
스쿼드 공부방 민준튜터님께서 진행해주신 YOLO를 실행해보았다.
그대로 다운받아 실행만 하려고 했는데도 실행 준비까지만 한시간이 걸려서 이 글을 작성해보았다.
YOLO는 You Only Looks Once의 약자로 실시간 객체 검출을 위한 딥러닝 기반의 고속 컴퓨터 비전 알고리즘이다.
pip install opencv-python: - 오픈 cv 라이브러리 받기open cv란? 카메라를 인식하게 해주는것. open cv가 있어야 yolo 사용이 가능하다.
1)
yolo 프로그램을 실행하려고 했는데 그냥 실행하려고 하니
ModuleNotFoundError: No module named 'cv2' 이 떴다.

2)
터미널에 python -m venv venv를 이용해 가상환경을 만들어주고
sudo pip3 install opencv-python 를 작성해주니
line 7: syntax error near unexpected token `('
line 7: ` sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])' 가 떴다.

3)
source venv/bin/activate로 가상환경 활성화 후
pip3 install opencv-python를 해주니

4)
ModuleNotFoundError: No module named 'cv2' ????
pip list로 리스트를 확인해보니 cv2가 안깔려져 있다.

아래쪽 경고문구를 보니 pip 버전 업그레이드가 필요한것 같아서 업그레이드를 먼저 해준후
WARNING: You are using pip version 21.2.4; however, version 24.0 is available.
You should consider upgrading via the '/Users/dayeonahn/Desktop/YOLO/venv/bin/python3 -m pip install --upgrade pip' command.
다시 pip install opencv-python 설치
현재 시스템에는 이미 OpenCV-Python이 설치되어 있다고 뜬다. 다시보니 위에도 이미 있다고 뜨는데 한번더 설치한것 같다..
5)
그런데 왜 실행을 누르면line 6, in <module> import cv2 ModuleNotFoundError: No module named 'cv2' 가 뜨는 것인가
6)
가상환경을 지워버리고 새롭게 생성 후 pip install opencv-python 다시 설치
7)
파이썬 실행하니 또다른 에러

이친구가 파일을 못열었대요.
Exception has occurred: error
OpenCV(4.9.0) /Users/xperience/GHA-OpenCV-Python2/_work/opencv-python/opencv-python/opencv/modules/dnn/src/darknet/darknet_importer.cpp:210: error: (-212:Parsing error) Failed to open NetParameter file: yolov3-tiny.cfg in function 'readNetFromDarknet'
File "/Users/dayeonahn/Desktop/YOLO/opcv/opcv_yolo.py", line 10, in <module>
YOLO_model = cv2.dnn.readNet("yolov3-tiny.weights", "yolov3-tiny.cfg") # 빠른데 성능이 낮아요
cv2.error: OpenCV(4.9.0) /Users/xperience/GHA-OpenCV-Python2/_work/opencv-python/opencv-python/opencv/modules/dnn/src/darknet/darknet_importer.cpp:210: error: (-212:Parsing error) Failed to open NetParameter file: yolov3-tiny.cfg in function 'readNetFromDarknet'
하지만 파일은 잘 있어요

8)
gpt 선생님께서 파일에 손상이 있을수도 있다고 하셨다.
https://pjreddie.com/darknet/yolo/ 해당 사이트에 들어가

YOLOv3.tiny의 cfg를 다운받고 원래 있던 tiny를 삭제 후 사이트에서 다운받은 파일을 대신 넣어준다.
같은 에러가 나요!
9)
파이썬 파일의 10번째줄
YOLO_model = cv2.dnn.readNet("yolov3-tiny.weights", "yolov3-tiny.cfg") 의 tiny를

tiny - copy path를 해서 tiny 파일의 절대경로로 바꿔주기
YOLO_model = cv2.dnn.readNet("yolov3-tiny.weights", "/Users/dayeonahn/Desktop/YOLO/opcv/yolov3-tiny.cfg")
또 같은 에러가 나요!
10)
가상환경을 꺼두고 디버깅 모드로 실행하고 있어서 실행이 안되었던것 같다.
가상환경을 켜보고 터미널 실행을 하니 짠~

또 안됩니다!
11)

tiny의 weights 파일을 다운 받아서 원래 파일과 다시 교환 해보기

error: OpenCV(4.9.0) /Users/xperience/GHA-OpenCV-Python2/_work/opencv-python/opencv-python/opencv/modules/dnn/src/darknet/darknet_importer.cpp:217: error: (-212:Parsing error) Failed to parse NetParameter file: yolov3-tiny.weights in function 'readNetFromDarknet'
또 되지 아니합니다.
12)
지금까지 안됐던 이유!
간단했다. 두번째 폴더가 실행 폴더인데 첫번째 폴더에서 실행하고 있어서.
57%짜리 고양이 자랑으로 끝~






