边缘检测
作者:庄军
0.关于项目
在这个项目中,我使用c ++从头开始实现边缘检测算法。
1.方法
基本上,我使用Sobel运算符对输入图像进行卷积运算,以计算沿x和y方向的偏导数。 之后,我计算梯度图像,然后检测梯度值峰值处的边缘。 整个过程遵循(不进行预平滑)。
在这里,我实现了两个版本。 对于Canny边缘检测器,我将梯度图像转换为二进制图像,然后执行非最大抑制。 对于简单版本,我仅考虑水平和垂直方向。 请注意,这些是基本的重新实现,因为我没有花太多时间来调整秤号以避免溢出问题。
2.运行脚本
我使用GNU编译器集合(GCC)在MacOS上运行脚本。
gcc script_name.cpp -o script_name ./script_name
在运行之前,用户需要在脚本中设置图像的宽度和高度,过滤器的大小,阈值以及输入图像的名称(无法通过此版本传递参数)。
3.结果
原始
2021-11-28 11:52:54
1.82MB
C++
1