OpenCV 7

OpenCV를 사용한 사람 감지 및 객체 감지: HOG vs YOLOv3

이미지 처리 및 컴퓨터 비전 분야에서 OpenCV는 널리 사용되는 라이브러리 중 하나입니다. 특히, 사람의 위치를 감지하거나 객체를 식별하는 데 사용될 수 있습니다. 이번 포스트에서는 OpenCV를 사용하여 사람을 감지하는 두 가지 방법을 비교하고자 합니다: HOG(Histogram of Oriented Gradients)와 YOLOv3(You Only Look Once). HOG 먼저, HOG 방법은 이미지의 그래디언트 방향을 계산하여 사람을 감지합니다. 다음은 HOG를 사용하여 사람을 감지하는 간단한 Python 코드입니다.# 필요한 라이브러리를 임포트합니다import cv2# 이미지 파일 경로image_path = 'your_image.jpg'# 이미지 파일을 읽어옴image = cv2.imread..

IT/영상처리 2024.05.04

OpenCV와 Unity 간의 좌표 매핑

OpenCV와 Unity 간의 이미지 처리 및 화면 표시 작업은 다양한 응용 분야에서 사용될 수 있습니다. 이러한 작업 중 하나는 이미지나 화면을 여러 영역으로 분할하고, 각 영역에 특정 작업을 수행하는 것입니다. 이 글에서는 OpenCV에서의 이미지 분석 결과를 Unity 화면에 정확하게 매핑하는 방법에 대해 설명합니다. 해결 방법 1. 이미지 분할 먼저, 이미지를 여러 영역으로 분할해야 합니다. OpenCV에서는 Rect 클래스를 사용하여 분할 영역을 정의하고, Mat 클래스를 사용하여 각 영역을 나타낼 수 있습니다. 분할된 각 영역은 특정 x, y 시작 좌표와 너비, 높이를 가집니다. 2. 좌표 변환 OpenCV에서 분석된 특정 지점의 좌표를 Unity 화면 좌표로 변환하려면 다음 단계를 수행해야 ..

IT/Unity 2023.07.31

[OpenCV] 이미지 이진화(Binarization)

[OpenCV] 이미지 이진화(Binarization) OpenCV 에서는 이미지의 픽셀값을 0 또는 255로 만드는 연상이다. 원하는 피사체의 모양을 좀 더 정확히 판단하기 위해 이진화를 진행하며, 이진화를 통해 배경과 물체를 구분할 수 있다. 일잕거으로 값이 높거나 낮은 픽셀은 검은색 또는 희색의 값으로 변경한다. import cv2 def binaryDef(imgPath): src = cv2.imread(imgPath, cv2.IMREAD_COLOR) gray = cv2.cvtColor(src, cv2.COLOR_BGR2GRAY) ret, dst = cv2.threshold(gray, 100, 255, cv2.THRESH_BINARY) cv2.imshow("binarySample", dst) ret..

IT/영상처리 2022.05.17

[OpenCV] Video 읽어 보여주기

[OpenCV] Video 읽어 보여주기 OpenCV 에서는 카메라로 부터 비디오를 캡쳐하여 화면에 오여 줄수 있습니다. 카메라로 부터 받은 데이터들은 증강현실 , 등등에 영상 처리에서 사용될 수 있습니다. cv2.VideoCapture(0) 비디오 캡쳐를 위해 VideoCapture 함수를 호출할 수 있습니다. VideoCaptuer 의 인자는 장치의 인덱스 입니다. PC 의 여러개의 카메라를 사용할 때 인덱스를 변경하여 특정 카메라를 선택할 수 있습니다. 첫번째 캠은 0 입니다. ret, frame = cap.read() 캠에서 재생되는 비디오의 한 프레임씩 읽어 frame 변수에 넣어 줍니다. ret 는 결과를 말합니다. gray=cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY..

IT/영상처리 2022.05.17

[OpenCV] 이미지 읽기와 쓰기

OpenCV] 이미지 읽기와 쓰기 OpenCV 에서는 함수를 활용하여 이미지 파일 읽기, 화면에 표시하기, 이미지 파일 쓰기를 할 수 있습니다. 사용할 이미지파일을 준비 합니다. 준비된 파일은 png 파일을 준비 하였습니다. 해당 이미지를 읽어 화면에 표시할 수 있습니다. 아래는 OpenCV 를 통해 model.png 파일을 read 한 예제 입니다. cv.imread 에 Image Path 를 넣어 읽고 cv.imshow 를 통해 화면에 표시해 줍니다. Opencv 의 imread 함수는 이미지 파일을 일기위한 객체를 제공합니다. cv2.IMREAD_COLOR: 컬러 이미지 로드. cv2.IMREAD_GRAYSCALE: 흑백 이미지로 로드. cv2.IMREAD_UNCHANGED: 알파채널을 포함하여 이..

IT/영상처리 2022.05.17

[OpenCV] OpenCV-Python 준비

OpenCV-Python 준비 OpenCV 는 실시간으로 이미지/영상 처리에 사용하는 오픈 소스 라이브러리로 Python 을 통해 사용 가능하다. Python 에서 OpenCV 를 설치하기 위해 pip 를 사용하여 설치할 수 있다. Python 에서 이미지 파일 읽기 테스트 아래 코드는 D: /test.png 파일을 읽어 창에 보여주는 코드이다. import cv2 imagePath = R"D:/test.png" def imagemain(imgPath): print("OpenCV Test Source") img = cv2.imread(imgPath, 1) # Image Show cv2.imshow("Test Image", img) cv2.waitKey(0) # Img Windows Destory cv2...

IT/영상처리 2022.05.17

[OpenCV] 소개

[OpenCV] 소개 OpenCV (Open Source Computer Vision Libaray) 는 수백개의 컴퓨터 Vsion 알고리즘을 제공하는 오픈 소스 라이프러리 이다. OpenCV 는 C, C++, C# , Python 등의 언어를 제공한다. OpenCV 는 모듈 식 구조를 가지고 있으며, 패키지에 여러 공유 또는 정적 라이브러리가 포함되어 있다. Core functionality(Core): 고밀도 다차원 배열 Mat 및 다른 모듈에서 사용하는 기본 기능을 포함하여 기본 데이터 구조를 정의하는 모듈. Image Processing(imgproc): 선형 및 비선형 이미지 필터링, 기하학적 이미지 변화, 색상 공간 변화, 히스토그램 등 이미지 처리 모듈. Video Analysis(video..

IT/영상처리 2022.05.17