본문 바로가기

프로그래밍 강좌/C++ - OpenCV

(36)
[OpenCV][C++] 영상 라벨링(Labeling) 총정리(2) - 동전 개수 세기 총 금액 알아내기 image 레이블링 인덱싱 indexing 원 circle count 이번에는 지난번에 이어 응용편으로 꾸며 봤어요. https://m.blog.naver.com/dorergiverny/223075828736 [OpenCV][C++] 영상 라벨링(Labeling) 총정리(1) - 이미지 레이블링 connectedComponents ccl 이번에는 영상 라벨링(레이블링)이라고 하는 기법에 대해 설명할께요. 영상 라벨링(Image Labeling) 이란... blog.naver.com 영상 라벨링을 통한 동전 개수 세기와 총 금액 알아내기를 해 볼 꺼에요. 동전 개수 총 금액 알아내기 1. 영상 로딩하기 동전 개수를 알아내기 위해서는 먼저 영상을 로딩합니다. 어짜피 gray-scale로 변환을 해야 해서 gray-scale로 로딩을 하였습니다. cv::Mat src = cv:..
[OpenCV][C++] 영상 라벨링(Labeling) 총정리(1) - 이미지 레이블링 connectedComponents ccl 이번에는 영상 라벨링(레이블링)이라고 하는 기법에 대해 설명할께요. 영상 라벨링 (Image Labeling) 이란? 영상 라벨링은 영상 내에서 주위 같은 밝기의 픽셀값을 가지는 픽셀들을 그룹화하여 그룹별로 번호를 매기는 방법을 말합니다. object detection, segmentation 등에 많이 사용되는 기법이에요. 이전에 이진화 기법을 통해 배경과 전경을 구분할 수 있었는데요. https://blog.naver.com/dorergiverny/223059732009 [OpenCV][C++] Thresholding 이진화 영상 만들기 총정리 (1) - image threshold binarization otsu triangle 히스토그램 지난번에는 함수 실행 시간을 측정하는 쉬운 방법에 대해 알아..
[OpenCV][C++] 함수 실행 시간 측정 쉬운 방법 - TickMeter 사용법 총정리 elapsed time chrono getTimeMilli reset blur 지난 번에 함수 실행 시간 측정하는 방법으로 chrono 라이브러리를 사용하는 방법에 대해 알아 보았습니다. https://m.blog.naver.com/dorergiverny/223052685676 [C++] 함수 실행 시간 측정 방법 - chrono 총정리 duration_cast system_clock getTickCount 지난번에 현재 시간 얻는 방법에 대해 언급하면서 chrono에 대해 잠시 알아봤습니다. https://m.blog.naver... blog.naver.com 이번에는 OpenCV를 사용할 때 함수의 실행 시간을 정말 쉽게 측정할 수 있는 방법을 알려드릴께요. cv::TickMeter 클래스 이름에서 풍기는 스멜 그대로~ 함수의 연산시간을 측정할 수 있는 클래스에요. OpenCV..
[OpenCV][C++] 모폴로지(morphology) 연산 총정리(2) - 열림, 닫힘, 탑햇, 그래디언트 morphologyEx 오픈 open close tophat 지난번에는 모폴로지 연산 기본에 대해서 알아 봤습니다. https://m.blog.naver.com/dorergiverny/223063828290 [OpenCV][C++] 모폴로지(morphology) 연산 총정리(1) - 침식(Erode), 팽창(Dilate) getStructuringElement 지난 번에는 영상을 이진화하는 방법에 대해 상세히 알아봤습니다. https://m.blog.naver.com/dorergiverny... blog.naver.com 이번에는 기본 연산인 침식과 팽창을 응용한 모폴로지 연산에 대해 알아보겠습니다. 열기 연산은 침식 → 팽창 하는 연산이고, 닫기 연산은 팽창 → 침식 하는 연산입니다. 팽창과 침식 연산 순서에 따라 효과가 달라집니다. 이번에 살펴볼 모폴로지 연산..
[OpenCV][C++] 모폴로지(morphology) 연산 총정리(1) - 침식(Erode), 팽창(Dilate) getStructuringElement 지난 번에는 영상을 이진화하는 방법에 대해 상세히 알아봤습니다. https://m.blog.naver.com/dorergiverny/223059856814 [OpenCV][C++] Thresholding 이진화 영상 만들기 총정리(2) - adaptiveThreshold() image binarize trackbar gaussian 지난 번에는 일반적인 이진화 방법(binarization)에 대해 알아 보았습니다. 영상 내 밝기가 균일한 경우 적... blog.naver.com 이번에는 이진 영상처리에서 은근히 많이 사용되는 모폴로지(morphology) 연산에 대해 알아보겠습니다. 노이즈 제거, hole 채우기, 끊어진 선 이어 붙이기 등에 많이 사용되고 있습니다. 모폴로지 연산은 이진화 영상에서 가장..
[OpenCV][C++] Thresholding 이진화 영상 만들기 총정리(2) - adaptiveThreshold() image binarize trackbar gaussian 지역 local 지난 번에는 일반적인 이진화 방법(binarization)에 대해 알아 보았습니다. 영상 내 밝기가 균일한 경우 적용할 수 있는 기본적인 이진화 방법이었습니다. https://blog.naver.com/dorergiverny/223059732009 [OpenCV][C++] Thresholding 이진화 영상 만들기 총정리 (1) - image threshold binarization otsu triangle 히스토그램 지난번에는 함수 실행 시간을 측정하는 쉬운 방법에 대해 알아봤습니다. https://m.blog.naver.com/dorergi... blog.naver.com 이번에는 영상 내에서 밝기가 불균일 할 때 사용할 수 있는 적응형 이진화(adaptive threshold) 기법에 대해 알아보겠..
[OpenCV][C++] Thresholding 이진화 영상 만들기 총정리 (1) - image threshold binarization otsu triangle 히스토그램 지난번에는 함수 실행 시간을 측정하는 방법에 대해 알아봤습니다. https://blog.naver.com/dorergiverny/223079726064 [OpenCV][C++] 함수 실행 시간 측정 쉬운 방법 - TickMeter 사용법 총정리 elapsed time chrono getTimeMilli reset b 지난 번에 함수 실행 시간 측정하는 방법으로 chrono 라이브러리를 사용하는 방법에 대해 알아 보았습니다.... blog.naver.com 이번에는 그레이 영상을 이진화 하는 방법에 대해 알아보겠습니다. 이진화는 특정 밝기 범위 또는 밝은 영역과 어두운 영역 등으로 이분화해서 전경과 배경으로 나누는 방법입니다 Thresholding (이진화) 이진화는 영상의 픽셀들을 두 개의 부류로 나누는..
[OpenCV][C++] 트랙바(trackbar) 사용하기 총정리 - createTrackbar convertTo slider control 슬라이더 waitkey 컨트롤 지난 번에는 마우스 이벤트를 처리하는 방법에 대해 알아봤습니다. https://blog.naver.com/dorergiverny/223084092098 [OpenCV][C++] 마우스 이벤트 처리 총정리 - onMouse setMouseCallback EVENT_MOUSEMOVE LBUTTONDOWN 이전에는 윈도우 생성 방법과 키보드 입력을 받아 이벤트를 처리하는 방법에 대해 알아보았습니다. https:/... blog.naver.com 이번에는 opencv 에서 제공하는 trackbar 사용하는 방법에 대해 알아보겠습니다. trackbar 사용하기 우리가 영상처리를 하면서 threshold 와 같이 변수를 가변하면서 영상의 변화량을 실시간으로 보고 싶을 때가 있습니다. 이럴 때 사용할 수 있는 것이 ..