OpenCV 6

운동자세 판별 딥러닝 프로젝트 (OpenCV, Numpy, Pandas, TensorFlow)

프로젝트 상세 분석 및 설명  1. 데이터 준비 및 전처리코드 블록:root_dir = 'dataset/train'img_path_list = []possible_img_extension = ['.jpg', '.jpeg', '.JPG', '.bmp', '.png']for (root, dirs, files) in os.walk(root_dir): if len(files) > 0: for file_name in files: if os.path.splitext(file_name)[1] in possible_img_extension: img_path = root + '/' + file_name img_path = img_..

Python/openCV 2024.08.31

운동자세 인식 프로젝트 사전 준비 및 공부

CNN은 이미지 인식 작업에 널리 사용되며 자세 인식을 비롯한 다양한 응용 분야에서 우수한 성능을 보여 왔다. ✔ 전처리 방식import cv2 import os # 운동 자세 이미지가 있는 디렉토리 경로 지정 image_dir = "/path/to/exercise/posture/images" # 디렉토리 내의 모든 이미지 파일에 대해 반복 for filename in os.listdir(image_dir): if filename.endswith(".jpg") or filename.endswith(".png"): # 필요에 따라 파일 확장자 조정 image_path = os.path.join(image_dir, filename) image = cv2.imread(image_path) # 이미지 로드 im..

테서렉트 설치(사전준비)

테서랙트란? 테서랙트는 다양한 운영 체제를 위한 광학 문자 인식 엔진이다. 이 소프트웨어는 Apache License, 버전 2.0, 에 따라 배포되는 무료 소프트웨어이며 2006년부터 Google에서 개발을 후원했다 ✔ 다운로드 주소 테서렉트 다운로드 http://github.com/UB-Mannhein/tesseart/wiki ✔ 설치 버전 2023-03-15일 기준 tesseract-ocr-w64-setup-5.3.0.20221222.exe (64 bit) resp. 다운로드 - 설치중 Additional script data 항목에서 'Hangul Script', 'Hangul vertical Script' 항목 체크 - Additonal language data 항목에서 'Korean' 항목 체..

Python/openCV 2023.03.16

Python OpenCV (영상 필터링, 블러, 가우시안, 미디안, 샤프닝, 케니)

영상 필터링 커널(filter)라고 하는 정방행렬을 정의하고, 이 커널을 이미지 위에서 이동시키면서 커널과 겹쳐진 이미지 영역과(컨벌루션 연산) 연산을 한 후 그 결과값을 연산을 진행한 이미지 픽셀을 대신하여 새로운 이미지를 만드는 연산 # 컨벌루션 곱을 하면 3바이 3행렬에서 1개가 나온다. 새로운 이미지를 만든다는 뜻이다. 필터링 - 영상에서 필요한 정보만 통과시키고 원치 않는 정보를 걸러내는 작업 예) 노이즈를 제거하여 영상을 깔끔하게 만드는 필터. 부드러운 느낌의 성분을 제거하여 날카로운 느낌이 나도록 만들 수 있음 - 영상의 필터링은 마스크라고 부르는 작은 크기의 행렬을 이용 - 마스크는 필터링의 성격을 정의하는 행렬이며 커널 또는 필터라고 부름 - 마스크의 정중앙을 고정점으로 사용 ✔ Open..

Python/openCV 2023.03.12

Python openCV (어파인, 크기변환, 영상회전, 보간법, 투시변환)

영상의 기하학적 변환 - 영상의 밝기, 명암비 조절, 필터링 등은 픽셀 위치는 고정한 상태에서 픽셀 값만 변경했지만, 기하학적 변환이라는 것은 픽셀 값은 그대로 유지하면서 위치를 변경하는 작업 - 영상을 구성하는 픽셀의 배치 구조를 변경함으로 전체 영상의 모양을 바꾸는 작업 ✔ 어파인 변환(affine transformation) 영상을 평행 이동시키거나 회전, 크기 변환 등을 통해 만들 수 있는 변환을 통칭 영상에서 (x,y) 좌표의 픽셀을 결과 영상의 (x' , y') 좌표로 변환하는 방법 { x' = f1(x, y), y' = f2(x, y) } { x' = f1(x, y) = ax + by + c, , y' = f2(x, y) = dx + ey + f } 위 수식을 행렬을 이용하여 아래와 같이 표..

Python/openCV 2023.03.09