반응형
OpenCV 강좌 - Camshift 이론과 C++ 예제(Camshift example code in C++)
OpenCV/OpenCV 강좌2019. 7. 30. 09:12OpenCV 강좌 - Camshift 이론과 C++ 예제(Camshift example code in C++)

간단히 Camshift 이론을 설명하고 webcam과 video 영상에 ROI를 지정하여 동작하도록 C++로 작성된 Camshift 예제 코드를 동작시켜 봅니다. #include #include using namespace cv; using namespace std; // 아래 줄을 주석처리하면 비디오 영상에 대해 동작 //#define WEBCAM bool mouse_is_pressing = false; int start_x, start_y, end_x, end_y; int step = 0; Mat img_color; Rect roi; void swap(int* v1, int* v2) { int temp = *v1; *v1 = *v2; *v2 = temp; } void mouse_callback(int..

OpenCV에서 이미지의 픽셀에 접근하는 방법
OpenCV/OpenCV 강좌2019. 7. 18. 18:50OpenCV에서 이미지의 픽셀에 접근하는 방법

OpenCV에서 이미지의 픽셀에 접근하는 방법을 픽셀 개념부터 설명합니다. 추가로 C++에서 OpenCV 이미지의 픽셀에 접근하는 방법을 비교 소개하고 있는 다음 글도 참고하세요. OpenCV C++ 강좌 - 4. Mat에 저장된 이미지 픽셀 값에 접근하는 방법 비교 https://webnautes.tistory.com/1169

OpenCV 강좌 - Meanshift 이론과 C++ 예제(meanshift  example code in C++)
OpenCV/OpenCV 강좌2019. 7. 4. 00:32OpenCV 강좌 - Meanshift 이론과 C++ 예제(meanshift example code in C++)

간단히 Meanshift 이론을 설명하고 webcam과 video 영상에 ROI를 지정하여 동작하도록 C++로 작성된 Meanshift 예제 코드를 동작시켜 봅니다. 2019. 7. 2 2019. 7. 29 히스토그램생성시 Hue만 사용하도록 수정 . #include #include using namespace cv; using namespace std; // 아래 줄을 주석처리하면 비디오 영상에 대해 동작 //#define WEBCAM bool mouse_is_pressing = false; int start_x, start_y, end_x, end_y; int step = 0; Mat img_color; Rect roi; void swap(int* v1, int* v2) { int temp = *v1..

OpenCV 예제 - 웹캠 영상에 실시간 ROI 하기( Select ROI on Real Time webcam video)
OpenCV/OpenCV 강좌2019. 7. 1. 20:54OpenCV 예제 - 웹캠 영상에 실시간 ROI 하기( Select ROI on Real Time webcam video)

웹캠 영상에 실시간으로 ROI 하는 예제입니다. #include #include using namespace cv; using namespace std; bool mouse_is_pressing = false; int start_x, start_y, end_x, end_y; int step = 0; Mat img_color; void swap(int* v1, int* v2) { int temp = *v1; *v1 = *v2; *v2 = temp; } void mouse_callback(int event, int x, int y, int flags, void* userdata) { Mat img_result = img_color.clone(); if (event == EVENT_LBUTTONDOWN) { ..

OpenCV 강좌 - Haar Cascades에 대해 알아보자.
OpenCV/OpenCV 강좌2019. 6. 28. 17:41OpenCV 강좌 - Haar Cascades에 대해 알아보자.

얼굴 인식에 사용하는 Haar Cascades에 대해 간단히 알아보았습니다. 아직 공부중이라 정확하지 않은 내용이 있을 수 있습니다 ;; 최초 포스팅 2019. 6. 28 Haar Cascade는 머신 러닝기반의 오브젝트 검출 알고리즘입니다. 2001년 논문 "Rapid Object Detection using a Boosted Cascade of Simple Features"에서 Paul Viola와 Michael Jones가 제안한 특징(feature)을 기반으로 비디오 또는 이미지에서 오브젝트를 검출하기 위해 사용됩니다. 직사각형 영역으로 구성되는 특징을 사용기 때문에 픽셀을 직접 사용할 때 보다 동작 속도가 빠릅니다. 찾으려는 오브젝트(여기에선 얼굴)가 포함된 이미지와 오브젝트가 없는 이미지를 사..

