1. 程式人生 > >金字塔向上、下采樣(圖片的大小轉換)

金字塔向上、下采樣(圖片的大小轉換)

程式碼:

            OpenFileDialog of = new OpenFileDialog();
            if (of.ShowDialog() != DialogResult.OK)
            { return; }
            Mat scr = new Mat(of.FileName, Emgu.CV.CvEnum.LoadImageType.AnyColor);
            Mat dst = new Mat();
            CvInvoke.PyrDown(scr, dst);//金字塔向下取樣,使dst圖片的長,寬是scr圖片的一半,面積是以前的1/4(4分之1)


            Mat dst1 = new Mat();
            imageBox1.Image = scr ;
            imageBox2.Image = dst;
            CvInvoke.PyrUp (scr, dst1);//金字塔向上取樣,使dst圖片的長、寬是scr圖片的2倍,面積是以前的4倍
            imageBox3.Image = dst1;

API:

        /// <summary>
        /// 高斯金字塔向下取樣 長度、寬度是原來的一半,面積是以前的1/4(4分之1)
        /// </summary>
        /// <param name="src">源圖</param>
        /// <param name="dst">輸出影象</param>
        /// <param name="borderType">邊界型別 default</param>
        public static void PyrDown(IInputArray src, IOutputArray dst, BorderType borderType = BorderType.Default);
      

  /// <summary>
        /// 高斯金字塔向上取樣 長度、寬度是原來的2倍,面積是以前的4倍.
        /// </summary>
        /// <param name="src">源圖</param>
        /// <param name="dst">輸出影象</param>
        /// <param name="borderType">邊界型別 default</param>
      public static void PyrUp(IInputArray src, IOutputArray dst, BorderType borderType = BorderType.Default);