matlab多种图像边缘检测方法,[转载]Matlab多种图像边缘检测方法
1、用Prewitt算子检测图像的边缘
I = imread('bacteria.BMP');
BW1 =
edge(I,'prewitt',0.04); % 0.04为梯度阈值
figure(1);
imshow(I);
figure(2);
imshow(BW1);
2、用不同σ值的LoG算子检测图像的边缘
I = imread('bacteria.BMP');
BW1 = edge(I,'log',0.003); % σ=2
imshow(BW1);title('σ=2')
BW1 = edge(I,'log',0.003,3); % σ=3
figure, imshow(BW1);title('σ=3')
3、用Canny算子检测图像的边缘
I = imread('bacteria.BMP');
imshow(I);
BW1 = edge(I,'canny',0.2);
figure,imshow(BW1);
4、图像的阈值分割
I=imread('blood1.tif');
imhist(I); % 观察灰度直方图, 灰度140处有谷,确定阈值T=140
I1=im2bw(I,140/255); %
im2bw函数需要将灰度值转换到[0,1]范围内
figure,imshow(I1);
5、用水线阈值法分割图像
afm = imread('afmsurf.tif');figure,
imshow(afm);
se = strel('disk', 15);
Itop = imtophat(afm, se); % 高帽变换
Ibot = imbothat(afm, se); % 低帽变换
figure, imshow(Itop,
[]); % 高帽变换,体现原始图像的灰度峰值
figure, imshow(Ibot,
[]); % 低帽变换,体现原始图像的灰度谷值
Ienhance = imsubtract(imadd(Itop,
afm), Ibot);% 高帽图像与低帽图像相减,增强图像
figure, imshow(Ienhance);
Iec = imcomplement(Ienhance); %
进一步增强图像
Iemin = imextendedmin(Iec, 20);
figure,imshow(Iemin) % 搜索Iec中的谷值
Iimpose = imimposemin(Iec, Iemin);
wat = watershed(Iimpose); % 分水岭分割
rgb = label2rgb(wat); figure,
imshow(rgb); % 用不同的颜色表示分割出的不同区域
6、对矩阵进行四叉树分解
I = [
1 1 1 1 2 3 6 6
1 1 2 1 4 5 6 8
1 1 1 1 10 15 7 7
1 1 1 1 20 25 7 7
20 22 20 22 1 2 3 4
20 22 22 20 5 6 7 8
20 22 20 20 9 10 11 12
22 22 20 20 13 14 15 16];
S = qtdecomp(I,5);
full(S)
7、将图像分为文字和非文字的两个类别
I=imread('4-11.jpg');
I1=I(:,:,1);
I2=I(:,:,2);
I3=I(:,:,3);
[y,x,z]=size(I);
d1=zeros(y,x);
d2=d1;
myI=double(I);
I0=zeros(y,x);
for i=1:x
for
j=1:y
%欧式聚类
d1(j,i)=sqrt((myI(j,i,1)-180)^2+(myI(j,i,2)-180)^2+(myI(j,i,3)-180)^2);
d2(j,i)=sqrt((myI(j,i,1)-200)^2+(myI(j,i,2)-200)^2+(myI(j,i,3)-200)^2);
if (d1(j,i)>=d2(j,i))
I0(j,i)=1;
end
end
end
figure(1);
imshow(I);
%
显示RGB空间的灰度直方图,确定两个聚类中心(180,180,180)和(200,200,200)
figure(2);
subplot(1,3,1);
imhist(I1);
subplot(1,3,2);
imhist(I2);
subplot(1,3,3);
imhist(I3);
figure(4);
imshow(I0);
8、形态学梯度检测二值图像的边缘
I=imread('wrod213.bmp');
imshow(I);
I=~I; % 腐蚀运算对灰度值为1的进行
figure, imshow(I);
SE=strel('square',3); %
定义3×3腐蚀结构元素
J=imerode(~I,SE);
BW=(~I)-J; % 检测边缘
figure,imshow(BW);
9、形态学实例——从PCB图像中删除所有电流线,仅保留芯片对象
I=imread('circbw.tif');
imshow(I);
SE=strel('rectangle',[40 30]); %
结构定义
J=imopen(I,SE); % 开启运算
figure,imshow(J);
matlab多种图像边缘检测方法,[转载]Matlab多种图像边缘检测方法相关推荐
- matlab中图像映射实例,[转载]Matlab实现多种图像配准(转)
本文讲述如何利用Matlab Image Processing Toolbox中的图像配准工具实现线性正投影.仿射.投影.多项式.分段线性.局部加权平均配准的过程. 实验平台 X86 PC,Windo ...
- matlab作动态函数曲线图,[转载]Matlab中使用Plot函数动态画图方法总结
本帖最后由 sonictl 于 2012-12-31 12:18 编辑 请删除我 清楚超靠靠靠 没办法,一会儿限制这不能发表,那不能发表的.... [转载]Matlab中使用Plot函数动态画图方法总 ...
- matlab修改图像分辨率_[转载]Matlab图片保存指定分辨率(图片dpi设置)
登录后查看更多精彩内容~ 您需要 登录 才可以下载或查看,没有帐号?立即注册 x 本帖最后由 haobang008 于 2016-7-19 14:38 编辑 先附上效果对比,第一张图是300dpi设置 ...
- matlab 图像处理 新浪 应变,[转载]Matlab图像处理小结
经常做做图像处理的东西,时间长了,有些函数就忘了,看到网上有人总结,收藏了. 1. 图像和图像数据 缺省情况下,MATLAB将图像中的数据存储为双精度类型(double),64位浮点数,所需存储量很大 ...
- matlab制作动画并保存,[转载]Matlab中动画的实现、制作和保存(转载Matlab技术论坛)...
Matlab中动画的实现.制作和保存(转载Matlab技术论坛) 本帖由Matlab技术论坛原创,原帖参见 http://www.matlabsky.com/thread-592-1-1.html 光 ...
- matlab 实现分层聚类算法,[转载]MATLAB层次聚类分析法(转)
层次聚类是基于距离的聚类方法,MATLAB中通过pdist.linkage.dendrogram.cluster等函数来完成.层次聚类的过程可以分这么几步: (1) 确定对象(实际上就是数据集中的每个 ...
- matlab中的timer模块,[转载]Matlab中Timer的使用
Matlab中Timer的使用 鉴于Matlab中缺乏多线程机制,使用Timer无疑是一个很重要的工具,Matlab中Timer是一个Java对象. (1)Timer 的定义 t=timer(); 设 ...
- matlab surf颜色,科学网[转载]matlab中控制mesh或者surf的颜色
科学网[转载]matlab中控制mesh或者surf的颜色 曲面的顏色越发柔順滑腻,del2 (Z) 根據數值微分來產生矩陣 Z 的 discrete Laplacian, Y,surf 及 mesh ...
- matlab保存图片如何保证dpi,[转载]matlab 保存高分辨率图像 dpi要在300以上
imwrite(Im,'testdpi.tif', 'tiff', 'Resolution',300); 然后就会在MATLAB的工作目录下(一般为work文件夹)生成一个名为 testdpi.tif ...
- matlab转变图像位深,[转载]matlab 图像处理命令 (转)
图像增强 1. 直方图均衡化的 Matlab 实现 1.1 imhist 函数 功能:计算和显示图像的色彩直方图 格式:imhist(I,n) imhist(X,map) 说明:imhist(I,n) ...
最新文章
- 什么叫dfs文件服务器,什么是DFS(分布式文件系统)以及DFS的优点
- dedecmsmip_织梦MIP文章内容页图片适配百度MIP规范
- Matplotlib(一)工作流程
- Java记录 -6- 流程控制语句
- 行程单图片python预处理_GCC编译过程(预处理-gt;编译-gt;汇编-gt;链接)
- python多线程详解_Python多线程详解
- 洛谷3396 哈希冲突 【分块】
- 600分左右的计算机院校,600分左右的985大学 性价比最高的学校
- KNN(五)--层次Kmean
- 开发人员的U盘,最好是128G
- 张北草原和锡林郭勒草原区别_草原:比您不知道的恶魔还强
- Java基础学习之画板1
- 维宏控制卡win7 驱动_维宏雕刻机控制卡驱动
- java 中抽象类的继承_java抽象类 继承
- EA建模-绘制活动图
- mysql的sid_修改数据库的SID
- PyQt5试验:基于QTableWidget的应用
- MacBook Pro出现kernel_task占用CPU非常高问题
- 通过Xcodeproj深入探究Xcode工程文件 一
- KUBUNTU 10.04 的安装与配置详解
热门文章
- mockito 外部接口_mockito – Spring批处理作业的端到端测试用例
- python平均分计算器_招募:基于python的召唤师全时段全技能(含均值AI)计算器全程测试...
- 面向对象14:变长数组Vector、static关键字
- hive 窗口函数 应用场景与实战详解
- MapReduce Shuffle详解
- Php wordpress安全性,使用 .htaccess 提高 WordPress 的安全性和可用性
- 放苗机器人_智能化种植系统所用苗盘摆收机器人的制作方法
- 卸载所有supervisor残留_拯救C盘!这个良心的卸载工具还是免费的?!
- 在系统可编程器件一般使用计算机,eda技术与vhdl复习练习题
- php百度地图api的geocoder,百度地图API提供Geocoder类