반응형
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 파일을 복사해놓고 실행하면됩니다.

Android OpenCV 예제 - SURF를 사용한 오브젝트 검출 테스트
OpenCV/Android 개발 환경 및 예제2019. 5. 21. 20:32Android OpenCV 예제 - SURF를 사용한 오브젝트 검출 테스트

안드로이드에서 Surf를 사용하여 이미지를 매칭하는 예제입니다. 우선 다음 포스트 내용을 진행하여 안드로이드용 OpenCV를 새로 빌드해서 사용해야 합니다. Android용 OpenCV 빌드하는 방법(contrib 포함) https://webnautes.tistory.com/1268 이후 다음 영상을 따라 진행하세요.. 1. styles.xml false true 2. activity_main.xml 3. image.svg 4. AndroidManifest.xml 5. MainActivity.java androidx라면 다음 세줄을 수정하세요. androidx의 경우에는 새로 추가된 OpenCV 4.1.1 빌드후에만 동작할 수도 있습니다. 변경전 import android.support.annotatio..

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/Windows개발 환경&라이브러리 빌드2019. 4. 22. 21:22MinGW + Sublime Text 3에서 OpenCV 사용하는 방법

가벼워서 자주 사용하게 되는 Sublime Text 3에서 OpenCV 프로그래밍이 가능하도록 해보았습니다. 영상 만들고 나니 Visual Studio Code도 되겠구나 싶어지네요^^; 코드마다 매번 새로운 프로젝트 파일을 생성하는게 번거로우면 Sublime Text 3에서 OpenCV 사용하는 것을 고려해보세요. 소스코드와 OpenCV를 위한 DLL 파일만 있으면 경로에 상관없이 실행이 가능하며 다수의 소스코드를 한 곳에 모아놓고 각각 컴파일 및 실행도 할 수 있습니다.

OpenCV/Windows개발 환경&라이브러리 빌드2019. 4. 19. 11:59Visual Studio 2019용으로 OpenCV 4.1.0 빌드 하기 (Extra 모듈 contrib 포함)

Visual Studio 2019에서 사용하기 위해 OpenCV를 빌드하는 방법을 다룹니다. Extra 모듈인 contrib를 포함시켜 빌드합니다. Python 용이 필요하면 진행하기 전에 Python을 설치하세요. 빌드 후 자동으로 파이썬의 설치된 곳에 빌드된 OpenCV가 복사됩니다.

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. 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,..

OpenCV/OpenCV 강좌2019. 1. 28. 16:31OpenCV에서 1비트 이미지 저장하기

imwrite 함수로 저장하면 바이너리 이미지라도 그레이스케일(8비트 1채널) 이미지로 저장됩니다. imwrite 사용시 IMWRITE_PNG_BILEVEL 옵션을 추가해주면 1비트 1채널 이미지로 저장할 수 있습니다. 1비트 이기 때문에 0과 1 두가지만 표현가능합니다. png 확장자를 가지는 이미지만 가능합니다. 다음은 Python과 C++구현한 코드입니다. Python import cv2 as cv img_color = cv.imread('test.png', cv.IMREAD_COLOR) img_gray = cv.cvtColor(img_color, cv.COLOR_BGR2GRAY) ret, img_binary = cv.threshold(img_gray, 150, 255, cv.THRESH_BINAR..

반응형
image