位置: IT常识 - 正文

利用Matlab进行图像分割和边缘检测(利用matlab作图)

编辑:rootadmin
利用Matlab进行图像分割和边缘检测 本文章包含以下内容:        

推荐整理分享利用Matlab进行图像分割和边缘检测(利用matlab作图),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:利用matlab作图,如何利用matlab绘图,利用matlab进行图像平滑,归纳总结用matlab绘图的方法,归纳总结用matlab绘图的方法,利用matlab作图,利用matlab进行图像平滑,利用matlab进行图像边界提取,内容如对您有帮助,希望把文章链接给更多的朋友!

1、灰度阀值分割

(1)单阈值分割图像

先将一幅彩色图像转换为灰度图像,显示其直方图,参考直方图中灰度的分布,尝试确定阈值;应反复调节阈值的大小,直至二值化的效果最为满意为止。给图像加上零均值的高斯噪声重复上述过程,注意阈值的选择。

(2)多阈值分割图像

自选图像,对图进行多阈值分割,注意阈值的选择。

2.边缘检测

(1)使用Roberts 算子的图像分割实验,调入并显示一幅图像*.gif或*.tif;

利用Matlab进行图像分割和边缘检测(利用matlab作图)

使用Roberts 算子对图像进行边缘检测处理;Roberts 算子为一对模板,相应的矩阵为:

rh = [0 1;-1 0]; rv = [1 0;0 -1]; 

这里的rh 为水平Roberts 算子,rv为垂直Roberts 算子。可以显示处理后

的水平边界和垂直边界检测结果;

用“欧几里德距离”方式计算梯度的模,显示检测结果;对于检测结果进行二值化处理,并显示处理结果。

(2)使用Prewitt 算子的图像分割实验使用Prewitt 算子进行内容(1)中的全部步骤。

(3)使用Sobel 算子的图像分割实验使用Sobel 算子进行内容(1)中的全部步骤。

(4)使用Canny算子进行图像分割实验。

(5) 使用拉普拉斯算子进行图像分割实验。

代码如下:function U() clear; clc; Single_threshold_segmentation() Multi_threshold_segmentation() edge_detection()end% 单阈值分割% 先将一幅彩色图像转换为灰度图像,显示其直方图,% 参考直方图中灰度的分布,尝试确定阈值% 给图像加上零均值的高斯噪声重复上述过程function Single_threshold_segmentation() img = imread('gantrycrane.png'); % 读取图像 figure('Name','单阈值分割'); % 开一个叫单阈值分割的窗口 subplot(2,4,1);imshow(img);title('gantrycrane.png原图'); % 显示原图 img = rgb2gray(img); % 彩色图像转为灰度图像 subplot(2,4,2);imshow(img);title('gantrycrane.png灰度图'); % 显示灰度图 subplot(2,4,3);imhist(img);title('gantrycrane.png直方图'); % 显示直方图 % x = 95; % 分割阈值 % img1 = uint8((0*(img<=x)+255.*(img>x))); % 图像分割 x = graythresh(img); % 分割阈值 img1 = im2bw(img,x); % 图像分割 subplot(2,4,4);imshow(img1);title('gantrycrane.png二值图'); % 显示二值图 img = imnoise(img,'gaussian'); % 添加高斯噪声 subplot(2,4,6);imshow(img);title('gantrycrane.png噪声灰度图'); % 显示噪声灰度图 subplot(2,4,7);imhist(img);title('gantrycrane.png噪声直方图'); % 显示噪声直方图 % x = 95; % 分割阈值 % img1 = uint8((0*(img<=x)+255.*(img>x))); % 图像分割 x = graythresh(img); % 分割阈值 img1 = im2bw(img,x); % 图像分割 subplot(2,4,8);imshow(img1);title('gantrycrane.png噪声二值图'); % 显示噪声二值图end% 多阈值分割function Multi_threshold_segmentation() img = imread('cameraman.tif'); % 读取图像 figure('Name','多阈值分割'); % 开一个叫多阈值分割的窗口 subplot(2,2,1);imshow(img);title('cameraman.tif原图'); % 显示原图 subplot(2,2,2);imhist(img);title('cameraman.tif直方图'); % 显示直方图 x_1 = 77; % 分割阈值 x_2 = 139; img1 = uint8(0*(img<=x_1)+round((x_1+x_2)/2)*((img>x_1)&(img<=x_2))+255*(img>x_2)); % 图像分割 subplot(2,2,3);imshow(img1);title('gantrycrane.png分割图'); % 显示分割图end% 边缘检测% 使用Roberts,Prewitt,Sobel,Canny,拉普拉斯算子function edge_detection() img = imread('cameraman.tif'); % 读取图像 figure('Name','边缘检测'); % 开一个叫边缘检测的窗口 subplot(2,3,1);imshow(img);title('cameraman.tif原图'); % 显示原图 img1 = ed(img,[[0 1;-1 0];[1 0;0 -1]]); % 使用 Roberts 算子 subplot(2,3,2);imshow(img1);title('Roberts 算子'); % Roberts 算子处理图像 img1 = ed(img,[[-1 -1 -1;0 0 0;1 1 1];[-1 0 1;-1 0 1;-1 0 1]]); % 使用 Prewitt 算子 subplot(2,3,3);imshow(img1);title('Prewitt 算子'); % Prewitt 算子处理图像 img1 = ed(img,[[-1 -2 -1;0 0 0;1 2 1];[-1 0 1;-2 0 2;-1 0 1;]]); % 使用 Sobel 算子 subplot(2,3,4);imshow(img1);title('Sobel 算子'); % Sobel 算子处理图像 img1 = ed(img,[[-1 1;-1 1];[-1 -1;1 1]]); % 使用 Canny算子 subplot(2,3,5);imshow(img1);title('Canny算子'); % Canny算子处理图像 img1 = ed(img,[[0 -1 0;-1 4 -1;0 -1 0];[-1 -1 -1;-1 8 -1;-1 -1 -1]]); % 使用 Laplace算子 subplot(2,3,5);imshow(img1);title('Laplace算子'); % Laplace算子处理图像end% 进行卷积和二值化function img2 = ed(img,x) s = size(x); img1 = zeros(size(img)); for i = 1:s(1)/s(2) img1 = img1 + abs(conv2(img,x(1+s(2)*(i-1):s(2)*i,1:s(2)),'same')); end img1 = uint8(img1); img2 = im2bw(img1,graythresh(img1));end结果如下:

