일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- compare
- Binary
- UNO
- Read
- stream
- memory
- sensor
- Overloading
- inheritance
- flutter
- Android
- Barcode
- APP
- Unity
- length
- atmega328
- parameter
- Pointer
- public
- java
- Class
- SERIAL
- wpf
- file access
- Contour
- digitalRead
- preprocessing
- Encapusulation
- aduino
- mfc
- Today
- Total
폴크(FOLC)
머신 비전 알고리즘 - OpenCV - 이미지처리4 본문
# 디지털 이미지 처리
# 이미지의 상태 변경이 가능하다.
> 이진화, 거리, 적분, 채우기 등에 대한 처리
# 이미지 처리 - OpenCV 4.5.3 으로 테스트
# 이미지의 상태 정보를 이용해서 데이터를 변형
> srcImage : 입력, dstImage : 결과, thresh: 경계값, max_val : 최대값(대체값), type : 이진화 방법
> adaptiveMethod : 평균 , C : 옵셋, seedPoint : 기준위치, scale : 배율
# cv::threshold
> 이미지의 상태 변경 - 경계값을 직접 정의하여 이진화
> double thresh = 128.0, max_val = 255.0;
> int type = cv::THRESH_BINARY;
> cv::threshold(srcImage, dstImage, thresh, max_val, type);
# cv::adaptiveThreshold
> 이미지의 상태 변경 - 주변 커널 영역의 값들의 평균을 이용하여 이진화
> double thresh = 128.0, max_val = 255.0;
> int type = cv::THRESH_BINARY;
> int adaptiveMethod = cv::ADAPTIVE_THRESH_MEAN_C;
> double C = 0.0;
> cv::adaptiveThreshold(srcImage, dstImage, max_val, adaptiveMethod, type, kernel_size, C);
# cv::floodFill
> 이미지의 상태 변경 - 특정 위치에 폐공간을 채운다.
> cv::Point seedPoint = cv::Point(1, 2);
> cv::Scalar newVal = 255, loDiff = cv::Scalar(), upDiff = cv::Scalar();
> cv::Rect rect = cv::Rect(0, 0, 0, 0);
> int flags = 4; // 상하좌우 4방향을 의미
> cv::floodFill(srcImage, seedPoint, newVal, &rect, loDiff, upDiff, flags);
# cv::integral
> 이미지의 상태 변경 - 좌/상 에서 우/하로 이동하면서 적분을 계산한다.
> cv::Mat sum, sqsum, tilted;
> int sdepth = CV_32F, sqdepth = CV_64F;
> cv::integral(srcImage, sum, sqsum, tilted, sdepth, sqdepth);
# cv::distanceTransform
> 이미지의 상태 변경 - 특정 물체의 중심(seed point)을 기준으로 거리를 예측한다.
> int distanceType = cv::DIST_L2, maskSize = 3, dstType = CV_32F;
> cv::distanceTransform(srcImage, dstImage, distanceType, maskSize, dstType);
'머신 비전 > 머신 비전 알고리즘 테크닉 CPP' 카테고리의 다른 글
머신 비전 알고리즘 - OpenCV - 이미지처리6 (0) | 2021.07.25 |
---|---|
머신 비전 알고리즘 - OpenCV - 이미지처리5 (0) | 2021.07.24 |
머신 비전 알고리즘 - OpenCV - 캘리브레이션 (0) | 2021.07.23 |
머신 비전 알고리즘 - OpenCV - 이미지처리3 (0) | 2021.07.23 |
머신 비전 알고리즘 - OpenCV - 이미지처리2 (0) | 2021.07.22 |