728x90
한번에 여러개를 감지할려면, 각각 학습시킨 다음 병렬로 처리해서?
우리도 정상상태를 학습시키고 \, 튕너ㅏ올수있는것들을 각각 학습시켜서 뭔지 판별한다?정상상태 자체를 학습시키고, 뭐가 창밖으로 튀어나왔
1. 이미지에서 관심영역 설정할 좌표를 찾기
ver1.(x,y)형식, 초록 점 화면에 찍힘
<이미지 좌표 찾는 코드>
아래 코드 실행시키고, 이미지 찍으면 콘솔 결과창에 좌표가 표시됨
import cv2
ref_points = []
def click_event(event, x, y, flags, param):
if event == cv2.EVENT_LBUTTONDOWN:
ref_points.append((x, y))
print(f"좌표: ({x}, {y})")
cv2.circle(image, (x, y), 5, (0, 255, 0), -1)
cv2.imshow("Image", image)
image = cv2.imread('input_image.jpg')
cv2.imshow("Image", image)
cv2.setMouseCallback("Image", click_event)
cv2.waitKey(0)
cv2.destroyAllWindows()
ver2. [[x,y], [x1,y1]] 형식으로 출력
"""video_frame_capture.py"""
import cv2
# 비디오 읽기
cap = cv2.VideoCapture('final_test.mp4')
# 캡쳐할 프레임 번호
frame_number = 50 # 원하는 프레임 번호로 변경
# 프레임 번호로 이동
cap.set(cv2.CAP_PROP_POS_FRAMES, frame_number)
# 해당 프레임 읽기
ret, frame = cap.read()
# 좌표를 저장할 리스트
coords = []
# 마우스 콜백 함수 정의
def get_coordinates(event, x, y, flags, param):
if event == cv2.EVENT_LBUTTONDOWN:
print('Point Selected: ', x, y)
coords.append([x, y]) # 출력 형식 지정
# 윈도우 이름 설정 및 마우스 콜백 함수 등록
cv2.namedWindow("image")
cv2.setMouseCallback("image", get_coordinates)
# 이미지 표시
cv2.imshow("image", frame)
cv2.waitKey(0)
# 모든 좌표 출력
print("All selected coordinates: ", coords)
cap.release()
cv2.destroyAllWindows()
2. 관심영역 설정
<구한 좌표로 관심영역 설정하는 코드>
import cv2
import numpy as np
image = cv2.imread('frame_1.jpg')
points= np.array([[357,34] ,[574,78], [769, 132], [920, 188], [1022, 291], [1080, 377], [1110, 438], [1051,492], [936, 543], [802, 594], [685, 642], [550, 702], [507, 532], [428, 266]], dtype=np.int32)
"""
#바깥쪽이 까매지는 코드
mask = np.zeros_like(image, dtype=np.uint8) * 255
cv2.fillPoly(mask, [points], (255, 255, 255))
"""
#창문 안쪽이 까매지는 코드
mask = np.ones_like(image, dtype=np.uint8) * 255
cv2.fillPoly(mask, [points], (0, 0, 0))
roi = cv2.bitwise_and(image, mask)
gray_roi = cv2.cvtColor(roi, cv2.COLOR_BGR2GRAY)
cv2.imshow("ROI", roi)
cv2.waitKey(0)
cv2.destroyAllWindows()
결과 1
'프로젝트 기록 > 딥러닝 모델 개발_공학설계캡스톤디자인(스마트카ICT)' 카테고리의 다른 글
[YOLOv5] 창문 밖 머리, 손 탐지(관심영역 밖 라벨링, 그냥 라벨링)/ 코랩 학습파일 내보내기 (1) | 2023.05.16 |
---|---|
overfitting방지 정규화 기법- 데이터증강, dropout, 가중치 감 (0) | 2023.05.16 |
[YOLOv5] 모델 학습/평가 후 얻는것, 과정 요약 (0) | 2023.05.15 |
[YOLOv5] 코랩 GPU가속으로 학습시키기 (0) | 2023.05.14 |
[YOLO v5] 커스텀 데이터 라벨링 후 학습 - epochs 300 (0) | 2023.05.14 |