using OpenCvSharp /* Mat => System.Drawing.Bitmap */ Bitmap bitmap = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(mat); /* System.Drawing.Bitmap => Mat */ Mat mat = OpenCvSharp.Extensions.BitmapConverter.ToMat(bitmap); /* Mat => byte[] */ // TYPE 1 byte[] imageBytes = mat.ToBytes(".jpg"); // TYPE 2 byte[] imageBytes; Cv2.ImEncode(".jpg", mat, out imageBytes); /* byte[] => Mat */ // TYPE 1 : COLOR Mat colorMat = Mat.FromImageData(imageBytes, LoadMode.Color); // TYPE 2 : GRAY Mat grayMat = Mat.FromImageData(imageBytes, LoadMode.GrayScale); // TYPE 3 Mat grayMat = Cv2.ImDecode(imageBytes, LoadMode.GrayScale);