반응형
250x250
Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Archives
Today
Total
관리 메뉴

폴크(FOLC)

머신 비전 알고리즘 - OpenCV - 이미지처리13 본문

머신 비전/머신 비전 알고리즘 테크닉 CPP

머신 비전 알고리즘 - OpenCV - 이미지처리13

folcjin 2021. 7. 27. 15:27
728x90
반응형

 # 디지털 이미지 처리
   # 이미지의 상태 정보에서 특별한 정보를 생성한다.
      > contour 를 통해 특별한 정보를 추출한다.

# 이미지 처리 - OpenCV 4.5.3 으로 테스트
   # 이미지의 상태 정보에서 특별한 영역을 추출
   > srcImage : 입력, contours : 결과, hierarchy : 결과 요소

# 이미지에서 윤곽선을 찾아낸다.
   > cv::Mat hierarchy;
   > int mode = cv::RETR_CCOMP, method = cv::CHAIN_APPROX_NONE;
   > cv::Point offset = cv::Point();
   > vector<vector<cv::Point> > contours;
   > cv::findContours(srcImage, contours, hierarchy, mode, method, offset);

# Aspect ratio
   > cv::RotatedRect Rect = cv::minAreaRect(cv::Mat(contours[0]));
   > float aspect_ratio = float(Rect.boundingRect().width) / float(Rect.boundingRect().height);

# Extent
   > float minArea = cv::contourArea(contours);
   > float Extent = minArea / (float(Rect.boundingRect().width) * float(Rect.boundingRect().height));

# Solidity
   > cv::Mat dst_hull;
   > bool clockwise = false, returnPoints = true;
   > cv::convexHull(contours, dst_hull, clockwise, returnPoints);
   > float hullarea = cv::contourArea(dst_hull);
   > float Solidity = minArea / hullarea;

# Equivalent Diameter
   > float equipvalent_diameter = sqrt(4.f * minArea / CV_PI);

# Min, Max
   > double min = 0.0, max = 0.0;
   > cv::minMaxLoc(srcImage, &min, &max, 0, 0);

# MEAN
   > cv::Scalar result = cv::mean(srcImage, cv::noArray());
   > double mean = result.val[0];

728x90
반응형
사업자 정보 표시
사업자 등록번호 : -- | TEL : --