ETC/OpenCvSharp

[OpenCvSharp] Mat 회전 (getRotationMatrix2D, warpAffine)

쪽제비 2016. 12. 6. 11:31

opencv 공부하면서 정리를 했던것 같은데 다시 쓰려고 보니까 정리한 글이 안보인다..

OpenCvSharp은 조금 다르므로 다시 정리를 해보자.


내가 원하는 이미지를 회전 시켜보자앗.



우선 함수가 Cv2.GetRotationMatrix2D(), Cv2.WarpAffine() 가 사용된다.


C#에서 사용될 것이므로 

보여지는 것은 imshow()를 사용하는 것이 아니라 PictureBox에 표현할 것이다.


우선 회전하는 부분 코드만 옮겨 보자.





denosingImgMat 을 rotateImgMat 으로 원하는 만큼 회전 시키는 코드이다.

Point2f 로 회전 시킬 이미지의 중심을 설정.
GetRotationMatrix2D 함수로 원하는 각만큼 회전 시켜줄 틀을 만들어 준다.
WarpAffine 함수로 원하는 틀에 맞춰 변경비켜준다.

pictureBox에 표현해주려면 BitMap으로 변경시켜주어야 하는데
CV_8U 타입만 가능하므로 타입 변경 후 Bitmap으로 변환 시켜주면 된다.


결과








끝!


'ETC > OpenCvSharp' 카테고리의 다른 글

[OpenCvSharp] Mat 자르기(SubMat)  (0) 2016.12.06
[OpenCvSharp] Mat to Bitmap  (2) 2016.12.01
[OpenCvSharp] 설치  (0) 2016.12.01