|
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 31 32 |
using Emgu.CV; using System; using System.IO; public Image<Gray, byte> Base64ToGrayImage(string base64String) { try { // Remove data URL prefix if present if (base64String.Contains(",")) { base64String = base64String.Split(',')[1]; } // Convert base64 to byte array byte[] imageBytes = Convert.FromBase64String(base64String); // Create Mat from byte array using (Mat mat = new Mat()) { CvInvoke.Imdecode(imageBytes, Emgu.CV.CvEnum.ImreadModes.Grayscale, mat); // Convert to Image<Gray, byte> Image<Gray, byte> grayImage = mat.ToImage<Gray, byte>(); return grayImage; } } catch (Exception ex) { throw new Exception($"Error converting base64 to image: {ex.Message}"); } } |