基于otsu和hough海天线检测算法

这篇博客介绍了如何基于局部OTSU分割和Hough变换实现海天线检测。作者参考了相关文献,并在VS2015环境下使用OpenCV 3.x进行实现。内容包括图像的中值滤波、OTSU图像分割、边缘提取及Hough变换直线检测。完整代码已上传至GitHub供读者查阅。
摘要由CSDN通过智能技术生成

对理论感兴趣的同学可以参考 基于局部otsu分割与hough变换的海天线检测 这边文献,我的代码是依据该文献实现的。

IDE:vs2015

依赖项:opencv 3.x

一.对图像做中值滤波

opencv现成的函数

    cv::Mat src1 = imread("test1.png");
	cv::Mat srcGray;
    //转换为二值图像
	cvtColor(src1, srcGray, CV_BGR2GRAY);

	//中值滤波,过滤噪声
	medianBlur(srcGray, srcGray, 3);

二、otsu图像分割

//otsu 最大类间距算法,通过灰度直方图,找出阈值。
//类似k-means 聚类算法
int otsu(cv::Mat image)
{
	assert(!image.empty());

	int width = image.cols;
	int height = image.rows;
	int x = 0, y = 0;
	int pixelCount[256];
	float pixelPro[256];
	int i, j, pixelSum = width * height, threshold = 0;

	uchar* data = (uchar*)image.data;

	//初始化
	for (i = 0; i < 256; i++)
	{
		pixelCount[i] = 0;
		pixelPro[i] = 0;
	}

	//统计灰度级中每个像素在整幅图像中的个数
	for (i = y; i < height; i++)
	{
		for (j =
  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值