OpenCV를 사용하여 얼굴에 선글라스 씌우기
OpenCV/OpenCV 강좌2019. 6. 9. 12:09OpenCV를 사용하여 얼굴에 선글라스 씌우기

OpenCV를 사용하여 얼굴에 선글라스를 씌우는 방법을 소개합니다. 테스트에 사용한 이미지입니다. Visual Studio 2019를 기준으로 소스코드(main.cpp)가 있는 폴더에 두개의 xml 파일과 png 파일을 복사해놓고 실행하면됩니다.

OpenCV/OpenCV 강좌2019. 5. 11. 20:10OpenCV SURF로 이미지 매칭 테스트

OpenCV의 SURF 예제를 테스트 해보았습니다. 장면 이미지에서 특정 물체를 찾아내는 이미지 매칭 테스트입니다. 업데이트 2019. 3. 42019. 5. 11 윈도우에서 진행하려면 아래 글에 나온대로 OpenCV을 다시 컴파일한 후 진행해야 합니다. Visual Studio 2017용으로 OpenCV 4.0.1 빌드 하기 (opencv_contrib 포함)http://webnautes.tistory.com/1036 Visual Studio 2019용으로 OpenCV 4.1.0 빌드 하기 (Extra 모듈 contrib 포함)https://webnautes.tistory.com/1329 코드는 다음 링크에 있는 것을 수정해서 사용했습니다.https://github.com/opencv/opencv_co..

OpenCV Python 예제 - 컨투어 내부의 색 검출하기(Detect color inside contour area)
OpenCV/OpenCV 강좌2019. 4. 10. 20:23OpenCV Python 예제 - 컨투어 내부의 색 검출하기(Detect color inside contour area)

색깔있는 도형에 도형의 색 이름을 표시해주는 예제 코드입니다. 컨투어로 도형 내부 영역을 검출한 다음 평균으로 도형의 색을 계산합니다. 그리고 미리 지정해놓은 색들과 거리를 계산하여 가장 가까운 색으로 이름을 붙여줍니다. # 원본 코드 - https://www.pyimagesearch.com/2016/02/15/determining-object-color-with-opencv/ # 수정 - webnautes import cv2 import numpy as np from scipy.spatial import distance as dist # Contour 영역 내에 텍스트 쓰기 # https://github.com/bsdnoobz/opencv-code/blob/master/shape-detect.cpp d..

OpenCV/OpenCV 강좌2019. 2. 9. 21:59OpenCV Python 강좌 - k-Nearest Neighbour (kNN) algorithm

k- 최근접 이웃 알고리즘, k-Nearest Neighbour (KNN)에 대해서 설명합니다. 마지막 업데이트 2019. 2. 9 KNN은 지도학습(supervised learning)을 위해 사용할 수 있는 간단한 분류(classification) 알고리즘 중 하나입니다. 새로운 데이터가 주어질 때 기존 클래스중 어느 쪽에 속할지 결정합니다. 파란색 사각형과 빨간색 삼각형 두가지 클래스의 데이터가 존재할 때, 초록색 원이 추가되었습니다. 초록색 원은 파란색 사각형과 빨간색 삼각형 중 어느 쪽에 포함시켜야 할까요? 초록색 원과 거리가 가까운 이웃을 찾아서 해당 클래스에 초록색 원을 추가할 수 있습니다. 여기에서는 빨간색 삼각형 클래스입니다. 이 방법을 최근접 이웃 알고리즘(Nearest Neighbou..

OpenCV/OpenCV 강좌2019. 1. 28. 18:49OpenCV에서 바이너리 이미지를 파일로 저장하기

OpenCV에서 바이너리 이미지로 변환한 후, 텍스트 파일로 저장하는 방법을 다룹니다. 이후 엑셀에서 불러와 한 셀에 하나의 픽셀값이 들어가도록 합니다. 다음 이미지를 입력으로 해서 OpenCV를 사용하여 얻은 텍스트 파일입니다. 엑셀에서 해당 텍스트 파일을 불러온 후, 너비가 일정함을 선택하고 마침 버튼을 클릭합니다. 엑셀의 셀마다 하나의 픽셀값이 저장됩니다. 파이썬과 C++로 구현한 코드입니다. Python import cv2 as cv img_color = cv.imread('box_small.png', cv.IMREAD_COLOR) img_gray = cv.cvtColor(img_color, cv.COLOR_BGR2GRAY) ret, img_binary = cv.threshold(img_gray,..

반응형
image