10 OpenCV 形态学的应用

这篇具有很好参考价值的文章主要介绍了10 OpenCV 形态学的应用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

算子

adaptiveThreshold 二值化算子

adaptiveThreshold(src, dst=None,maxValue, adaptiveMethod, thresholdType, blockSize, C, )
/*
*src:灰度化的图片
*dst:输出图像,可选
*maxValue:满足条件的像素点需要设置的灰度值
*adaptiveMethod:自适应方法。有2种:ADAPTIVE_THRESH_MEAN_C 或 ADAPTIVE_THRESH_GAUSSIAN_C
*thresholdType:二值化方法,可以设置为THRESH_BINARY或者THRESH_BINARY_INV
*blockSize:分割计算的区域大小,取奇数
* C:常数,每个区域计算出的阈值的基础上在减去这个常数作为这个区域的最终阈值,可以为负数

*/

形态学提取直线示例

想法:把获取二值化的图片轮廓,对直线进行开闭运算

#include <opencv2/opencv.hpp>
#include <iostream>

using namespace cv;
int main() {
	Mat src, dst;
	src = imread("chars.png");
	if (!src.data) {
		printf("could not load image...\n");
		return -1;
	}

	char INPUT_WIN[] = "input image";
	char OUTPUT_WIN[] = "result image";
	namedWindow(INPUT_WIN);
	imshow(INPUT_WIN, src);

	Mat gray_src;
	cvtColor(src, gray_src, CV_BGR2GRAY);
	imshow("gray image", gray_src);
	
	Mat binImg;
	adaptiveThreshold(gray_src, binImg, 255, ADAPTIVE_THRESH_MEAN_C, THRESH_BINARY, 15, -2);
	imshow("binary image", binImg);

	// 水平结构元素
	Mat hline = getStructuringElement(MORPH_RECT, Size(src.cols / 16, 1), Point(-1, -1));
	// 垂直结构元素
	Mat vline = getStructuringElement(MORPH_RECT, Size(1, src.rows / 16), Point(-1, -1));
	

	Mat temp;
	erode(binImg, temp, hline );
	dilate(temp, dst, hline );
	// morphologyEx(binImg, dst, CV_MOP_OPEN, vline);
	bitwise_not(dst, dst);
	//blur(dst, dst, Size(3, 3), Point(-1, -1));
	imshow("Final Result", dst);

	waitKey(0);
	return 0;
}

10 OpenCV 形态学的应用,OpenCV,opencv,人工智能,计算机视觉
10 OpenCV 形态学的应用,OpenCV,opencv,人工智能,计算机视觉文章来源地址https://www.toymoban.com/news/detail-839156.html

到了这里,关于10 OpenCV 形态学的应用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • OpenCv之图像形态学

    目录 一、形态学  二、图像全局二值化  三、自适应阈值二值化 四、腐蚀操作 五、获取形态学卷积核 六、膨胀操作 七、开运算 八、闭运算 定义: 指一系列处理图像形状特征的图像处理技术 形态学的基本思想是利用一种特殊的结构元(本质上就是卷积核)来测量或提取输入图

    2024年02月16日
    浏览(38)
  • Opencv-C++笔记 (5) : opencv-形态学

    形态学运算是针对二值图像依据数学形态学(Mathematical Morphology)的集合论方法发展起来的图像处理方法。数学形态学起源于岩相学对岩石结构的定量描述工作,近年来在数字图像处理和机器视觉领域中得到了广泛的应用,形成了一种独特的数字图像分析方法和理论。 结构元素

    2024年02月09日
    浏览(48)
  • OpenCV(三十一):形态学操作

    ​​​​​​1.形态学操作        OpenCV 提供了丰富的函数来进行形态学操作,包括腐蚀、膨胀、开运算、闭运算等。下面介绍一些常用的 OpenCV 形态学操作函数: 腐蚀操作(Erosion): erode(src, dst, kernel, anchor, iterations, borderType, borderValue) 该函数对输入图像中的前景区域进行

    2024年02月09日
    浏览(52)
  • OpenCV17-图像形态学操作

    图像腐蚀(Image erosion)可用于减小图像中物体的大小、填充孔洞或者分离邻近的物体。腐蚀操作通过对图像中的每个像素应用结构元素(也称为腐蚀内核)来实现。 腐蚀操作的原理是将结构元素与图像进行逐像素的比较。如果结构元素的所有像素与图像中对应位置的像素都

    2024年02月08日
    浏览(50)
  • opencv获取形态学卷积核

    获取形态学卷积核,这个函数是用来创建自定义形状的卷积核(也称为结构元素),这些核可以用在形态学操作比如腐蚀和膨胀中。 cv2.getStructuringElement(shape, ksize[, anchor]) shape:卷积核形状, cv2.MORPH_RECT: 矩形结构元素 cv2.MORPH_CROSS: 交叉形结构元素 cv2.MORPH_ELLIPSE: 椭圆形结构元素

    2024年04月14日
    浏览(46)
  • OpenCv之图像形态学(二)

    目录 一、形态学梯度 二、顶帽操作 三、黑帽操作 梯度=原图 - 腐蚀 腐蚀之后原图边缘变小,原图 - 腐蚀 就可以得到腐蚀掉的部分,即边缘 案例代码如下: 运行结果如下: 顶帽 = 原图 - 开运算 开运算的效果是去除图形外的噪点,原图 - 开运算就得到了去掉的噪点 案例代码如

    2024年02月16日
    浏览(44)
  • OpenCV快速入门:图像形态学操作

    图像形态学是一门强大而有趣的技术,它通过对图像进行形态学操作,使图像更适合后续处理步骤。在本文中,我们将深入探讨OpenCV中的图像形态学操作,快速入门这一关键领域。 图像形态学作为数字图像处理的一个分支,致力于通过形态学操作实现对图像特征的提取、噪音

    2024年02月05日
    浏览(97)
  • Python轮廓追踪【OpenCV形态学操作】

    一些理论知识 OpenCV形态学操作理论1 OpenCV形态学操作理论2 OpenCV轮廓操作|轮廓类似详解 代码如下,可以直接运行

    2024年02月22日
    浏览(52)
  • Opencv | 图像卷积与形态学变换操作

    在每个图像位置(x,y)上进行基于邻域的函数计算,其中函数参数被称为卷积核 (kernel) kernel核的尺寸通常为奇数,一般为: 3 ∗ 3 、 5 ∗ 5 、 7 ∗ 7 3*3、5*5、7*7 3 ∗ 3 、 5 ∗ 5 、 7 ∗ 7 不同功能需要定义不同的函数,其中功能可以有: 图像增强:           平滑 / 去

    2024年04月23日
    浏览(41)
  • Android OpenCV(三十一):图像形态学

    参数一:src,输入的待形态学操作图像,图像的通道数可以是任意的,但是图像的数据类型必须是 CV_8U , CV_16U , CV_16S , CV_32F 或 CV_64F 参数二:dst,形态学操作后的输出图像,与输入图像src具有相同的尺寸和数据类型 参数三:op,形态学操作类型的标志 标志位 值 作用 MO

    2024年04月10日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包