일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- length
- file access
- stream
- Binary
- APP
- parameter
- public
- digitalRead
- Unity
- wpf
- Encapusulation
- UNO
- inheritance
- Class
- atmega328
- preprocessing
- Overloading
- Barcode
- mfc
- Android
- memory
- aduino
- compare
- Read
- flutter
- Pointer
- Contour
- sensor
- SERIAL
- java
- Today
- Total
폴크(FOLC)
머신 비전 알고리즘 - OpenCV - 이미지처리3 본문
# 디지털 이미지 처리
# 이미지 형태의 변경이 가능하다.
> 늘리기, 줄이기, 회전, 이동, 기울임, 뒤틀림 등에 대한 처리
# 이미지 처리 - OpenCV 4.5.3 으로 테스트
# 이미지의 정보에서 특정한 위치의 정보를 이용해서 고정된 위치로의 맵핑
> srcImage : 입력, dstImage : 결과, dst_size : 결과 크기, offsetX : X 방향 이동, offsetY : Y 방향 이동
> interpolation : 보간법, borderMode : 이미지끝부분, angle : 기울기(deg), scale : 배율
# cv::resize
> 이미지 형태 변경 - 늘리기, 줄이기
> double offsetX = 0.0, offsetY = 0.0;
> int interpolation = cv::INTER_LINEAR;
> cv::resize(srcImage, dstImage, dst_size, offsetX, offsetY, interpolation);
# cv::warpAffine
> 이미지 형태 변경 - 회전, 이동
> cv::Point2f center(srcImage.cols / 2, srcImage.rows / 2);
> double angle = 180.0, scale = 1.0;
> cv::Mat RMatrix= cv::getRotationMatrix2D(center, angle, scale);
> int borderMode = cv::BORDER_CONSTANT;
> const cv::Scalar& borderValue = cv::Scalar();
> cv::warpAffine(srcImage, dstImage, RMatrix, dst_size, interpolation, borderMode, borderValue);
# cv::warpPerspective
> 이미지 형태 변경 - 기울임, 뒤틀림
> int method = cv::DECOMP_LU;
> cv::Point2f ref_pos[4], tar_pos[4]; - point 개수가 4개
> cv::Mat PMatrix = cv::getPerspectiveTransform(ref_pos, tar_pos, method);
> cv::warpPerspective(srcImage, dstImage, PMatrix, dst_size, interpolation, borderMode, borderValue);
'머신 비전 > 머신 비전 알고리즘 테크닉 CPP' 카테고리의 다른 글
머신 비전 알고리즘 - OpenCV - 이미지처리4 (0) | 2021.07.24 |
---|---|
머신 비전 알고리즘 - OpenCV - 캘리브레이션 (0) | 2021.07.23 |
머신 비전 알고리즘 - OpenCV - 이미지처리2 (0) | 2021.07.22 |
머신 비전 알고리즘 - OpenCV - 이미지처리1 (0) | 2021.07.20 |
머신 비전 알고리즘 - OpenCV (0) | 2021.07.20 |