programing/OpenCvSharp

[OpenCvSharp] Mat to Bitmap

쪽제비 2016. 12. 1. 12:15

pictureBox를 사용해야 하는데 Mat을 그대로 사용할 수가 없다.

Bitmap 으로 변환을 해주어야 하는데 고맙게도 함수가 있더이다.


참고 : http://blog.naver.com/PostView.nhn?blogId=nuren1&logNo=220727174546&redirect=Dlog&widgetTypeCall=true


참고사이트가.. 음.. 참고가 아니라 그냥 전부이다. 



Mat To Bitmap


Mat mat = new Mat("test.jpg", ImreadModes.Color);

// Mat mat = Cv2.ImRead("test.jpg", LoadMode.GrayScale);


Bitmap bitmap = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(mat);

생각보다 시간이 많이 걸린다는 점..

Mat을 생성할 때 ImRead함수를 사용할 수 있다.


Bitmap To Mat


Bitmap bitmap = new Bitmap("foobar.jpg");


Mat mat = OpenCvSharp.Extensions.BitmapConverter.ToMat(bitmap);

이거부터 안해봤다. 아직 사용할 일이 없어서.

후기는 댓글로..(남길 수 있나 ?)


Mat to byte[]


Mat mat = new Mat("foobar.jpg", ImreadModes.Color);


byte[] bytes1 = mat.ToBytes(".png");


byte[] bytes2;

Cv2.ImEncode(".jpg", mat, out bytes2);


byte[] to Mat


byte[] imageData = System.IO.File.ReadAllBytes("foobar.jpg");


Mat colorMat = Mat.FromImageData(imageData, ImreadModes.Color);

Mat grayscaleMat = Mat.FromImageData(imageData, ImreadModes.GrayScale);


Mat alt = Cv2.ImDecode(imageData, ImreadModes.GrayScale);



참고 사이트에 있긴 하지만.. 혹시나 사라질까봐 정리를 합니다.







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

[OpenCvSharp] Mat 자르기(SubMat)  (0) 2016.12.06
[OpenCvSharp] Mat 회전 (getRotationMatrix2D, warpAffine)  (0) 2016.12.06
[OpenCvSharp] 설치  (0) 2016.12.01