CPP

ROS

템플릿 매칭

템플릿 매칭입력 영상에서 템플릿 영상 위치를 찾는 기법템플릿 찾을 대상이 되는 작은 영상matchTemplateTM_SQDIFFTM_CCORRTM_CCOEFF영상의 변형잡음 → 가우시안 필터밝기/명암 → 정규화크기/회전 변환 → 취약예시 여러 개의 템플릿 매칭예시 이미지템플릿 영상입력 영상구현 방법정규화된 상관 계수 행렬 구하기정규화된 상관 계수 값이 충분히 큰 영역 검출각각의 영역에서 국지적 최대 지점 검출검출 영상 확인 템플릿 매칭을 이용한 숫자 인식인식 여러 개의 클래스 중에서 가장 유사항 클래스 선택Consolas 폰트 예시

ROS

이진화, 객체 단위 분석

이진화개념개념영상의 픽셀 값을 0 또는 255로 만드는 연산배경과 객체, 관심영역(ROI)와 비관심 영역으로 나누는 작업방법임계값 연산을 이용g(x,y)={255if f(x,y)>T0if f(x,y)≦T (T:threshold)g(x,y) = \begin{cases} 255 &\text{if } f(x,y) > T \\ 0 &\text{if } f(x,y) \leqq T \end{cases} \space\space\space\space\space(T: threshold)g(x,y)={2550​if f(x,y)>Tif f(x,y)≦T​ (T:threshold)예시 이미지thresholdTHRESH_BINARYTHRESH_BINARY_INVTHRESH_OTSU입력 영상이 배경과 객체 두 개로 구성되어 있다고..

ROS

에지검출, 허프변환, 코너검출

에지 검출에지 영상에서 픽셀의 밝기 값이 급격하게 변하는 부분객체 분할 및 인식을 위한 기본적인 과정영상을 (x,y)(x, y)(x,y) 변수의 함수로 간주했을 때, 이 함수의 1차 미분 값이 크게 나타나는 부분을 찾는 방식으로 검출입력 영상에 가우시안 블러를 적용하여 잡음을 제거한 후 에지를 검출하는 것이 바람직함1차 미분의 근사화전진 차분 → 3후진 차분 → 1중앙 차분 → 2에지 검출 마스크 가로 세로 Prewitt[−101−101−101]\begin{bmatrix} -1 & 0 & 1\\ -1 & 0 & 1\\ -1 & 0 & 1 \end{bmatrix}⎣⎡​−1−1−1​000​111​⎦⎤​[−1−1−1000111]\begin{bmatrix} -1 & -1 & -1\\ 0 & 0 & 0\\ 1 ..

ROS

OpenCV의 컬러영상

OpenCV의 컬러 영상CV_8UC3 타입으로 색상을 256단계로 표현BGR 순서그레이스케일로 변환 cvtColor장점 데이터 저장 용량 감소, 연산 처리 속도 향상단점 색상 정보 손실 색상(color)사람의 눈에 있는 원추 세포가 빛의 특정 파장에 따라 다르게 반응하여 인지하는 것모든 색상은 세가지 원색의 조합으로 표현된다색 공간 변환RGB 색 공간을 목적에 따라 HSV, YCrCb, Lab 등의 색공간으로 변환하여 처리RGB빛의 삼원색인 빨간색, 녹색, 파란색을 혼합하여 색상을 표현카메라의 Bayer 필터, TV & 모니터, 비트맵HSV색상(Hue), 채도(Saturation), 명도(Value)를 이용하여 색을 표현하는 방법일반적인 8비트 영상의 경우 Hue/2를 대신 사용하여 색 범위 표현YCrC..

ROS

영상의 화소, 연산, 필터링, 변환

영상의 화소처리(point processing)입력 영상의 픽셀 값 → 출력 영상의 필셀 값으로 설정하는 연산 saturate_castdst(x,y)=f(src(x,y))(dst:출력영상,src:입력영상)dst(x, y) = f(src(x, y))\\(dst: 출력영상, src: 입력영상)dst(x,y)=f(src(x,y))(dst:출력영상,src:입력영상)밝기(brightness) dst(x,y)=src(x,y)+ndst(x, y) = src(x, y) + ndst(x,y)=src(x,y)+n 반전(inverse) dst(x,y)=255−src(x,y)dst(x, y) = 255 - src(x, y)dst(x,y)=255−src(x,y) 명암비(contrast)dst(x,y)=saturate(s∗src..

ROS

CMake 실습

CMake 설치 sudo apt-get install -y cmake VSCode Plugin C/C++ Extension Pack - Visual Studio Marketplace Extension for Visual Studio Code - Popular extensions for C++ development in Visual Studio Code. marketplace.visualstudio.com C/C++ Runner - Visual Studio Marketplace Extension for Visual Studio Code - 🚀 Compile, run and debug single or multiple C/C++ files with ease. 🚀 marketplace.visualstudio...

ROS

Ubuntu OpenCV 소스 빌드

명령어 실행 git clone https://github.com/opencv/opencv.git mkdir build/ mkdir install/ cd build cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../install ../opencv make -j 2 # 혹은 make -j sudo make install 설치 완료 예제 코드 실행 #include "opencv2/opencv.hpp" #include using namespace std; int main() { cout

'CPP' 태그의 글 목록
devskim