예제 #1
0
        private bool AddFrames(Image <Bgr, byte> i)
        {
            Sizes sizes = ReadSizes();

            if (sizes.IsInvalid())
            {
                return(false);
            }

            int pixelsPerBlock = 4;
            int pixelsPerFrame = (int)Math.Ceiling(pixelsPerBlock * sizes.frameSize / sizes.blockSize);

            framedImage = Fragmenter.DrawWithFrames(i, pixelsPerBlock, pixelsPerFrame, Color.White);
            return(true);
        }
예제 #2
0
        private bool FragmentImage(Image <Bgr, byte> i)
        {
            Sizes sizes = ReadSizes();

            if (sizes.IsInvalid())
            {
                return(false);
            }

            Emgu.CV.CvEnum.Inter interpolationMethod = (Emgu.CV.CvEnum.Inter)interpolationMethodInput.SelectedItem;

            FragmentationResult result = Fragmenter.FragmentImage(
                i,
                new SizeF((float)sizes.realWidth, (float)sizes.realHeight),
                sizes.blockSize, sizes.frameSize,
                interpolationMethod
                );

            fragmentedImage = result.Blocks;
            return(true);
        }