,,OpenCV黑帽运算(BLACKHAT)的使用

,,OpenCV黑帽运算(BLACKHAT)的使用

本文主要介绍OpenCV BLACKHAT的使用,通过示例代码非常详细的介绍。对大家的学习或工作都有一定的参考价值。有需要的朋友就跟着下面的边肖学习吧。

目录

原理功能原型测试代码

原理

形态学是图像处理中的常用术语,图像处理的形态学基本属于数学形态学的范畴,是一门基于格论和拓扑学的图像分析学科。黑帽操作是一种腐蚀和膨胀相结合的操作,封闭的操作结果图缩小了原图。

简单来说,黑帽操作就是从封闭图像中减去原图像,突出比原图像轮廓周围区域更暗的区域。效果见下图1和图2。

函数原型

void morphologyEx(输入阵列src,输出阵列dst,

int op,InputArray内核

点锚=点(-1,-1),int迭代次数=1,

int borderType=BORDER_CONSTANT,

const标量border value=morphologyDefaultBorderValue());

Op=MORPH_BLACKHAT

参数描述

输入Src类型,输入image,如Mat类型。数组类型的输出dst,输出图像。int类型的Op,选择不同的运算,黑帽运算是MORPH_BLACKHAT。类型点的锚点,锚点。默认值(-1,-1)表示位于公司中心,一般不使用。int类型的迭代次数,使用的迭代次数,默认值为1。Int type borderType,推断图像外部像素的边界模式。我的OpenCV版本的默认值是BORDER_CONSTANT。如果需要对图像边界进行扩展,不同模式下的扩展像素有不同的生成原理。常数标量类型的BorderValue,它是边界为常数时的边界值。默认值为morphologyDefaultBorderValue()。

测试代码

#includeiostream

# includeopenv2/opencv . HPP

# includectime

使用命名空间std

使用名称空间cv;

int main(void)

{

cv:Mat test=cv:Mat:zeros(64,64,CV _ 8uc 1);

cv:rectangle(test,cv:Rect(30,30,8,8),255,-1);

cv:rectangle(test,cv:Rect(33,30,2,2),0,-1);

cv:Mat element=getStructuringElement(MORPH _ RECT,Size(3,3));

cv:Mat结果,关闭;

cv:morphologyEx(测试,关闭,变形_关闭,元素);

cv:morphologyEx(测试,结果,MORPH_BLACKHAT,元素);

imshow('原始',测试);

imshow('close ',关闭);

imshow('result ',结果);

wait key(0);

系统(“暂停”);

返回0;

}

测试效果

如上图所示,原来有一个8*8的长方形,有一个2*2的凹槽。我设置了一个3*3的矩形蒙版,如图2所示关闭,凹陷消失,如图3所示黑色封顶,突出凹陷的内容。

关于OpenCV BLACKHAT使用的这篇文章到此为止。有关OpenCV黑帽的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望大家以后能多多支持我们!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • opencv图像识别数字,opencv 识别
  • opencv图像识别数字,opencv 识别,如何基于opencv实现简单的数字识别
  • opencv图像的旋转角度计算,opencv图像仿射变换
  • opencv图像的旋转角度计算,opencv图像仿射变换,OpenCV图像几何变换之透视变换
  • opencv图像的旋转角度计算,opencv 旋转任意角度
  • opencv图像的旋转角度计算,opencv 旋转任意角度,opencv图片的任意角度旋转实现示例
  • opencv图像处理函数,opencv图像轮廓合并
  • opencv图像处理函数,opencv图像轮廓合并,OpenCV图像处理之七种常用图像几何变换
  • opencv双线性插值函数,opencv 图像插值
  • LBPH人脸识别,基于opencv的人脸识别技术
  • LBPH人脸识别,基于opencv的人脸识别技术,Opencv LBPH人脸识别算法详解
  • opencv双线性插值函数,opencv 图像插值,C++ OpenCV实现图像双三次插值算法详解
  • ,,C语言 OpenCV实现柱面投影
  • ,,C++ Opencv imfill孔洞填充函数的实现思路与代码
  • python opencv角点检测,opencv检测一定角度的直线
  • 留言与评论(共有 条评论)
       
    验证码: