2025/06 4

findContours 의 CV_RETR_TREE 옵션과 hierarchy 의 관계

findContours 의 옵션에 CV_RETR_EXTERNAL 을 적용하면 아래와 같이 붉은 선 좌표를 추출한다. 하얀 사각형 안에 들어 있는 검정 사각형의 좌표도 필요로 할 경우가 있다. 필자는 결함 검사 프로그램에서 하얀 부분은 검사 영역, 검은 부분은 비 검사 영역으로 비주얼로 보여줄 필요가 있어서 모든 좌표가 필요했다. 이럴 경우 findContours 의 옵션에 CV_RETR_TREE 를 넣어 추출해 보자.cv::Mat bw = cv::imread(".....");std::vector> contours;std::vector hierarchy;cv::findContours(image_mask_inverse, contours, hierarchy, CV_RETR_TREE, CV_CHAIN_APPRO..

opencv 2025.06.26

findContours 의 결과 포인트들을 좀 더 심플하게 가공

오른쪽으로 3.5 도 기울어짐 B/W 이미지 이 기울어진 물체의 외곽 좌표들을 아래와 같이 findContours 를 이용하여 추출 할 수 있다.cv::Mat bw = cv::imread("..... ");std::vector> contours;std::vector hierarchy;cv::findContours( bw , contours, hierarchy, CV_RETR_EXTERNAL, CV_CHAIN_APPROX_SIMPLE); 하지만 기울림으로 인하여 인위적인 계단이 생겼기 때문에 이 경우에는 196 포인트의 좌표가 추출 된다. 이 계단 형태의 좌표들을 상쇄하여 심플한 직선 좌표를 얻고자 한다면 approxPolyDP 를 이용하여 contours 결과값을 가공하자.std::vector> appr..

opencv 2025.06.25

google notebooklm 소개

LLM 을 이용하여 개인, 회사의 데이터를 기반으로 질문에 대해 답변을 이끌어 내는 RAG(Retrieval Augmented Generation) 이 등장했다. 데이터는 일정 사이즈로 분리가 되어 임베딩(분리된 문장을 일정 사이즈의 Dimension의 값) 되어야 하고 임베딩 간의 유의도 측정이 가능하도록 임베딩 벡터 db에 저장이 되어야 한다.위의 시스템을 구축하기 위해서는 시간, 노력, 비용(임베딩, LLM사용)이 필요하게 된다. 위의 시스템을 무료로 사용가능한 google notebooklm을 소개하고자 한다.https://notebooklm.google.com/ 1. 위 사이트에 구글 계정으로 로그인2. Create new notebook 을 클릭하여 새로운 노트북을 생성 노트북은 사용 용..

data science/python 2025.06.09