数学建模(3)——图像处理
来源:互联网 发布:python入门教程百度云 编辑:程序博客网 时间:2024/05/16 11:19
图像处理初步
基本作图函数
图像类型使之数组数值与像素颜色之间定义的关系,它和图像格式概念不同,在MATLAB图像处理工具箱中有五种类型的图像,在这里简单介绍二进制图像与灰度值图像
二进制图像
在一副二进制图像中,每一个像素将去两个离散数值(0或1)中的一个,从本质上说,这两个数值分别代表状态“开(on)”或“关(off)”.
灰度值图像
灰度图像通常由一个unit8、unit16或装精度类型的数组来描述,其实质是一个数据矩阵,该矩阵中的数据军代表了在一定范围内的灰度级,每一个元素对应于图像的一个像素点,通常0代表黑色,1、255或65 535(针对不同存储类型)代表白色。
图像类型间的转换
I = rgb2gray(RGB)
rgb2gray是一种函数,功能是将真彩色图像转换为灰度
BW = im2bw(I,level)BW = im2bw(RGB,level)
通过设定亮度阀值将灰度图像及RGB图像转换成二值图像
输出的二值图像在输入图像所有亮度小于给定值(level取值范围为【0,1】像素点处均为0,其他处为1),其中level的确定可以认为指定,也可以使用最大类值差方法自动确定level值
即:level = graythresh(I)
I=mat2gray(X,[xmin,xmax])
按指定的区至区间[xmin,xmax]将数据矩阵 X 转化为灰度图像 I ,xmin对应灰度值0(最暗即黑),xmax对应灰度1(最亮即白)。如果不指定区间,MATLAB则自动将 X 矩阵中最小值设为xmin,对大致设为xmax
图像运算
- 图像放大
B = imresize( A,m,method )B = imresize( A,[mrows,mcols],method )B = imresize( A,m,method,n )B = imresize( A,m,method,h )
A为图像,m为放大缩小倍数,method为插值方法,可选值为‘nearest(最近邻插值)’‘bilinear(双线性插值)’’bicubic(双立方插值)’,上述方法2返回一个mrows行,mcols列的图像
在使用bilinear和bicubic方法缩小图片时,为消除引入的高频成分,imresize使用一个前端平滑滤波器,默认11*11,也可通过n指定
第四种方法是使用用户设计的插值核h进行插值,h可以看做一个二维FIR滤波器
- 图像旋转
B=imrotate(A,angle,method,'crop')
通过指定crop参数对旋转后的图像进行剪切(取图像中间部分),把图像进行angle角度旋转,然后返回与A大小相同的中间部分
-图像裁剪
I2=imcrop(I)RGB2=imcrop(RGB1)
交互式对灰度图像和真彩图像进行裁剪,显示图像,允许用鼠标指定裁剪矩形
I2=imcrop(I,rect)RGB2=imcrop(RGB1,rect)
非交互式裁剪,rect为四元素向量【xmin,ymin,width,height】,分别表示矩阵的左上角坐标,宽度和长度
图像分析
figureimcontour(I) %显示图像的轮廓imhist(I,n) %显示灰度图中的灰度分布,n为指定灰度级
- 灰度图像的边缘:edge函数
BW = edge( I,method )BW = edge( I,method,thresh )BW = edge( I,method,thresh,direction )BW = edge( I,'log',thresh,sigma )
edgd函数返回和 I 大小一样的二进制推向BW,其中元素1为发现 I 的边缘,
Method参数列表为:
‘sobel’ 缺省值,用导数的sobel近似值检测边缘,那些梯度最大点返回边缘
‘prewitt’ 用导数的prewitt近似值检测边缘,那些梯度最大点返回边缘
‘roberts’ 用导数的roberts近似值检测边缘,那些梯度最大点返回边缘
‘log’ 使用高斯滤波器的拉普拉斯运算对 I 进行滤波,通过寻找0相交检测边缘
‘zerocross’ 使用指定的滤波器对 I 滤波后,寻找0相交检测边缘
用thresh指定灵敏度阈值,所有不强于该值的边缘都被忽略掉
对‘sobel’和 ‘prewitt’ 指定direction 方向:‘horizontal(水平)’‘vertical(垂直)’‘both(缺省值)’
用sigma指定标准偏差
- 图像平滑
1、向图像加噪声
J=imnoise(I,'gaussian',M,V)J=imnoise(I,'salt&pepper',D)J=imnoise(I,'speckle',V)
方法1:在图像中加入均值为M,方差为V的高斯白噪声,缺省值:0,0.01
方法2:在图像中加入强度为D的“树盐”黑白像素点,缺省值:0.05
方法3:使用公式J=I+n*I,向图像中加入乘法噪声,其中n是均值为0,方差值为V的均匀分布随机噪声,缺省值:0.04
2、二维中值滤波器
B=medfilt2( A,[M,N] )
对矩阵A进行二维中值滤波。每个输出像素包含输入图像中相应像素周期的M*N邻域的中值。在图像边缘添加0,因此边缘在【M,N】/2内的点可能发生扭曲,缺省值:【3,3】
- 数学建模(3)——图像处理
- matlab 数学建模 图像处理
- 2014-09-18 数学建模图像处理
- 数学建模(12)——拟合
- 数学建模(15)——聚类分析
- 数学建模处理数据
- 数学建模(11)——Lingo使用&数学规划
- 【数学建模】数学建模(一)——数学模型概述
- 数学建模——图
- 数学建模——表格
- 数学建模——公式
- 数学建模实录(3)
- 【数学建模】CUMCM-2014A 嫦娥三号软着陆过程 避障阶段图像处理
- 数学建模(1)——遗传算法(GA)
- LDA文本建模(1)——数学基础
- 数学建模(4)——模拟退火
- 数学建模(5)——改良圈算法
- 数学建模(6)——蚁群算法
- 1284:闰年
- LAMP调优(一)之版本隐藏和错误页面显示处理
- 培根密码
- 数据采集卡在TDLAS(可调谐半导体激光吸收光谱)上的应用
- C++类中静态STL容器中的指针所指向的动态内存空间如何释放!
- 数学建模(3)——图像处理
- caioj1029:打印矩阵1(螺旋矩阵)
- 自定义控件之(上下左右)侧滑页面
- <模板>区间更新,单点查询
- TensorFlow pip安装指定版本命令
- Java反射——获取Class对象
- 基于JQuery的轮播图插件nivo-slider使用教程
- 通往大神之路
- 一个按钮点击隐藏下面内容,再点击显示,并且按钮自己里边的字也在变