图像形态学操作—腐蚀扩展深度

图像形态学操作—腐蚀扩展深度

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

在这里,我们想向大家解释这本书的数字图像处理对冈萨雷斯的扩大和使用腐蚀-definedopencv取得的成果,然后控制它们之间的差异。

一:opencv达到

       在这之前能够看我的另外一篇blog:http://blog.csdn.net/lu597203933/article/details/17184439

膨胀:

案例代码:

int main(){	int a[8][8] = {		{0,0,0,0,0,0,0,0}, 		{0,0,5,1,0,0,1,1}, 		{0,1,0,1,0,1,0,0},		{0,1,1,2,1,0,1,0},		{0,0,0,1,0,1,0,0},		{0,1,0,0,0,0,0,1},		{0,0,0,0,0,0,0,0},		{0,0,0,0,0,0,0,0}	};	Mat S = Mat::zeros(8, 8, CV_8UC1);	for(int j = 0; j < S.rows; j++)	{		for(int i = 0; i < S.cols; i++)		{			S.at<uchar>(j,i) = a[j][i];		}	}	cout << "S = " << endl << " " << S << endl;	Mat result;	Mat dilated = Mat::zeros(3, 3, CV_8UC1);	dilated.at<uchar>(0,1) = 1;	//eroded.at<uchar>(0,2) = 1;	dilated.at<uchar>(1,0) = 1;	dilated.at<uchar>(1,1) = 2;          // 结构元素非0即1	dilated.at<uchar>(1,2) = 1;	dilated.at<uchar>(2,1) = 1;	cout << "dilated = " << endl << " " << dilated << endl;		dilate(S, result, dilated);  	cout << "result = " << endl << " " << result << endl;	return 0;}

结果:

图像形态学操作—腐蚀扩展深度

膨胀就是假设结构元B有一处非0,而A相应位置非0,则求出A中与B中相应非0处所有像素最大值来取代当前像素点值。Opencv中默认的结构元是3*3的矩阵,所有非0。

腐蚀:

案例代码:

int main(){	int a[8][8] = {		{0,0,0,0,0,0,0,0}, 		{0,0,5,1,0,0,1,1}, 		{0,1,0,1,0,1,0,0},		{0,1,1,2,1,0,1,0},		{0,0,0,1,0,1,0,0},		{0,1,0,0,0,0,0,1},		{0,0,0,0,0,0,0,0},		{0,0,0,0,0,0,0,0}	};	Mat S = Mat::zeros(8, 8, CV_8UC1);	for(int j = 0; j < S.rows; j++)	{		for(int i = 0; i < S.cols; i++)		{			S.at<uchar>(j,i) = a[j][i];		}	}	cout << "S = " << endl << " " << S << endl;	Mat result;	Mat eroded = Mat::zeros(3, 3, CV_8UC1);	eroded.at<uchar>(0,1) = 1;	//eroded.at<uchar>(0,2) = 1;	eroded.at<uchar>(1,0) = 1;	eroded.at<uchar>(1,1) = 2;          // 结构元素非0即1	eroded.at<uchar>(1,2) = 1;	eroded.at<uchar>(2,1) = 1;	cout << "eroded = " << endl << " " << eroded << endl;		erode(S, result, eroded);  	cout << "result = " << endl << " " << result << endl;	return 0;

结果:

图像形态学操作—腐蚀扩展深度

腐蚀就是结构元B处非0,则A相应位置也全非0。且取全非0处最小值来取代当前像素点的值。

 

二:书中定义

膨胀: . 图像形态学操作—腐蚀扩展深度这里的B是结构元。B~是结构元的反射。反射不明确能够看书,就是旋转或者按中心点对称。如:

0 1   的反射就是 1 1

1 1                        1 0

与opencv中唯一的差别就是必须得求反射,而opencv中则直接用给定的结构元B。

腐蚀: 图像形态学操作—腐蚀扩展深度

案例:

图像形态学操作—腐蚀扩展深度

作者:小村长  出处:http://blog.csdn.net/lu597203933 欢迎转载或分享,但请务必声明文章出处。 (新浪微博:http://weibo.com/2653613245/profile , 欢迎交流!

版权声明:本文博主原创文章,博客,未经同意不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116869.html原文链接:https://javaforall.net

(0)
上一篇 2022年1月14日 下午12:00
下一篇 2022年1月14日 下午2:00


相关推荐

  • 分位数回归模型学习笔记

    分位数回归模型学习笔记我读硕士老师给我的第一篇论文就是一个分位数回归的文章 当时觉得这个模型很简单 我很快就用 R 的示例文件写了一个例子 但是 在后面的研究中 我越来越觉得 这个模型没有我想的那么简单 而且有着非常丰富的内涵需要来挖掘 就找了好几本书来看 结果真的是越看越懵 越看越懵 但是懵了一段时间之后 又重新感觉自己明白点了 所以赶紧把这一点进行一个总结 省的再放一段时间 连仅有的这一点懂的东西都没有了 首先随机变量

    2026年3月16日
    2
  • vs2019注释快捷键_vs2015注释快捷键

    vs2019注释快捷键_vs2015注释快捷键每个编辑器基本上都有自己的快捷键方式 很烦VS2019ctrl+K+C//注释ctrl+K+U //取消注释这个快捷键不同别的是,可以同时按住三个一起,也可以先按ctrl+K,再按ctrl+C/U…

    2022年8月15日
    6
  • laravel 自定义分页样式「建议收藏」

    laravel 自定义分页样式「建议收藏」以laravel的默认表users表为例,插入100条数据$arr=[];for($i=0;$i<100;$i++){$arr[]=[‘name’=>’NAME_’.$i,’email’=>”email@{$i}.com”,’password’=>$i,’created_at’=>date(‘Y-m-dH:i:s’),’updated_…

    2022年7月17日
    20
  • 版本号命名规则简述「建议收藏」

    版本号命名规则简述「建议收藏」GNU风格的版本号管理策略主版本号.次版本号.修正版本号1.新建项目初版,版本号为1.0.0。1.0.02.当项目在进行了局部修改或bug修正时,主版本号和子版本号都不变,修正版本号加1;1.0.13.当项目在原有的基础上增加了部分功能时,主版本号不变,子版本号加1,修正版本号复位为0,因而可以被忽略掉;1.1.04.当项目在进行了重大修改或局部修正累积较多,而导致项目整体发

    2025年10月18日
    4
  • 聊聊MyBatis缓存机制

    聊聊MyBatis缓存机制点击上方“程序员小灰”,选择“置顶公众号”有趣有内涵的文章第一时间送达!本文转载自公众号美团技术点评前言MyBatis是常见的Java数据库访问层框架。在日常工作中,开…

    2022年5月21日
    35
  • 開發中的DEV,QAS,UAT,PRD是什麼意思

    開發中的DEV,QAS,UAT,PRD是什麼意思IDES:InternetDemonstrationandEvaluationSystem交互式演示与评估系统DEV:DevelopmentSystem,开发系统QAS:QualityAssuranceSystem,质量保证系统UAT:UserAcceptanceTest用户验收测试PRD:ProductionSystem,生产系统…

    2022年6月28日
    57

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号