예제 #1
0
        private Mat Median(Mat picture, Mat result)
        {
            Data_th th_data = th.Get_Data();

            Cv2.MedianBlur(picture, result, th_data.Get_Gkernel());
            return(result);
        }
예제 #2
0
        private Mat Gaussian(Mat picture, Mat result)
        {
            Data_th th_data = th.Get_Data();

            Cv2.GaussianBlur(picture, result, new OpenCvSharp.Size(th_data.Get_Gkernel(), th_data.Get_Gkernel()), 1);   // sigma: 흐려지는 정도
            return(result);
        }
예제 #3
0
        private Mat Canny(Mat picture, Mat result)
        {
            Data_th th_data = th.Get_Data();

            Cv2.Canny(picture, result, th_data.Get_Cth1(), th_data.Get_Cth2());    // 임계값 1이하에 포함되는 가장자리는 제외, 2이상 포함되는 가장자리는 가장자리로 간주.
            return(result);
        }
예제 #4
0
        private Mat Sharpening(Mat picture, Mat result)
        {
            Data_th th_data = th.Get_Data();
            Mat     tmp     = Mat.Zeros(new OpenCvSharp.Size(picture.Cols, picture.Rows), MatType.CV_8UC3);

            Cv2.GaussianBlur(picture, tmp, new OpenCvSharp.Size(9, 9), th_data.Get_Shsigma());
            Cv2.AddWeighted(picture, th_data.Get_Shth1(), tmp, -th_data.GetShth2(), 7.5, result);
            return(result);
        }
예제 #5
0
        private Mat Sobel(Mat picture, Mat result)
        {
            Data_th th_data = th.Get_Data();

            if (picture.Channels() != 1)
            {
                Cv2.CvtColor(picture, picture, ColorConversionCodes.BGR2GRAY);
            }
            Cv2.Sobel(picture, result, MatType.CV_8U, th_data.Get_Sbx(), th_data.Get_Sby());
            return(result);
        }
예제 #6
0
 public void Set_Data(Data_th th_data)
 {
     this.data = th_data;
 }