본문 바로가기
IT기술 연구소

Visual Studio Code, Python을 이용한 Yolo 객체 인식

by 문창모 2025. 4. 12.

비쥬얼 스튜디오 코드와 파이썬 환경에서 Yolo 라이브러리로 웹캠을 구동한 인식을 해본다.

 

대학원 수업과정 중에 선택과제로 수행했던 내용이나 

인공지능 시대에 추후에 참고가 될 수도 있고 

다른 어떤 누군가에게는 도움도 될 수 있겠다 싶어 기록으로 남겨둔다.

 

일단 환경은 아래와 같다.

OS: Windows 10

IDE: Visual Studio Code

Language: Python 3.11.9

 

우선 visual Studio Code를 설치한다.

아래의 사이트를 방문하면 설치 파일을 다운로드 받을 수 있게 설치는 쉽게 할 수 있다.

https://code.visualstudio.com/

 

Visual Studio Code - Code Editing. Redefined

Visual Studio Code redefines AI-powered coding with GitHub Copilot for building and debugging modern web and cloud applications. Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows.

code.visualstudio.com

 

 

그리고 비쥬얼 스튜디오 코드를 실행하고 

파이썬 새 파일을 하나 생성한다.

 

그리고 챗GPT를 이용해야겠지? ^0^

프롬프트는 아래와 같다.

(참고로 프롬프트는 별게 아니다 AI에게 뭐라고 질문을 해야 답을 잘해줄까..?에 대한 고민이라고 보면 된다.)

 

"visual studio code로 파이썬 언어를 통해서 yolo 라이브러리로 웹캠을 구동해서 간단한 인식을 하는 예제 만들어줘"

 

그럼 대략 아래와 같은 소스를 줄 것이다.

# 🛠 설치 (한 번만)
# pip install ultralytics opencv-python

from ultralytics import YOLO
import cv2

# YOLO 모델 로드
model = YOLO("yolov8n.pt")  # 사전 학습된 가장 가벼운 모델 사용

# 웹캠 열기 (0번 카메라)
cap = cv2.VideoCapture(0)

while cap.isOpened():
    ret, frame = cap.read()
    if not ret:
        break

    # YOLO 추론
    results = model.predict(source=frame, show=False, stream=True)

    # 결과를 시각화하여 출력
    for r in results:
        annotated_frame = r.plot()

    cv2.imshow("YOLOv8 - Webcam", annotated_frame)

    if cv2.waitKey(1) & 0xFF == ord("q"):
        break

cap.release()
cv2.destroyAllWindows()

 

여기서 

pip install ultralytics opencv-python

이게 중요한 부분이다.

이 라이브러리가 제대로 설치가 되지 않으면 하위 소스코드는 당연히(?) 실행되지 않는다.

 

Visual Studio Code에서 TERMINAL을 열어준다.

그리고 터미널에 위의 명령어를 입력해준다.

명령어 입력후 명령어가 종료될 때까지 반드시 기다려준다.

 

이렇게...

 

그리고 비쥬얼 스튜디오 코드 우측 상단에서 커널 환경을 선택해주어야 한다.

이미 파이썬을 설치했다면 선택하면 되고 아니면, 비쥬얼 스튜디오 코드에서 안내하는대로 설치해 주면 된다. 

그리고 재시작 후 저 커널 환경이 선택되면 된다.

 

그 후 소스를 실행하면 아래와 같은 객체 인식 창이 보이면서 

객체 인식을 테스트해 볼 수 있을 것이다.

 

 

실제 실행했던 소스 코드는 아래와 같다.

 

# 🛠 설치 (한 번만)
# pip install ultralytics opencv-python

from ultralytics import YOLO
import cv2

 

# YOLO 모델 로드
model = YOLO("yolov8n.pt")  # 사전 학습된 가장 가벼운 모델 사용

# 웹캠 열기 (0번 카메라)
cap = cv2.VideoCapture(0)

while cap.isOpened():
    ret, frame = cap.read()
    if not ret:
        break

    # YOLO 추론
    results = model.predict(source=frame, show=False, stream=True)

    # 결과를 시각화하여 출력
    for r in results:
        annotated_frame = r.plot()

    cv2.imshow("YOLOv8 - Webcam", annotated_frame)

    if cv2.waitKey(1) & 0xFF == ord("q"):
        break

cap.release()
cv2.destroyAllWindows()

 

끝.