public static Mat ImageToMat_Mask(MaskedImage image) { Mat mat = new Emgu.CV.Mat( image.RowCount, image.ColumnCount, Emgu.CV.CvEnum.DepthType.Cv8U, 1); for(int r = 0; r < image.RowCount; ++r) { for(int c = 0; c < image.ColumnCount; ++c) { byte m = image.HaveValueAt(r, c) ? (byte)255 : (byte)0; mat.SetByteValue(r, c, m); } } return mat; }
public static Mat ImageToMat_Gray(CamImageProcessing.IImage image) { Mat mat = new Emgu.CV.Mat( image.RowCount, image.ColumnCount, DepthType.Cv8U, 1); for(int r = 0; r < image.RowCount; ++r) { for(int c = 0; c < image.ColumnCount; ++c) { mat.SetByteValue(r, c, (byte)(image[r, c] * 255.0)); } } return mat; }