예제 #1
0
        /// <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;
        }
예제 #2
0
        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;
        }