int main(){ Mat img = imread("img.jpg"); Size s = img.size(); Mat gray; cvtColor(img, gray, CV_BGR2GRAY); Mat tmp = imread("mask.png"); Mat mask; cvtColor(tmp,mask, CV_BGR2GRAY); Mat grad; int scale = 1; int delta = 0; int ddepth = CV_16S; /// Generate grad_x and grad_y Mat grad_x, grad_y; Mat abs_grad_x, abs_grad_y; Sobel( gray, grad_x, ddepth, 1, 0, 3, scale, delta, BORDER_DEFAULT ); convertScaleAbs( grad_x, abs_grad_x ); Sobel( gray, grad_y, ddepth, 0, 1, 3, scale, delta, BORDER_DEFAULT ); convertScaleAbs( grad_y, abs_grad_y ); /// Total Gradient (approximate) addWeighted( abs_grad_x, 0.5, abs_grad_y, 0.5, 0, grad ); imwrite("grad.jpg",grad); Mat result = DTOCS(grad,mask); imwrite("DTOCS.png",result); Mat new_result = WDTOCS(grad,mask); imwrite("WDTOCS.png",new_result); }