MATLAB图像函数以及应用(第六章)边界问题
2015-07-20 22:39
781 查看
1、bwboundaries 二值图像区域边界追踪、、
功能:在二值图像中进行区域边界的追踪,采用区域跟踪的算法,给出二值图像中所有的外边界和内边界
用法:
[B L]=bwboundaries(bw,conn,option); B输出为P *1de 元胞矩阵,P为目标和洞的个数,B的每个元宝元素均是Q*2de 矩阵,矩阵的每一行包含像素点的行列坐标。
L为表示矩阵,用于标示二值图像中被划分边界的区域,包含目标和洞。
bw为二值图像,conn为搜索的联通方法 默认八联通,option表示搜索的方包含‘holes(内外边界) 和 noholes(外边界);
2、bwtraceboundary(bw,p,fstep,conn)函数
B=bwtraceboundary(bw,p,fstep,conn)
作用在二值图像中进行目标的追踪,采用基于曲线追踪的算法,按指定的起始点和方向进行搜索,最后返回起始点。
bw表示二值图像,p表示追踪的起点,fstep表示方向,(N S E W )四大方向 conn表示按照几连通区域来追踪
4或者8连通区域。
3、edge函数 寻找灰度图像的边界
作用寻找灰度图像的边界
bw=edge(I);
例子:
E=entropy(I);
局部熵
J=entropyfilt(I) 计算灰度图像中的局部熵,J中的每一个像素为输入图像I中对应元素9*9邻域的熵值
5、graycomatrix 灰度共生矩阵
glcm=graycomatrix(I) 从图像I中建立灰度共生矩阵
stats=graycoprops(glcm,properties) 获取灰度共生矩阵glcm中指定的属性的状态。
字符串properties表示属性,取值可以为 contrast correlation energy homogeneity.
6、J=rangefilt(I) 计算图像的局部范围
J=rangefilt(I) 计算图像I的局部范围,返回矩阵J,输出矩阵J和I具有相同的维数,j中每一个像素的值为输入图像I中对应元素3*3邻域的范围(最大-最小)
stdfilt 计算图像 的局部标准差
J=stdfilt(I) 计算图像的局部标准差,返回矩阵J 计算图像每个元素 3*3邻域内的标准差
8、corr2 计算两个矩阵的互相关系数
r=corr2(A,B) 计算矩阵A B 的互相关系数
公式
例子:
9、imcontour 创建图像的等高线
创建图像的等高线 跟地图的等高线类似 相同像素的用线表示出来
imcontour(I) 绘制图像I的等高线,自动的进行坐标的设置,使输出图像的方向与外观与原始图像吻合。
imcontour(I,n) 绘制图像I的n个等高线,自动的进行坐标的设置,使输出图像的方向与外观与原始图像吻合。
显示图像的直方图,表示图像中每一个灰度级与灰度级出现的频率对应关系,就是计算某个灰度级像素的个数,
imhist(I) 默认灰度级是256
imhist(I,n) n表示灰度级
[ counts x]=imhist(I,200)
表示直方图像素的个数,以及灰度等级向量
功能:在二值图像中进行区域边界的追踪,采用区域跟踪的算法,给出二值图像中所有的外边界和内边界
用法:
[B L]=bwboundaries(bw,conn,option); B输出为P *1de 元胞矩阵,P为目标和洞的个数,B的每个元宝元素均是Q*2de 矩阵,矩阵的每一行包含像素点的行列坐标。
L为表示矩阵,用于标示二值图像中被划分边界的区域,包含目标和洞。
bw为二值图像,conn为搜索的联通方法 默认八联通,option表示搜索的方包含‘holes(内外边界) 和 noholes(外边界);
<span style="font-size:18px;"><span style="font-size:18px;">I=imread('rice.jpg'); Bw=im2bw(I,graythresh(I)); [B L]=bwboundaries(Bw,'noholes');%L表示划分的区域 imshow(label2rgb(L,@jet,[0.5 0.5 0.5]); hold on for k=1:length(B) boundary=b{k}; plot(boundary(:,2),boundary(:,1),’w','LineWidth',2);</span></span>
2、bwtraceboundary(bw,p,fstep,conn)函数
B=bwtraceboundary(bw,p,fstep,conn)
作用在二值图像中进行目标的追踪,采用基于曲线追踪的算法,按指定的起始点和方向进行搜索,最后返回起始点。
bw表示二值图像,p表示追踪的起点,fstep表示方向,(N S E W )四大方向 conn表示按照几连通区域来追踪
4或者8连通区域。
I=imread('lena.jpg'); bw=im2bw(I,0.6); figure; imshow(bw); s=size(bw); col=round(s(2)/2)-90; row=find(bw(:,col),1); contour=bwtraceboundary(bw,[row col],'W',4); hold on; plot(contour(:,2),contour(:,1),'r','LineWidth',2);
3、edge函数 寻找灰度图像的边界
作用寻找灰度图像的边界
bw=edge(I);
例子:
I=imread('lena.jpg'); imshow(I); bw1=edge(I); figure; imshow(bw1); bw2=edge(I,'sobel'); figure; imshow(bw2); bw3=edge(I,'prewitt'); figure; imshow(bw3); bw4=edge(I,'roberts'); figure; imshow(bw4); bw5=edge(I,'log'); figure; imshow(bw5); bw6=edge(I,'zerocross'); figure; imshow(bw6); bw7=edge(I,'canny'); figure; imshow(bw7);
I=imread('lena.jpg'); imshow(I); bw=edge(I,'roberts'); figure; imshow(bw); bw1=edge(I,'roberts',0.05); figure; imshow(bw1); bw2=edge(I,'roberts',0.3); figure; imshow(bw2); bw3=edge(I,'roberts',0.7); figure; imshow(bw3);4、entropy 计算灰度图像的熵
E=entropy(I);
局部熵
J=entropyfilt(I) 计算灰度图像中的局部熵,J中的每一个像素为输入图像I中对应元素9*9邻域的熵值
5、graycomatrix 灰度共生矩阵
glcm=graycomatrix(I) 从图像I中建立灰度共生矩阵
stats=graycoprops(glcm,properties) 获取灰度共生矩阵glcm中指定的属性的状态。
字符串properties表示属性,取值可以为 contrast correlation energy homogeneity.
I=imread('lena.jpg'); glcm=graycomatrix(I); stats=graycoprops(I,{'contrast','homogeneity'})
6、J=rangefilt(I) 计算图像的局部范围
J=rangefilt(I) 计算图像I的局部范围,返回矩阵J,输出矩阵J和I具有相同的维数,j中每一个像素的值为输入图像I中对应元素3*3邻域的范围(最大-最小)
<span style="font-size:18px;">I=imread('lena.jpg'); J=rangefilt(I); imshow(J) </span>7、
<span style="font-size:18px;">I=imread('lena.jpg'); J=stdfilt(I); imshow(J) </span>
stdfilt 计算图像 的局部标准差
J=stdfilt(I) 计算图像的局部标准差,返回矩阵J 计算图像每个元素 3*3邻域内的标准差
8、corr2 计算两个矩阵的互相关系数
r=corr2(A,B) 计算矩阵A B 的互相关系数
公式
例子:
A=[1 3 4;6 3 7;3 5 7]; B=[2 6 8;3 2 1;3 8 9]; r=corr2(A,B)
9、imcontour 创建图像的等高线
创建图像的等高线 跟地图的等高线类似 相同像素的用线表示出来
imcontour(I) 绘制图像I的等高线,自动的进行坐标的设置,使输出图像的方向与外观与原始图像吻合。
imcontour(I,n) 绘制图像I的n个等高线,自动的进行坐标的设置,使输出图像的方向与外观与原始图像吻合。
I=imread('lena.jpg'); imshow(I); figure; imcontour(I,3)10、imhist 创建图像的直方图
显示图像的直方图,表示图像中每一个灰度级与灰度级出现的频率对应关系,就是计算某个灰度级像素的个数,
imhist(I) 默认灰度级是256
imhist(I,n) n表示灰度级
[ counts x]=imhist(I,200)
表示直方图像素的个数,以及灰度等级向量
相关文章推荐
- matlab 图像函数以及运用(第十章)
- 在Windows下运行Felzenszwalb的Deformable Part Models(voc-release4.01)目标检测matlab源码
- Matlab 的内存分配机制
- 去掉matlab中figure图的空白边缘
- Matlab函数bwmorph
- matlab处理double jpeg问题常用函数不定期汇总
- k-折交叉验证(k-fold CrossValidation) matlab代码
- Matlab 图像处理相关函数命令
- MATLAB中处理边界的函数
- MATLAB中sort函数对矩阵数进行排序
- MATLAB 中怎么求图像在水平方向和垂直方向的像素和,用图表示
- Matlab 的fspecial函数用法
- MATLAB 边缘检测
- 【转】 MATLAB中RGB图像的各分量灰度直方图
- Matlab 图像处理 形态学 腐蚀 膨胀 开闭运算 连通分量
- Matlab---时间
- Matlab 层次分析法 求解权重矩阵
- 深度学习之Matlab 转C++在iOS上测试CNN手型识别
- Matlab用过函数备忘记录
- MatLab~Help Document