我实际上是按照论文的说明进行操作的:
输入应该是二进制“边缘”图像。输出应该是一个新图像,并根据论文中的说明进行了修改。我对指令的理解是,获取边缘图像的梯度图像并对其进行修改,并使用修改后的梯度创建一个新图像。因此,在 MATLAB/OpenCV 中是否有可能使用新的梯度创建相同的图像?
参考论文:
李宏宇和陈雷。 “使用基于轮廓的分类器消除对象检测中的误报。” ICIP。 2010年。
我想,显示的公式将弧度的梯度方向转换为范围从 0 到 255 的像素强度(许多图像格式的标准)。在matlab中,如果有图像处理工具箱,可以按如下方式获取图像梯度方向:
[Gmag, Gdir]=imgradient(YourImage);
现在,正如中所说手册 http://www.mathworks.com/help/images/ref/imgradient.html, Gdir
包含 [-180 180] 范围内的角度(以度为单位)。如果您希望将它们置于 [0 255] 范围内以遵循本文中的内容,请按照以下公式进行操作:
GdirI=(Gdir+180)*(255/360);
您还可以使用原始格式显示角度图imagesc(Gdir)
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)