C# - 머신 비전 알고리즘 - OpenCV - 이미지처리3
# 디지털 이미지 처리
# 이미지 형태의 변경이 가능하다.
> 늘리기, 줄이기, 회전, 이동, 기울임, 뒤틀림 등에 대한 처리
# 이미지 처리 - OpenCV 4.5.3 으로 테스트
# 이미지의 정보에서 특정한 위치의 정보를 이용해서 고정된 위치로의 맵핑
> srcImage : 입력, dstImage : 결과, dst_size : 결과 크기, offsetX : X 방향 이동, offsetY : Y 방향 이동
> interpolation : 보간법, borderMode : 이미지끝부분, angle : 기울기(deg), scale : 배율
# Cv2.Resize
> 이미지 형태 변경 - 늘리기, 줄이기
> double offsetX = 0.0, offsetY = 0.0;
> InterpolationFlags interpolation = InterpolationFlags.Linear;
> Cv2.Resize(srcImage, dstImage, dst_size, offsetX, offsetY, interpolation);
# Cv2.WarpAffine
> 이미지 형태 변경 - 회전, 이동
> cv::Point2f center(srcImage.cols / 2, srcImage.rows / 2);
> double angle = 180.0;
> Mat RMatrix = Cv2.GetRotationMatrix2D(center, angle, 1.0);
> BorderTypes borderMode = BorderTypes.Constant;
> Scalar borderValue = new Scalar(0, 0, 0, 0);
> Cv2.WarpAffine(srcImage, dstImage, RMatrix, dst_size, interpolation, borderMode, borderValue);
# Cv2.WarpPerspective
> 이미지 형태 변경 - 기울임, 뒤틀림
> List ref_pos = new List(4);
> List tar_pos = new List(4); - point 개수가 4개
> Mat PMatrix = Cv2.GetPerspectiveTransform(ref_pos, tar_pos);
> Cv2.WarpPerspective(srcImage, dstImage, PMatrix, dst_size, interpolation, borderMode, borderValue);