open cv提取水平线与垂直线

形态学操作提取水平线与垂直线的原理方法
图像形态学操作时候,可以通过自定义的结构元素实现结构元素
对输入图像-些对象敏感另外一些对象不敏感,这样就会让敏
感的对象改变而不敏感的对象保留输出。通过使用两个最基本的
形态学操作-膨胀与腐蚀,使用不同的结构元素实现对输入图像
的操作、得到想要的结果

.膨胀,输出的像素值是结构元素覆盖下输入图像的最大像素值
.腐蚀,输出的像素值是结构元素覆盖下输入图像的最小像素值
在这里插入图片描述

举例说明:例如想检测水平线,可以构造一个类型为
MORPH_RECT尺寸为Size(src.cols / 16, 1)

(一个水平细长条矩形模板)的结构元素,
这样经过腐蚀操作,垂直线(二值图像中)
会对其敏感从而消除,水平线受其影响较小,
经过膨胀操作,最终还原图像中的水平线。


结构元素

●上述膨胀与腐蚀过程可以使用任意的结构元素

●常见的形状:矩形、圆、直线、磁盘形状、砖石形状
等各种自定义形状
在这里插入图片描述


提取步骤

1.输入彩色图像imread
2.转换为灰度图像cvtCOLOR
3.转换为二值图像adaptiveThreshold
4.定义结构元素getStructuringElement
5.开操作(腐蚀+膨胀)提取水平与垂直线


cv::morphologyEx() 形态学操作函数
void cv::adaptiveThreshold(
cv::InputArray src, // 输入图像
double maxValue, // 向上最大值 255
int adaptiveMethod, // 自适应方法,平均或高斯 mean&gussian
int thresholdType // 阈值化类型 THRESH_BINARY
int blockSize, // 块大小
double C // 常量 可以为负数


基本流程

1.首先要确保图片为灰度单通道的图片方便二值化的处理 cvtcolor
2.按照图片的亮度均匀程度进行分类二值化(亮度差大的采取自适应阀门二值化(需要取反导入图片),差不大的使用全局阀门二值化)
所使用API adaptiveThreshold&threshold

3.获取合适的结构元素为接下来的形态学开操作做准备(水平线与垂直线各自需要一个结构元素)
所使用API getStructuringElement

4.对设置好结构元素图片进行开操作(先膨胀后腐蚀)
5.混合图片并进行模糊化处理 增强视觉效果
6.有需求时对图片进行去取反操作(目的是与原图保持一致)

#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui_c.h>
#include <iostream>

using namespace cv;
using namespace std;

Mat dst,src,HLINE,VLINE,MIX,ABC;

int Osize = 3;
int Oosize = 3;
int Msize = 21;
int Tsize=1;
float alpha = 0.5;

void HlineVline(int, void*);

int main()
{
   
	src = imread("D:/实验台/机器视觉/测试图片/二值化操作.jpg
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Open3D是一个开源的3D图形库,提供了一系列的算法和工具,可以用于处理和分析3D点云数据。机载点云电力线提取是指利用机载设备采集到的点云数据,通过Open3D库中的算法,从点云数据中提取出电力线的位置和形状信息。 在进行机载点云电力线提取之前,首先需要导入Open3D库,并加载机载点云数据。接下来,可以使用Open3D中的滤波算法对点云数据进行预处理,去除可能存在的噪声和离群点,以提高后续处理算法的准确性。 一种常用的电力线提取算法是基于特征的方法。该方法首先通过计算点云数据中点的特征,如法线、曲率等,来区分电力线和其他物体。然后,通过将特征点进行聚类,将属于同一电力线的点分组,并拟合出电力线的位置与形状。 Open3D库中提供了一些常用的特征计算和聚类算法,如法线估计算法和DBSCAN(基于密度的聚类算法)。可以根据实际需求选择适合的算法来进行电力线提取。 最后,提取到的电力线信息可以根据需要进行可视化展示或导出到其他格式的文件中。Open3D库本身也提供了一些可视化和IO工具,方便用户对处理结果进行查看和保存。 总之,使用Open3D进行机载点云电力线提取,可以借助其提供的算法和工具,对点云数据进行特征计算、聚类和拟合,从而得到电力线的位置和形状信息。这对于电力线相关的研究和应用领域具有重要意义。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值