以下代码允许使用 OpenCV 中可用的 Sobel 算子计算图像的梯度。
IplImage* grad_x = cvCreateImage(cvGetSize(image),IPL_DEPTH_32F,1);
IplImage* grad_y = cvCreateImage(cvGetSize(image),IPL_DEPTH_32F,1);
cvSobel(image,grad_x,1,0,3);
cvSobel(image,grad_y,0,1,3);
该函数如何处理边缘cvSobel()
?这个功能和有什么区别这个 这个?我阅读了有关可用borderType
选项的信息,但是,我不知道哪些选项更适合使用。
此外,在计算图像的梯度之前执行平滑滤波器有什么好处?
最后,计算出一张图像的梯度后,如何计算对应的角度和大小?