matlab将一个数组中的元素转换为整型_Matlab图像处理笔记

e40fb00c1e37dff67c88875740efe0f0.gif Matlab图像处理 e40fb00c1e37dff67c88875740efe0f0.gif

0x01 图像及其操作

1、图像类型

(1)索引图像:是一种把像素值直接作为RGB调色板下标的图像。

(2)灰度图像:是每个像素只有一个采样颜色的图像。

(3)二值图像:是指图像上的每一个像素只有两种可能的取值或灰度等级状态。

(4)RGB图像:图像中每个像素的颜色用三个数据来存储,分别指定红、绿、蓝三原色在像素颜色中的比例关系,组成一个三维数组。

2.图像类型转换

(1)dither:采用抖动的方法,把灰度图像转换为二值图像,或者把RGB图像转换为索引图像;

(2)gray2ind:把灰度图像转换为索引图像;

(3)grayslice:利用给定的灰度阈值,将灰度图像转换为索引图像;

(4)im2bw:利用给定的灰度阈值,将灰度图像、索引图像或RGB图像转换为二值图像;

(5)ind2gray:将索引图像转换为灰度图像;

(6)ind2rgb:将索引图像转换为RGB图像;

(7)mat2gray:通过比例化数据,将矩阵中的数据转换为灰度图像;

(8)rgb2gray:将RGB图像转换为灰度图像;

(9)rgb2ind:将RGB图像转换为索引图像。

3.图像数据

(1)二值图像:logical,元素值为0和1的数组。

(2)索引图像:double,元素值为[1,p]中整数的数组;unit8/unit16,元素值为[0,p-1]中整数的数组。

(3)灰度图像:double,元素值为浮点值的数组,值一般在[0,1]中取值;unit8或

unit16,整型数组,值一般在[0,255]或[0,65535]中取值。

(4)RGB图像:double,m*n*3的数组,元素值为[0,1]中的浮点值;unit8或unit16,m*n*3的数组,元素为[0,255]或[0,65535]中的整型值

4.图像数据处理

(1)读写图像数据:imread()、imwrite();

(2)查询图形文件:imfinfo();

(3)转换图像的存储类型:im2double、

im2unit8、im2unit16。

5.显示图像

(1)图像查看器imtool,图像显示函数imshow.

(2)显示不同类型的图像:索引—imshow(X,map),其他—imshow(I)

(3)特殊显示技巧:动画——immovie(),纹理映射——warp()

0x02 颜色和坐标

1.颜色

(1)屏幕位深

a.8位,一次只能显示256种不同的颜色。

b.16位,红、绿、蓝各有32个深度级别,显示颜色能达到64536种。

c.24位,红、绿、蓝各有256个深度级别,支持16777216种不同的颜色。

d.32位,用24位保存颜色信息,剩下的8位保存透明度数据。

(2)减少图像中的颜色种数

rgb2ind():rgb转二值图像

imapprox():图像颜色近似(抖动)

2.坐标系统

(1)像素坐标:行(c)列(r)表示

(2)空间坐标:行(x)列(y)表示

0x03 图像合成

1.代数运算——加、减、乘、除

imabsdiff:两幅图像的绝对差

imadd:两幅图像的和运算

imcomplement:图像的补运算

imdivide:两幅图像的除运算

imlincomb:计算两幅图像的线性组合

immultiply:两幅图像的积

imsubtract:两幅图像的差

2.逻辑运算——与、或、非、异或

&、|、~、xor

3.关系运算

>、

0x04 空间变换

1.插值

(1)最近邻插值:适用于二值图像

(2)双线性插值:适用于灰度图像和RGB图像

(3)双三次插值:适用于灰度图像和RGB图像

2.图像缩放

imresize([倍数]/[像素大小])

3.旋转图像

imrotate():参数为度数,正数逆时针旋转,负数顺时针旋转

4.图像裁剪

Imcrop():鼠标配合选中裁剪区域

0x05 邻域和块处理

1.滑动邻域操作

conv:卷积和多项式乘法

filter:1维数字滤波器

imfilter:多维图像的ND滤波

nlfilter:通用滑动邻域操作

2.分离块操作

blkproc()

3.列处理

colfilt()

0x06 基于区域的处理

1.对区域进行滤波

roifilt2(): 过滤图像中的关注区域(ROI)

2.填充区域

roifill:填充选中区域

0x07 正交变换

1.离散傅里叶变换(DFT)

fft2():二维快速傅里叶变换

2.离散余弦变换(DCT)

dct2():FFT算法,大输入

dctmtx():DCT变换矩阵,小输入

0x08 数学形态学

膨胀和腐蚀

strel():形态结构要素

1.膨胀图像

imdilate()

2.腐蚀图像

imerode()

bwulterode():最大程度腐蚀

3.组合膨胀和腐蚀

腐蚀和膨胀组合运算

4.开运算

先腐蚀后膨胀

imopen()

bwareaopen()

5.闭运算

先膨胀后腐蚀

imclose()

6.骨架提取

bwmorph()

7.击中击不中

bwhitmiss()

8.顶帽和底帽滤波

顶帽:输入图像和它开运算的插值,可以得到原图中灰度较亮的区域。

底帽:输入图像和它闭运算的插值,可以得到原图中灰度较暗的区域。

imtophat()

imbothat()

0x09 图像分析

1.像素选择

Impixel:可连续选择多个像素,回车后返回像素颜色值(红绿蓝三色)。

2.灰度轮廓

Improfile:拖动鼠标拉一个路径后右击,生成沿此路径的灰度轮廓图。(通过左键单击可以连续选择路径)

3.图形等值线

imcontour():两个参数,前者为输入图像,后者为等值线数

4.图像直方图

imhist()

5.综述统计量

mean2():求灰度图像均值

std2():求灰度图像标准差

corr2():求灰度图像线性或秩相关性

6.区域属性度量

regionprops():两个参数,前者为输入图像,后者为可选属性字符串(20个)

7.分析图象

(1)边缘检测

edge():两个参数,前者为输入图像,后者为分析算法。

算法:Sobel,Prewitt,Roberts,log,zerocross,Canny,approxcanny

(2)边界跟踪

bwboundaries():跟踪二值图像的区域边界

bwtraceboundary():跟踪二值图像中的对象

(3)Hough变换(检测直线)

Hough变换使用直线的参数表示形式来检测直线

hough:hough变换

houghpeaks:指定hough变换峰值

houghlines:提取hough变换线段

0x10 图像增强

1.灰度调整

(1)将灰度调整到一个范围内

imadjust():默认为0-1,也可自定义范围

(2)直方均衡化

histeq():将灰度颜色均衡分布

(3)有限对比适应性直方均衡化

adapthisteq():局部均衡化,直方图服从正态分布

2.去噪

(1)线性滤波

卷积:旋转后卷积核的值与矩阵值乘积的和

相关性:未旋转相关核的值与矩阵乘积的和

Imfilter():两个参数,前者为输入图像,后者为卷积核/相关核矩阵

(2)中值滤波

medfilt2():对邻域的像素值取中值进行滤波

(3)自适应滤波

wiener2():二维自适应去噪滤波

视频链接: 

https://edu.csdn.net/course/play/26944/368087?spm=1002.2009.3001.4024

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值