일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- java
- c++
- Unity
- Contour
- SERIAL
- aduino
- mfc
- sensor
- Android
- length
- public
- memory
- Encapusulation
- wpf
- preprocessing
- Class
- Read
- APP
- Overloading
- Pointer
- compare
- atmega328
- file access
- stream
- Barcode
- flutter
- parameter
- inheritance
- UNO
- digitalRead
- 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 |