文档章节

MATLAB数字图像处理之一:初识数字图像处理

天蚕宝衣
 天蚕宝衣
发布于 2017/03/16 18:23
字数 1641
阅读 56
收藏 0

MATLAB数字图像处理初步

一.实验目的

1.掌握MATLAB的基本操作。

2.了解数字图像处理在MATLAB中的基本处理过程。

3.学习图像处理的简单操作方法。

二.实验设备

1.PC机一台;

2.软件matlab;

三.程序设计

1. 图像读取:imread(‘图像路径’)

Help:

imread

Read image from graphics file

Syntax

A = imread(filename, fmt)

[X, map] = imread(…)

[...] = imread(filename)

[...] = imread(URL,…)

[...] = imread(…,Param1,Val1,Param2,Val2…)

2. 图像显示:imshow(‘图像路径’)

Help:

imshow

Display image

Syntax

imshow(I)

imshow(I,[low high])

imshow(RGB)

imshow(BW)

imshow(X,map)

imshow(filename)

himage = imshow(…)

imshow(…, param1, val1, param2, val2,…)

3. 图像信息提取:whos ’’

Help:

who, whos

List variables in workspace

Graphical Interface

As an alternative to whos, use the Workspace browser. For information on viewing the contents of MAT-files without loading them, see Using the Current Folder Browser.

Syntax

who

whos

who(variable_list)

whos(variable_list)

who(variable_list, qualifiers)

whos(variable_list, qualifiers)

s = who(variable_list, qualifiers)

s = whos(variable_list, qualifiers)

who variable_list qualifiers

whos variable_list qualifiers

4. 获取图像文件压缩颜色等其他信息:imfinfo(‘图像路径’)

Help:

imfinfo

Information about graphics file

Syntax

info = imfinfo(filename,fmt)

info = imfinfo(filename)

info = imfinfo(URL,…)

5. 压缩图像并保存成jpg: imwrite

imwrite(f,’filename.jpg’,’quality’,q) 0<=q<=100

6. 将tif存为bmp:imwrite(‘源图像路径’,‘保存路径’,‘bmp’)

Help

imwrite

Write image to graphics file

Syntax

imwrite(A,filename,fmt)

imwrite(X,map,filename,fmt)

imwrite(…,filename)

imwrite(…,Param1,Val1,Param2,Val2…)

7. 灰度图像转二值图像:im2bw()

Help

im2bw

Convert image to binary image, based on threshold

Syntax

BW = im2bw(I, level)

BW = im2bw(X, map, level)

BW = im2bw(RGB, level)

8. RGB图像创建灰度图像:rgb2gray()

Help

rgb2gray

Convert RGB image or colormap to grayscale

Syntax

I = rgb2gray(RGB)

newmap = rgb2gray(map)

9. 多幅图像在同一个窗口显示:subplot(1,2,1),imshow(A);subplot(1,2,2),imshow(B)

Help:

subplot

Create axes in tiled positions

Syntax

h = subplot(m,n,p) or subplot(mnp)

subplot(m,n,p,’replace’)

subplot(m,n,P)

subplot(h)

subplot(‘Position’,[left bottom width height])

subplot(…, prop1, value1, prop2, value2, …)

h = subplot(…)

四.实验步骤

1. 读取一幅图像,将其存入一个数组中;

2. 显示这幅图像;

3. 提取该图像的基本信息;

4. 获取图像文件的压缩,颜色等等其他的详细信息;

5. 压缩这幅图象,将其保存为一幅压缩了像素的jpg文件;

6. 将最初读入的tif图象另存为一幅bmp图像;

7. 将一幅灰度图像转化为二值图像,并且显示出来,观察图像的特征;

8. 根据RGB图像创建一幅灰度图像;

9. 多幅图像在同一个窗口内显示;

五.实验结果

为了方便代码书写,将matlab的工作路径设置为了所有图片所在的文件夹,也就是F:envimatlab上机实验imdemos,从而写代码时,可以省略路径。

1. 读取一幅图像,将其存入一个数组中;

A= imread(‘cameraman.tif’)

2. 显示这幅图像;

Imshow(A)

MATLAB数字图像处理初步实验报告

3. 提取该图像的基本信息;

