Prewitt详解

目录

 水平

竖直(旋转) 


水平

Mat src = (Mat_(5, 5) << 1, 2, 3, 4, 5,
								2, 3, 6, 5, 7,
								25, 35, 45, 35, 55,
								7, 8, 9, 10, 11,
								7, 3, 6, 8, 11);

//X方向—Prewitt算子
Mat imgx;
Mat kernel_x = (Mat_(3, 3) << -1, -1, -1, 0, 0, 0, 1, 1, 1);
filter2D(src, imgx, -1, kernel_x, Point(-1, -1), 0, 0);

Mat imgy;
//Y方向—Prewitt算子
Mat kernel_y = (Mat_(3, 3) << -1, 0, 1, -1, 0, 1, -1, 0, 1);
filter2D(src, imgy, -1, kernel_y, Point(-1, -1), 0, 0);

 Prewitt详解_第1张图片   Prewitt详解_第2张图片      Prewitt详解_第3张图片

                              src                                                                  kernel_x                                      kernel_y

                Prewitt详解_第4张图片           Prewitt详解_第5张图片

                                                  imgx                                                                                imgy 

竖直(旋转) 

Mat src = (Mat_(5, 5) << 1, 2, 3, 4, 5,
								2, 3, 6, 5, 7,
								25, 35, 45, 35, 55,
								7, 8, 9, 10, 11,
								7, 3, 6, 8, 11);
Mat tsrc = src.t();
//X方向—Prewitt算子
Mat imgx;
Mat kernel_x = (Mat_(3, 3) << -1, -1, -1, 0, 0, 0, 1, 1, 1);
filter2D(tsrc, imgx, -1, kernel_x, Point(-1, -1), 0, 0);

Mat imgy;
//Y方向—Prewitt算子
Mat kernel_y = (Mat_(3, 3) << -1, 0, 1, -1, 0, 1, -1, 0, 1);
filter2D(tsrc, imgy, -1, kernel_y, Point(-1, -1), 0, 0);

 Prewitt详解_第6张图片  Prewitt详解_第7张图片      Prewitt详解_第8张图片

                                 tsrc                                                                   kernel_x                                      kernel_y

        Prewitt详解_第9张图片             Prewitt详解_第10张图片

                                       imgx                                                                             imgy 

你可能感兴趣的:(【OpenCV】)