例程
#include效果#include #include #include #include #include using namespace cv; using namespace std; int main(int argc, char** argv) { //0.创建grad_x 和 grad_y矩阵 Mat grad_x, grad_y; Mat abs_grad_x, abc_grad_y, dst; //1.载入原始图 Mat src = imread("700levi.jpg"); //2.显示原始图 imshow("原始图", src); //3.求X方向梯度 Scharr(src, grad_x, CV_16S, 1, 0, 1, 0, BORDER_DEFAULT); convertScaleAbs(grad_x, abs_grad_x); imshow("效果图X方向Scharr", abs_grad_x); //4.求Y方向梯度 Scharr(src, grad_y, CV_16S, 0, 1, 1, 0, BORDER_DEFAULT); convertScaleAbs(grad_y, abc_grad_y); imshow("效果图Y方向Scharr", abc_grad_y); //5.合并梯度(近似) addWeighted(abs_grad_x, 0.5, abc_grad_y, 0.5, 0, dst); //6.显示效果图 imshow("效果图,合并梯度后Scharr", dst); waitKey(0); return 0; }