Whos A

MATLAB数字图像处理初步实验报告

4. 获取图像文件的压缩,颜色等等其他的详细信息;

imfinfo cameraman.tif

MATLAB数字图像处理初步实验报告

5. 压缩这幅图象,将其保存为一幅压缩了像素的jpg文件;

imwrite(A,’1cameraman.jpg’,’quality’,50)

压缩前: 大小为60多k

MATLAB数字图像处理初步实验报告

压缩后:大小为6k多

MATLAB数字图像处理初步实验报告

6. 将最初读入的tif图象另存为一幅bmp图像;

imwrite(A,’cameraman.bmp’,’bmp’)

7. 将一幅灰度图像转化为二值图像,并且显示出来,观察图像的特征;

B=im2bw(A)

subplot(1,2,1),imshow(A);subplot(1,2,2),imshow(B)

MATLAB数字图像处理初步实验报告

8. 根据RGB图像创建一幅灰度图像;

C=imread(‘greens.jpg’)

D=rgb2gray(C)

subplot(1,2,1),imshow(C);subplot(1,2,2),imshow(D)

MATLAB数字图像处理初步实验报告

9. 多幅图像在同一个窗口内显示;

subplot(2,2,1),imshow(A);subplot(2,2,2),imshow(B);

subplot(2,2,3),imshow(C);subplot(2,2,4),imshow(D)

MATLAB数字图像处理初步实验报告

六、问题与思考:

1. Matlab软件可以支持哪些图像文件格式?

⑴JPEG(Joint Photogyaphic Expeyts Group):一种称为联合图像专家组的图像压缩格式。

⑵BMP(Windows Bitmap):有1位、4位、8位、24位非压缩图像,8位RLE(Run length Encoded)的图像。文件内容包括文件头(一个BITMAP FILEHEADER数据结构)、位图信息数据块(位图信息头BITMAP INFOHEADER和一个颜色表)和图像数据。

⑶PCX(Windows Paintbrush):可处理1位、4位、8位、16位、24位等图像数据。文件内容包括文件头、图像数据和扩展色图数据。

⑷TIFF(Tagged Iamge File Format):处理1位、4位、8位、24位非压缩图像,1位、4位、8位、24位packbit压缩图像,1位CCITT压缩图像等。文件内容包括文件头、参数指针表与参数域、参数数据表和图像数据四部分。

⑸PNG(Portable Network Graphics):包括1位、2位、4位、8位和16位灰度图像,8位和16位索引图像,24位和48位真彩色图像。

⑹GIF(Graphics Interchange Format):任何1位到8位的可交换的图像。

⑺HDF(Hierarchial Data Format):有8位、24位光栅图像数据集。

⑻ICO(Windows Icon resource):有1位、4位、8位非压缩图像。

⑼CUR(Windows Cursor resource):有1位、4位、8位非压缩图像。

⑽XWD(X Windows Dump):包括1位、8位Zpixmaps,XYBitmaps,XYPixmmmaps。

⑾RAS(Sun Raster image):有1位bitmap、8位索引、24位真彩色和带有透明度的32位真彩色。

⑿PBM(Portable Bitmap)。

⒀PGM(Portable Graymap)。

⒁PPM(Portable Pixmap)。

2. 说明函数imread 的用途格式以及各种格式所得到图像的性质。

imread的常见调用格式为:

A = imread(filename,fmt)

其作用是将文件名用字符串filename表示的,扩展名用fmt表示的图像文件中的数据读到矩阵A中。如果filename所指的为灰度级图像,则A为一个二维矩阵;如果filename所指的为RGB图像,则A为一个m×n×3的三维矩阵。Filename表示的文件名必须在MATLAB的搜索路径范围内,否则需指出其完整路径。

imread的其他几种重要的调用格式为:

[X,map] = imread(filename.fmt)

[…] = imread(filename)

[…] = imread(URL,…)

[…] = imread(…,idx) (CUR,ICO and TIFF only)

[…] = imread(…,’frames’,idx) (GIF only)

[…] = imread(…,ref) (HDF only)

[…] = imread(…,’BackgroundColor’,BG) (PNG only)

[A,map,alpha] = imread(…) (ICO,CUR and PNG only)

