본문 바로가기

분류 전체보기

(77)
[OpenCV][C++] 동일 영상 판별(체크)하는 쉽고 빠른 방법 - 같은 영상인지 확인 countNonZero convertTo 우리가 영상처리를 하다보면 어떠한 처리 결과 영상이 같은지를 확인하고 싶을 때가 있습니다. 이번에는 쉽고 빠르게 두 영상이 같은지를 확인하는 방법에 대해 알아보겠습니다. countNonZero() 로 알아내기 우리가 가장 쉽게 생각할 수 있는 방법이 두 영상의 차영상을 구해서 모든 픽셀이 0인지 아닌지를 확인하는 방법입니다. 영상을 먼저 입력 받습니다. 그리고 동일한 영상을 만들기 위해 clone을 합니다. cv::Mat src = cv::imread("lena_color.bmp", cv::IMREAD_GRAYSCALE); cv::Mat src_clone = src.clone(); 그 이후 cv::subtract() 또는 cv::absdiff() 를 이용하여 두 영상의 차영상을 계산합니다. cv::Mat..
[OpenCV][C++] Thresholding 이진화 영상 만들기 총정리 (3) - cv::inRange() cv::threshold() cvtColor 범위 binarization 지난번에 이진화에 관련해서 알아봤습니다. https://m.blog.naver.com/dorergiverny/223059732009 [OpenCV][C++] Thresholding 이진화 영상 만들기 총정리 (1) - image threshold binarization otsu triangle 히스토그램 지난번에는 함수 실행 시간을 측정하는 쉬운 방법에 대해 알아봤습니다. https://m.blog.naver.com/dorergi... blog.naver.com 하나의 threshold를 가지고 Threshold보다 높으면 255, 낮으면 0 또는 높으면 255 아니면 원래 값 그대로.. 또는 반대로 이런 식으로 이진화 처리가 되었습니다. 그런데 이번에는 전경(foreground), 즉 내가 추출하고자 ..
[데이터 분석][Python] 넘파이 numpy 파이썬 라이브러리 패키지 총정리 배열 난수 생성 shuffle choice 지난번 까지는 파이썬의 기본 문법들에 대해 알아봤습니다. https://m.blog.naver.com/dorergiverny/223136574637 [데이터 분석][Python] 파이썬 기초 문법 (5) - 분기문 switch case 문 구현, match-case, for-else, while-else 지난 시간에 우리는 조건문과 반복문에 대해 알아봤습니다. https://m.blog.naver.com/dorergiverny/223136... blog.naver.com 이번부터는 좀 더 본격적으로 파이썬 라이브러리들에 대해 알아보겠습니다. 지난번에 데이터 분석에 대한 개요를 알아보면서 데이터 분석 단계를 한번 정리해드렸습니다. 이번에는 데이터 분석 단계별 사용가능한 파이썬 패키지에 대해 알아볼까 합니다..
[데이터 분석][Python] Jupyter Notebook 테마 변경 방법 dark theme 주피터 노트북 파이썬 어둡게하기 어두운 배경 산뜻한 이전에 jupyter notebook 사용법에 대해 간단히 알아봤습니다. https://m.blog.naver.com/dorergiverny/223125294039 [데이터 분석][Python] Jupyter Notebook 사용법 총정리(1) - 주피터 노트북 아나콘다 파이썬 기초 지난번에 아나콘다 설치 방법과 쥬피터 노트북 실행 방법에 대해 알아봤습니다. https://m.blog.naver.com/... blog.naver.com 이번에는 쥬피터 노트북 테마를 바꾸는 방법에 대해 알려드릴께요. 일단 기본적인 주피터 노트북은 아래와 같이 흰색 배경입니다. 어두운 테마로 변경해볼께요. 모든 작업은 anaconda prompt 에서 진행합니다. (1) jupyter notebook을 최신으로 업그레이드 ..
[OpenCV][C++] 영상 외곽선(contour) 추출 총정리(3) - boundingRect, minAreaRect, minEnclosingCircle arcLength contourArea 이번에는 지난 시간에 이어 findContours() 함수로 얻어왔던 정보를 응용하여 추가적인 정보를 얻을 수 있는 방법에 대해 알아보겠습니다. https://m.blog.naver.com/dorergiverny/223077650900 [OpenCV][C++] 영상 외곽선(contour) 추출 총정리(1) - cv::findContours 윤곽선 경계 컨투어 inRange 검출 지난 시간에는 영상 레이블링에 대해 알아봤습니다. 레이블링을 하면서 object의 크기를 판별하고 크기를 ... blog.naver.com 이는 객체의 모양을 판단하는데 사용될 수 있습니다. boundingRect() 윤곽선 점들을 감싸는 가장 작은 크기의 사각형을 구하는 함수 입니다. 함수 원형은 아래와 같습니다. points ..
[OpenCV][C++] 영상 외곽선(contour) 추출 총정리(2) - cv::drawContours cvtColor 컨투어 찾기 바깥 라인 convexhull 지난번에 영상의 윤곽선을 추출하는 findContours()에 대해 자세히 알아 봤습니다. https://m.blog.naver.com/dorergiverny/223077650900 [OpenCV][C++] 영상 외곽선(contour) 추출 총정리(1) - cv::findContours 윤곽선 경계 컨투어 inRange 검출 지난 시간에는 영상 레이블링에 대해 알아봤습니다. 레이블링을 하면서 object의 크기를 판별하고 크기를 ... blog.naver.com 이번에는 findContours()로 찾은 윤곽선을 영상 위에 그리는 방법에 대해 알아보겠습니다. drawContours drawContours()의 원형은 아래와 같습니다. src 윤곽선을 그릴 영상, gray, color 영상 가능 conto..
[OpenCV][C++] 영상 외곽선(contour) 추출 총정리(1) - cv::findContours 윤곽선 경계 컨투어 inRange 검출 지난 시간에는 영상 레이블링에 대해 알아봤습니다. 레이블링을 하면서 object의 크기를 판별하고 크기를 이용하여 10원짜리인지, 100원짜리인지 500원짜리인지를 확인하고 총 얼마가 있는지 계산까지 해 보았습니다. https://m.blog.naver.com/dorergiverny/223075866025 [OpenCV][C++] 영상 라벨링(Labeling) 총정리(2) - 동전 개수 세기 총 금액 알아내기 이번에는 지난번에 이어 응용편으로 꾸며 봤어요. https://m.blog.naver.com/dorergiverny/223075828736 영... blog.naver.com 이번에는 물체의 경계를 이루고 있는 외곽선(윤곽선)을 검출하는 방법에 대해 알아보겠습니다. 외곽선을 추출하는 findCont..
[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:..