使用一种自适应canny的算法自动来获得canny阈值并对图像处理

自适应Canny算子的方法

该算法大致原理为:

–>读图
–>转灰度
–>进行X,Y方向的sobel处理得到两个梯度图
–>将两个梯度图图进行叠加
–>找到叠加图中最大梯度值maxv
–>对叠加图求灰度直方图,并找到最大灰度频数HmaxNum和对应的灰度值Hmax
–>求像素最值方差

–>High = Emax + Hmax, Low = High * 0.4
–>Canny(input , output ,High ,Low)

代码
///新自适应canny
void AdaptiveCanny(const Mat& src, Mat& canny_img, double& HIGH, double& LOW, int aperture_size)
{
   
	double low, high, l_low, l_high = 0;
	const int cn = src.channels();

	cv::Mat dx_img(src.rows, src.cols, CV_16SC(cn));
	cv::Mat dy_img(src.rows, src.cols, CV_16SC(cn));
	// sobel处理
	cv::Sobel(src, dx_img, CV_16S, 1, 0, aperture_size, 1, 0, cv
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值