[C++ opencv] 허프변환 원 검출하는 방법, HoughCircles
본문 목표 영상처리에 있어서 원을 검출할 상황이 종종 발생한다. 이런 경우에 허프변환을 이용하여 원을 검출해낼 수 있다. OpenCV에서 어떻게 허프변환을 이용하여 원을 검출할 수 있는지 알아보자. 키워드 : HoughCircles 알아볼 함수 원형 - 허프변환 원 검출 ( HoughCircles ) vector circles; HoughCircles(img_houghC, circles, HOUGH_GRADIENT, 1, 100, 50, 35, 0, 0); HoughCircles( src, dst, method, dp, min_dist, parameter1, parameter2, min_Radius, max_Radius) ○ src : 입력할 이미지 변수, grayscale 의 이미지를 입력해야 함 ○ ..
2020. 7. 29.
[C++ opencv] 허프변환과 확률을 이용한 직선 검출하기, HoughLinesP
본문 목표 영상처리에 있어서 직선 검출이 필요한 상황이 있다. 이런 경우에 허프변환을 통해서 직선을 검출할 수 있는데, 여기에 확률을 더해서 계산할 수 있다. 기존의 허프변환 방식은 하나하나 다 해보느라 시간이 오래 걸리는 방식이었다면 확률을 이용하여 직선인 것들만 구하므로 보다 빠르다. 허프변환에 확률을 적용한 직선검출을 OpenCV 에서는 어떻게 사용하는지 알아보자. 키워드 : Hough transform line, HoughLinesP 알아볼 함수 원형 - 확률적용 허프변환 직선검출 ( HoughLinesP ) vector linesP; HoughLinesP(img_canny, linesP, 1, (CV_PI / 180), 50, 50, 10); HoughLines( src, dst, rho, th..
2020. 7. 29.
[C++ opencv] 허프변환을 이용하여 직선 검출하기, HoughLines
본문 목표 영상처리에 있어서 직선 검출이 필요한 상황이 있다. 이런 경우에 허프변환을 통해서 직선을 검출할 수 있는데, OpenCV 에서는 어떻게 사용하는지 알아보자. 키워드 : Hough transform Line 알아볼 함수 원형 - 허프변환 직선 검출 ( HoughLines ) Mat img = imread("lane.png"); Mat img_gray; cvtColor(img, img_gray, COLOR_BGR2GRAY); Mat img_canny; Canny(img_gray, img_canny, 150, 255); vector lines; HoughLines(img_canny, lines, 1, CV_PI / 180, 150); Mat img_hough; img.copyTo(img_hough)..
2020. 7. 29.
[C++ opencv] 이미지의 pixel 데이터 접근하기, 색상 정보 확인하기
본문 목표 영상처리를 하다보면 영상의 pixel 데이터를 확인해봐야 할 때가 생기기 마련이다. OpenCV에서는 어떻게 pixel 데이터를 확인할 수 있는지 알아보자. 키워드 : at, ptr, data 알아볼 함수 원형 Mat::at - 행렬 좌표로 픽셀 데이터 접근 ( img.at(row, col) ) for (int row = 0; row < img.rows; row++) { for (int col = 0; col < img.cols; col++) { uchar b = img.at(row, col)[0]; uchar g = img.at(row, col)[1]; uchar r = img.at(row, col)[2]; printf("\t (%d, %d, %d)", r, g, b); } cout
2020. 7. 28.