[ openCV ] openCV 설치 방법 (개발 환경 설정)
By 온갖 잡기에 능한 뉴공의 블로그입니다. | 2016년 10월 21일 |
![[ openCV ] openCV 설치 방법 (개발 환경 설정)](https://img.zoomtrend.com/2016/10/21/a0026986_580969cf40b19.jpg)
여기서는 Window7 64Bit, Visual Studio 2013을 기준으로 openCV 개발 환경을 설정하는 방법을 소개한다.아래 방법에서 일부만 바꾸면 다른 윈도우나 Visual Studio 에서도 설정이 가능하다. 1. 먼저 에 접속한다. 2. 홈페이지 우측 상단에 [LATEST DOWNLOADS]를 찾고 아래에 있는 [OpenCV for Windows] 링크를 선택한다. 3. 자동으로 최신 버전의 OpenCV가 다운로드 된다. 2016년 10월 21일 기준으로 2.4.13 버전이 최신이다. 4. 다운받은 파일을 실행시켜 압축을 풀면, 해당 루트에 openCV라는 이름의 폴더가 생성된다. 5. C:\Program Files 경로에 openCV 폴더를 옮긴다. 이때, 폴더 openCV 버전
Median Filter
By 느린번개 | 2017년 1월 20일 |
![Median Filter](https://img.zoomtrend.com/2017/01/20/c0221538_58819b0e55ca4.png)
Median filter는 이미지 내의 노이즈를 제거하는 방법 중의 하나로, 특히 impulse noise 제거에 효과적입니다. 기본적인 원리는 다음과 같습니다. 1. 전체 이미지를 일정한 크기의 작은 영역으로 나눈다.2. 나누어진 영역의 모든 화소를 크기 순으로 정렬하고 중간에 해당하는 화소(중간값)을 찾는다.3. 나누어진 영역의 가운데 화소를 찾아낸 중간값으로 대체한다. 예를 들어, 가로X세로 사이즈가 5X5인 아래와 같은 이미지가 있다고 가정해보겠습니다.가로X세로 사이즈가 3인 작은 영역으로 나누어보면 첫번째 나누어진 작은 영역은 아래 이미지의 붉은 사각형 영역입니다.9개 화소를 크기 순으로 나열해보면 { 3, 3, 4, 4, 4, 5, 5, 5, 5 } 가 되고, 중간값은 5번째에 위치한 "4"
Canny Edge와 Hough Transform을 이용한 차선 검출(4)
By 느린번개 | 2017년 8월 25일 |
![Canny Edge와 Hough Transform을 이용한 차선 검출(4)](https://img.zoomtrend.com/2017/08/25/c0221538_599fa86c1ed10.jpg)
이번 시간에 도전할 이미지는 아래 이미지입니다. 지난 시간까지 우리가 작성한 코드에 위 이미지를 넣어보면... 어라? 에러가 뜨네요.디버깅을 해보니 Canny Edge Detect의 결과가 아래처럼 아무 것도 나오지 않는군요. Canny Edge Detect의 Threshold를 너무 높게 잡아서 발생한 문제입니다. Canny(imageROI, cannyImg, (grayImg.rows + grayImg.cols) / 4, (grayImg.rows + grayImg.cols) / 2); 지난 시간에 사용한 이미지는 아주 선명해서 위의 Threshold로도 경계선을 검출해냈지만 이번에 사용한 이미지는 약간 흐려서 경계선 검출이 안되는군요.날씨가 안 좋거나 어두운 경우, 혹은 카메라의 포커스가
Corner 검출 #2- Shi-Tomasi corner detector
By 느린번개 | 2017년 2월 9일 |
![Corner 검출 #2- Shi-Tomasi corner detector](https://img.zoomtrend.com/2017/02/09/c0221538_589c244f29e84.png)
Shi-Tomasi corner detector는 Harris corner에서 R값을 계산하는 방법이 다르다. Harris 식 :참조.... Harris 식에서 λ1, λ2 의 Min 값이 λ-min 값 보다 크면 corner 라고 정의 내렸다. R연산시에 Harris 식보다 계산식이 간단해서 연산속도가 빠른 장점이 있다. opencv 에서는 goodFeaturesToTrack() 를 제공한다. //---------------------------int shi_thr = 23; RNG rng(12345); void Corner_detect_Shi_track(int, void*) { Mat src_gray, copy; /// Copy the source image