索引地址:系列索引
梯度
数学梯度:是一个向量,由一组正交的方向导数组成,表示函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向变化最快,变化最大。
对图像梯度而言,图像上亮度变化值大的地方(也就是图像边缘部分)表示有较大梯度值的地方。
测试代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
#include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp> #include <opencv2/opencv.hpp> using namespace cv;
int main() { Mat image = imread("1.jpg"); imshow("Original", image); Mat element = getStructuringElement(MORPH_RECT, Size(15, 15)); morphologyEx(image, image, MORPH_GRADIENT, element); imshow("Result", image);
waitKey(0);
return 0; }
|
效果如图:
可以看出像素变化不太大的地方几乎为黑色,而变化大的地方显白色。可以考虑用来进行边缘检测。