일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Barcode
- digitalRead
- java
- atmega328
- APP
- sensor
- Encapusulation
- memory
- SERIAL
- UNO
- Android
- Overloading
- aduino
- Unity
- preprocessing
- mfc
- Binary
- parameter
- compare
- inheritance
- file access
- Read
- stream
- public
- wpf
- length
- Class
- Contour
- flutter
- Pointer
- Today
- Total
폴크(FOLC)
머신 비전 알고리즘 - OpenCV - 이미지처리32 본문
# 디지털 이미지 처리
# 이미지의 상태 정보에서 특별한 영역을 추출한다.
> blob 으로 처리
# 이미지 처리 - OpenCV 4.5.3 으로 테스트
# 이미지의 상태 정보에서 특별한 영역을 추출
> srcImage : 입력, contours : 결과, minAreaRect : 결과 정보
# cv::findContours
> double thresh = 128.0, max_val = 255.0;
> int type = cv::THRESH_BINARY;
> cv::threshold(srcImage, dstImage, thresh, max_val, type);
> int mode = cv::RETR_TREE, method = cv::CHAIN_APPROX_NONE;
> vector<vector<cv::Point> > contours;
> vector<cv::Vec4i> hierarchy;
> cv::findContours(dstImage, contours, hierarchy, mode, method);
> for (int i = 0; i < contours.size(); i++)
> {
> if (hierarchy[i][3] != -1) continue;
> cv::Rect rect = cv::minAreaRect(contours[i]).boundingRect();
> cv::Mat roi = cv::Mat(rect.height, rect.width, CV_8UC1, cv::Scalar::all(0));
> const long nL = rect.x;
> const long nT = rect.y;
> const long nW = rect.width;
> const long nH = rect.height;
> const long nA = countNonZero(roi);
> }
'머신 비전 > 머신 비전 알고리즘 테크닉 CPP' 카테고리의 다른 글
머신 비전 알고리즘 - OpenCV - 이미지처리33 (0) | 2021.08.24 |
---|---|
머신 비전 알고리즘 - OpenCV - 이미지처리31 (0) | 2021.08.20 |
머신 비전 알고리즘 - OpenCV - 이미지처리30 (0) | 2021.08.15 |
머신 비전 알고리즘 - OpenCV - 이미지처리29 (0) | 2021.08.14 |
머신 비전 알고리즘 - OpenCV - 이미지처리28 (0) | 2021.08.10 |