目录
水平
竖直(旋转)
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);
src kernel_x kernel_y
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);
tsrc kernel_x kernel_y
imgx imgy