上面一些参数的含义如下:idx是指读取图标(cur、ico、tiff)文件中第idx个图像,默认值为1。’frame’,idx是指读取gif文件中的图像帧,idx值可以是数量、向量或’all’。ref是指整数值。alpha是指透明度。

3. 为什么用I = imread(‘lena.bmp’) 命令得到的图像I 不可以进行算术运算?

MATLAB系统默认的算术运算是针对双精度类型(double)的数据,而上述命令产生的矩阵的数据类型是无符号8位(MATLAB为图像提供的特殊的数据类型),直接进行运算会溢出。

本文转载自:http://www.jishuzh.com/gis/matlab%E6%95%B0%E5%AD%97%E5%9B%BE%E5%83%8F%E5%A4%84%E7%90%86%E5%88%9D%E6%

共有 人打赏支持
天蚕宝衣
粉丝 20
博文 239
码字总数 179054
作品 0
天津
【工具使用系列】关于 MATLAB 图像处理工具箱,你需要知道的事

如何使用 MATLAB 图像处理工具箱 MATLAB 图像类型转换 图像文件的读写和查询 图像文件的显示 不同类型的图像显示方法 什么是 MATLAB 图像处理工具箱 图像 图像的概念 图像的分类 图像的表示 ...

AllenMoore
01/28
9
0
数字信号处理、数学形态学、MATLAB GUI实现简单找茬软件

0、简介   这个小作品是我的数字图像处理课程设计,应用基本的图像处理知识与MATLAB的基本脚本编程,实现一个简单的找茬软件。软件实现过程中使用到的找茬游戏图片来源有“梦幻找茬”、“图...

Vitcou
07/11
0
0
DIP课程大作业---图像分割

数字图像处理课程的大作业,要求如下: 图像分割就是把图像分成若干个特定的、具有独特性质的区域并提出感兴趣目标的技术和过程。它是由图像处理到图像分析的关键步骤。现有的图像分割方法主...

sirius_0
2015/06/07
0
0
带你认识计算机视觉(Computer Vision)

如果想要机器能够进行思考,我们需要先教会它们去看。 李飞飞——Director of Stanford AI Lab and Stanford Vision Lab 计算机视觉(Computer vision)是一门研究如何使机器“看”的科学,更...

喵妹
05/16
0
0
(三)matlab数字图像处理实验-图像灰度变换处理

前两节都是熟悉一下怎么在matlab底下对图片做一些操作,并没有什么卵用,这一节稍微有点卵用,灰度变换一般是图像处理的第一步。 数字图像处理实验1-9点击下列链接有源码和链接: matlab数字...

aninstein
01/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Cointext在阿根廷和土耳其推出比特币现金短信钱包

Cointext于10月15日开始在土耳其和阿根廷提供新的基于SMS的比特币现金钱包服务,这两个国家的加密货币使用量急剧上升,以应对严峻的经济形势。 移动钱包 通过短信处理BCH交易 “比特币是更好...

lpy411
33分钟前
1
0
大数据早课-0918

9.18日早课 1.全局搜索含有abc的文件名称或文件夹的命令 2.当前目录一般用什么表示 3.切换到上一次和上一层命令分别是什么 4.pwd是查看当前目录的什么 5.隐藏文件或文件夹的标识是什么? 怎样...

hnairdb
33分钟前
1
0
mybatis学习笔记一

一、mybaits需要的项目依赖 <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --> <dependency> <groupId>org.mybatis</groupId> <artif......

wuyiyi
34分钟前
2
0
CentOS6 安装 GraphicsMagick

1.安装相关依赖: yum install -y gcc libpng libjpeg libpng-devel libjpeg-devel ghostscript libtiff libtiff-devel freetype freetype-devel 2.下载并解压到目录/usr/local/ wget ft......

凯文加内特
36分钟前
1
0
RabbitMq集群使用Nginx做负载均衡

1.配置rabbitmq集群(可以参考前一篇RabbitMq之部署集群) 2.Nginx做负载均衡 注意:Nginx1.90版本后 新增了stream 模块用于一般的 TCP 代理和负载均衡,之前版本不支持 修改Nginx配置文件ngi...

zhaochaochao
41分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部