/// <summary> /// convert line segment configuration to a matrix /// white background, black line segments /// </summary> /// <param name="srcImage"></param> /// <returns></returns> public PZMath_matrix ConvertToMatrix(Bitmap srcImage) { int width = srcImage.Width; int height = srcImage.Height; PZMath_matrix dstMatrix = new PZMath_matrix(height, width); dstMatrix.Setall(255); for (int i = 0; i < _n; i++) { int length = _configuration[i].Ls; for (int j = 0; j < length; j++) { int x = (int)_configuration[i].PointList[j].x; int y = (int)_configuration[i].PointList[j].y; dstMatrix[y, x] = 0; } } return dstMatrix; }
private PZMath_matrix DrawGsMatrix(Bitmap srcImage, List<LineSegment> lineSegmentList) { int width = srcImage.Width; int height = srcImage.Height; PZMath_matrix dstMatrix = new PZMath_matrix(height, width); dstMatrix.Setall(1.0); foreach (LineSegment l in lineSegmentList) { int points = l.Ls; for (int j = 0; j < points; j++) { PZPoint p = l.PointList[j]; int x = (int)p.x; int y = (int)p.y; dstMatrix[y, x] = l.Gs; } } return dstMatrix; }