本文链接地址:https://www.jiuchutong.com/zhishi/295947.html 转载请保留说明!

上一篇:vue项目根据不同环境动态配置接口请求ip及全局变量(vue环境变量配置)(vue调用同一个组件)

下一篇:idea连接SQL Server数据库(idea连接sqlserver数据库教程)

  • 汇算清缴补交所得税会计分录小企业会计政策
  • 视同销售收入是纳税调整项目吗?
  • 个人所得税速算扣除数表
  • 什么叫做供应链公司
  • 化肥与农药的利与弊
  • 以销定产如何核算成本
  • 预缴增值税项目编号填写错误怎么办
  • 2020年企业减免
  • 出口销售收入会计分录
  • 生产经营所得如何缴纳个人所得税
  • 增值税税控系统的税务处理
  • 非独立核算的分公司怎么做账
  • 一般纳税人为其他公司制作标书怎么缴税?
  • 作废报表会影响企业信用吗
  • 所得税汇算清缴补税的会计处理
  • 交城建税的滞纳金是多少
  • 收到政府补贴的装修款
  • 使用360安全卫士
  • 公司招的兼职员工怎么报个税
  • Win11 Dev 预览版 Build 25300
  • 员工租房管理规定
  • mac重装macos
  • 本月销售未开票怎么做分录
  • 净资产和净利润一样吗
  • 结算应付职工薪酬怎么算
  • php实现文件的下载
  • 罚款属于应付账款吗
  • php签到功能思路
  • vue系列教程
  • sklearn average precision
  • 运杂费可以计入固定资产吗
  • 一次性计提和一次性支付的区别
  • 如何查询金税盘发票金额及开票数量
  • 基本户开立账户清单
  • 专票要写开户行和账号
  • 建行e信通贴现高不高
  • 子公司提的盈余公积合并时如何抵消
  • 未开票收入账务处理分录
  • 私立学校增值税免税吗
  • 到银行货款现金怎么货
  • 坏账准备计提标准
  • 不属于投资性房地产项目有自用房地产作为存货的
  • 农业机耕属于种植业吗
  • 房屋装修支出怎么做账
  • 营业收入是利润总额吗
  • mysql增删改查面试题
  • 2008r2多用户远程桌面
  • openbsd6.8
  • 电脑卡 硬盘100%
  • 强制关闭mac系统的快捷键
  • 怎么删除多余的word的页数
  • gnuradio编写模块
  • win7系统点击桌面图标闪退
  • sedsvc.exe是什么
  • win7双显示器设置
  • Win7系统可以装ie10浏览器么
  • windows 10运行
  • gitlab管理员账号 审批
  • 硬盘逻辑锁源码
  • 怎么用python画图具体步骤
  • js的isnan
  • jQuery插件能输出到控制台
  • Linux服务器无法远程连接
  • android学习路线
  • linux中sudo命令的使用方式和作用
  • 子弹追踪原理
  • python多线程怎么写
  • unity安装进度条不动
  • jquery.css
  • jquery的validate前端表单验证
  • js实现复制文本
  • 税务征收津贴发放范围
  • 定额发票属于什么类型
  • 济宁税务大厅上班时间
  • 小规模无票收入怎么报税
  • 中欧班列补贴政策
  • 别墅与普通住宅的优缺点
  • 北京国税app
  • 重庆外经证网上报验流程及时间
  • 湖南电子税务局网上办税大厅
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设