图像处理笔记(2)

数字图像文件简介

图像的格式就是图像文件的数据构成,每种文件均有一个文件头,文件头之后才是图像数据。文件头的内容由制作该文件的公司决定,一般包括文件类型、文件制作者、制作时间、版本号和文件大小等内容。

1、  BMP文件

BMP(Bitmap,位图)是Windows操作系统的标准图像文件格式。特点是图像信息较丰富,几乎不用进行压缩,缺点是占用磁盘空间大。

2、  GIF文件

GIF(Graphics Interchange Format)的原意是“图像互换格式”,文件数据是基于LZW算法的连续色调的无损压缩格式,压缩率50%,特点是可以存储多幅彩色图像,如果把存于文件中的多幅图像数据依次读出显示在屏幕上,就可以构成简单的动画。总之其具有很好的压缩率和动画功能。

3、  JPEG图像格式

JPEG(Joint Phtographer`s Experts Group)即联合图像专家组,文件后缀名.jpg或者.jpeg,是一种有损压缩格式,主要压缩的是高频信息,对色彩的信息保留较好,适合应用在互联网

4、  ICO文件

ICO文件是Windows的图标文件格式的一种,可以存储单个图案、多尺寸、多色版的图标文件

5、  HDF文件

层次型数据格式(Hierarchical Data Format)可以存储不同类型的图像和数码数据的文件格式。特点:一是层次表达,灵活表达文件中不同数据元素之间的逻辑关系;二是B树存储,主要是体现存储的层次性;三是面向对象,指对对象的重用,降低数据的冗余度。

6、  PNG文件

流式网络图形格式(Portable Network Graphic Format)一种位图存储格式,目的是代替GIF格式,具有压缩比例高,文件容量小,一般用于JAVA程序和网页中。

7、  TIFF文件

标签图像文件格式(Tagged Image File Format)用来存储包括照片和艺术照在内的图像文件格式。

8、  DICOM

数学影像和通信标准(Digital Imaging and Communication in Medicine) 应用于医疗影像相关的信息系统。

 

 

MATLAB简介

MATLAB是一套优秀的数值计算应用软件,集数学运算,数值分析,矩阵运算,可视化功能和开放式环境于一体,病附带三十多种面向不同领域的工具箱,使其成为科学领域中计算机辅助设计和分析、算法研究和应用开发的主要工具之一,它在信号数据处理,系统建模和仿真,科学和工程绘图以及应用程序开发等方面得到了广泛的应用。

 

MATLAB 矩阵建立

1、三维数组的建立

要创建多维矩阵,需要用到cat函数,调用形式如下:

A = cat(n,A1,A2,A3, … ,Am)

其中,n是希望构建的数组维数,A1,A2,A3, … ,Am分别是m个二维数组,由这样m个二维数组构成的三维数组的第三维的维数为m,函数输出值A,是一个由n指定维数的数组。

>> a1 = [1,2,3;4,5,6,;7,8,9];

>> a2 = a1';

>> a3 = a1 -a2;

>> a4 = cat(3,a1,a2,a3)

 

a4(:,:,1) =

    1     2     3

    4     5     6

    7     8     9

a4(:,:,2) =

    1     4     7

    2     5     8

    3     6     9

a4(:,:,3) =

    0    -2    -4

    2     0    -2

    4     2     0

2、矩阵访问

一是根据下标访问

二是根据序号访问,先将矩阵转换为一维向量,然后根据每个元素在向量中的序号访问

二维转一维注意顺序,起始是U型

 

 

 

 

 

矩阵运算

1、  基本算术运算

+(加),-(减),*(乘),/(右除),\(左除),^(乘方)。

矩阵除法有两种,如果是两个矩阵之间,A\B相当于A的逆左乘B,等效于inv(A)*B;B/A相当于A矩阵的逆右乘B,等效于B*inv(A).

2、  点运算

点运算有.* 、./、.\、.^四种。两矩阵的点运算指它们对应的元素相关的运算,要求两个矩阵的维数尺寸相同。

3、  关系运算

六种<、>、>=、<=、==、~=(不等于),标量之间,若关系成立结果为1,否则为0;维度相同的矩阵之间,是相同位置进行比较;标量与矩阵是标量与矩阵逐次比较。

4、逻辑运算

&(与)、|(或)、~(非)

5、矩阵其他运算

(1)求逆函数 inv()

(2)行列式的值 det()

(3)对角矩阵 diag()

(4)矩阵转置  “’”

6、矩阵其他操作

(1)size:矩阵尺寸

                   [m,n] = size(A);

                   返回矩阵A的行列数保存在m,n中

(2)abs:求绝对值

         Z = abs(A);

         返回矩阵A中每个元素的绝对值

(3)max: 求最大值

         Z = max(A)

返回矩阵A中每一列的最大值

(4)min: 求最小值(同上)

(5)sum:求和

         Z = sum(A)

         返回矩阵A每一列的和

(6)floor:向下取整

         B = floor(A)

         返回小于或等于A的整数值,对于复数来说,分别对A的实部和虚部进行运算

(7)ceil: 向上取整(同上)

(8)round: 取近似整数值

         Y = round(X)

         返回距离X最近的整数值

(9)fix: 取整数部分

         B = fix(A)

         返回A的整数部分,小数部分为0

(10)find:查找非零值

         ind = find(S)

         查找矩阵S中非零的元素,返回向量为非零元素的一维位置

(11)ind2sub :一维序号到二维序号的转换

         [x,y] = Ind2sub([m,n],index);

         该函数将一维序号index转换成m*n的二维矩阵中坐标[x,y]

(12) reshape: 矩阵变形函数

       Z= reshape(X,m,n);

       将矩阵X按照U型顺序转换为m*n的矩阵

(13)repmat: 矩阵复制函数

         Z= repmat(X,m,n);

         该函数将矩阵X在水平方向复制m个,在竖直方向复制n个。

(14)padarray: 矩阵元素补充函数

         Padarray(X,[m,n],vaule,parameters)

         该函数按照给定的x,y方向补充元素数目[mn],补充元素值value和补充方式参数parameters,来补充矩阵

(15)fliplr: 矩阵左右颠倒

         B= fliplr(A)

         将矩阵的列顺序颠倒赋值给B

(16)flipud: 矩阵上下颠倒

         B= flipud (A)

         将矩阵的行顺序颠倒赋值给B

(17)circshift: 矩阵循环移位

         B= circshift(A,[m,n]);

         将矩阵A行顺序移位m,列顺序移位n;m正则向下,负则向上,n同理

(18)numel: 统计矩阵元素数目

         N= numel(A)

         该函数返回矩阵A中所有元素的数目

(19)sum:求向量中所有元素的和

         S= sum(v);

求向量v中所有数据的和

(20)median: 求平均值

                   M = median(v)

                   求向量v中所有元素的平均值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值