图像文件的读写、显示及其基本信息的获取
《数字图像处理》实验报告
学院计算机科学与技术学院
年级2013级
专业计算机科学与技术
学号2013434026
姓名__ _ 许林青_____ _____
日期_________2015.9.23____________
实验三图像文件的读写、显示及其基本信息的获取
一、实验内容
1、利用Matlab的Help功能,查找并学会使用图像处理工具箱中的如下命令或函数:(1)读图像: imread()
(2)保存图像: imwrite()
(3)显示图像: imshow()
(4)重开一个绘图窗: figure()
(5)为将多个子图画到一个图上,为子图指定位置: subplot()
(6)返回图像文件的基本信息: imfinfo()
(7)计算图像大小size()
2、编程实现:
(1)读入一幅图像并显示;
(2)查看图像文件的基本信息并计算其大小;
(3)将图像做灰度变换(比如:乘以一个常数)并将其保存;
(4)重开一个绘图窗口,将原图、灰度变换后的图共同显示在其中。
二、实验步骤(程序)及结果
2.(1)
>> I=imread('I:\数字图像\11.bmp');
>> figure(1);
>> imshow(I);
(2)
>> imfinfo('I:\数字图像\11.bmp')
ans =
Filename: 'E:\11.bmp'
FileModDate: '02-Nov-2009 11:49:48'
FileSize: 1440054
Format: 'bmp'
FormatVersion: 'Version 3 (Microsoft Windows 3.x)'
Width: 800
Height: 600
BitDepth: 24
ColorType: 'truecolor'
FormatSignature: 'BM'
NumColormapEntries: 0
Colormap: []
RedMask: []
GreenMask: []
BlueMask: []
ImageDataOffset: 54
BitmapHeaderSize: 40
NumPlanes: 1
CompressionType: 'none'
BitmapSize: 0
HorzResolution: 3780
VertResolution: 3780
NumColorsUsed: 0
NumImportantColors: 0
>> size(I)
ans =
600 800 3(3)
>> J=rgb2gray(I);
>> imshow(I);
>> figure, imshow(J)
(4)
>> I=imread('I:\数字图像\11.bmp');
subplot(211);
imshow(I);
J=rgb2gray(I);
subplot(212);
imshow(J);
三、思考题
1、不重开绘图窗口会怎样?
只能执行最后一条显示图片的命令。
2、imfinfo()和size()返回的信息有何不同?为什么?
imfinfo()获取一张图片的具体信息,size()返回图片的长宽。
数字图像处理实验报告
数字图像处理实验报告实验一数字图像处理编程基础一、实验目的1. 了解MATLAB图像处理工具箱;2. 掌握MATLAB的基本应用方法;3. 掌握MATLAB图像存储/图像数据类型/图像类型;4. 掌握图像文件的读/写/信息查询;5. 掌握图像显示--显示多幅图像、4种图像类型的显示方法;6. 编程实现图像类型间的转换。
二、实验内容1. 实现对图像文件的读/写/信息查询,图像显示--显示多幅图像、4种图像类型的显示方法、图像类型间的转换。
2. 运行图像处理程序,并保存处理结果图像。
三、源代码I=imread('cameraman.tif')imshow(I);subplot(221),title('图像1');imwrite('cameraman.tif')M=imread('pout.tif')imview(M)subplot(222),imshow(M);title('图像2');imread('pout.bmp')N=imread('eight.tif')imview(N)subplot(223),imshow(N);title('图像3');V=imread('circuit.tif')imview(V)subplot(224),imshow(V);title('图像4');N=imread('C:\Users\Administrator\Desktop\1.jpg')imshow(N);I=rgb2gary(GRB)[X.map]=gary2ind(N,2)RGB=ind2 rgb(X,map)[X.map]=gary2ind(I,2)I=ind2 gary(X,map)I=imread('C:\Users\dell\Desktop\111.jpg');subplot(231),imshow(I);title('原图');M=rgb2gray(I);subplot(232),imshow(M);[X,map]=gray2ind(M,100);subplot(233),imshow(X);RGB=ind2rgb(X,map);subplot(234),imshow(X);[X,map]=rbg2ind(I);subplot(235),imshow(X);四、实验效果实验二 图像几何变换实验一、实验目的1.学习几种常见的图像几何变换,并通过实验体会几何变换的效果;2.掌握图像平移、剪切、缩放、旋转、镜像等几何变换的算法原理及编程实现;3.掌握matlab 编程环境中基本的图像处理函数。
MATLAB图像处理
附2
MATLAB的数字图像处理
●所谓数字图像处理(digital image processing),就是 利用计算机对图像进行去除噪声、增强、恢复、分割、
提取特征等的理论、方法和技术。
1 数字图像的基本概念
● 图像分辨率 清晰度 绝对清晰度 视觉效果
● Resolution (分辨率)单位
dpi (display pixels / inch)
汉王指纹考勤机
指纹识别系统
纹形(箕形、斗形、弓形) 模式区 全局特征(描述了 指纹的总体结构) 核心点 三角点
指纹的基本特征
纹数
局部特征(指指纹纹乱上的节点的特征,这 些特征提供了指纹唯一性的确认信息)
指纹识别系统
纹形可以分为箕形、弓形、斗形,如下图所示。其他的 指纹图案都是基于这三种基本图案
箕形纹
●
位图
图像信息的获取与处理
第3章图像信息的获取与处理学习目标:1. 图像,图像的技术参数,图形与图像。
2. 图像数字化及其过程,常见的图像文件格式。
3. 图像获取方法,图像处理的常用软件。
4. 图像的编辑软件——Photoshop。
视觉媒体是人类能直接感知的最丰富的媒体信息,图像是视觉媒体中一种非常重要的表现形式。
在人类能够直接感知的众多媒体信息中,视觉媒体是人类最丰富的信息来源。
统计表明,人类在感知外界信息的过程中,视觉获取的信息高达65%,其次是听觉,约占20%。
人们通过视觉而感知的信息,我们称为视觉媒体。
视觉媒体所包含的内容十分广泛,如图形、图像、文字、动画、景观、物体、人的各种肢体动作等,这些都居于视觉媒体。
事实上,计算机对视觉媒体中的不同对象的表示、处理、显示、存储等方法也是不同的,在多媒体技术的研究与应用中,常常将视觉媒体中的不同对象看做不同的媒体形式,如图像信息、视频信息等,而且通常将这些不向的媒体形式作为多媒体技术的只体研究对象:本章主要讨论的就是图像信息的获取、处理与制作等。
3.1 图像概述3.1.1 基本概念1.什么是图像所谓图,就是指用描绘或摄影等方法获得的外在景物的相似物;所谓像,就是指直接或间接得到的人或物的视觉印象。
一般地讲,图像就是指人类视觉系统所感知的信息形式,或者是人们心目中的有形想象。
在计算机中图像是由扫描仪、摄像机等输人设备捕捉实际的画面产生的数字图像,是由像素点阵构成的仿图。
在计算机对图像进行表示、获取、编辑、显示和存储的多种方式中,点阵图是其中最基本、最常用的一种表现形式。
2.点阵图和矢量图计算机绘图分为点阵图(又称位图或栅格图像)和矢量图形两大类,认识它们的特色和差异,有助于创建、输入、输出、编辑和应用数字图像。
位图图像和矢量图形没有好坏之分,只是用途不同而已。
因此,整合点阵图图像和矢量图形的优点,才是处理数字图像的最佳方式。
点阵图的好处是,色彩变化丰富。
在编辑上,可以改变任何形状区域的色彩显示效果,相应的要实现的效果越复杂,需要的像素数越多,图像文件的大小(长宽)和体积(存储空间)越大。
exifread:读取照片中的exif信息
exifread:读取照⽚中的exif信息今天对象给我发了⼀张照⽚,是真的对象,不是 new 出来的,然后我把照⽚的拍摄地点和拍摄时间提取了出来,收获了⼀个666。
进⼊正题,现如今的智能⼿机在拍摄照⽚时,都含有 Exif(可交换图像⽂件格式,Exchangeable image file format)信息,通过该信息可以获取拍照时的位置、时间,以及⼿机品牌等信息。
那么下⾯就看看如何使⽤ Python 去获取这些信息吧。
Python 想要读取 Exif 信息需要安装⼀个第三⽅库,直接 pip install exifread 即可。
import exifreadwith open("1.jpg", 'rb') as f:# 直接可以拿到⾥⾯的信息,内容⾮常多exif = exifread.process_file(f)# 这⾥我们选⼀些常⽤的,⾥⾯的 value 我们需要转成字符串# 不转成字符串的话看起来会⽐较费劲print("图⽚宽度:", str(exif["Image ImageWidth"]))print("图⽚⾼度:", str(exif["Image ImageLength"]))print("⼿机品牌:", str(exif["Image Make"]))print("⼿机型号:", str(exif["Image Model"]))print("拍摄时间:", str(exif["Image DateTime"]))print("经度:", str(exif["GPS GPSLongitude"]))print("东经还是西经:", str(exif["GPS GPSLongitudeRef"]))print("纬度:", str(exif["GPS GPSLatitude"]))print("南纬还是北纬:", str(exif["GPS GPSLatitudeRef"]))"""图⽚宽度: 3968图⽚⾼度: 2976⼿机品牌: HUAWEI⼿机型号: EML-AL00拍摄时间: 2021:07:08 19:52:23经度: [116, 28, 5973999/100000]东经还是西经: E纬度: [39, 59, 1255371/200000]南纬还是北纬: N"""还是⽐较简单的,但是⾥⾯的经度和纬度⽐较怪,我们还需要再对其转化⼀下。
5.3图像信息的采集
5.3.1 基本概念的介绍
1. 图像类型:位图和矢量图 2. 像素和分辨率
3. 常用文件格式
1. 图像类型:位图和矢量图
位图和矢量图,是根据软件运用以及最终存 储方式的不同而生成的两种不同的文件类型。 在图像处理过程中,分清位图和矢量图的不同 性质是非常有必要的。
缺点 制作3D影像 制作软件
常用的文件 格式
2. 像素和分辨率
像素与分辨率是Photoshop中最常用的两个概念,对它们的 设置决定了文件的大小及图像的质量。
一、像素
像素(Pixel)是组成图像的基本单位,比如对一幅标 有1024×768像素的图像而言,就表明这幅图像的长边有 1024个像素,宽边有768个像素,1024×768=786432,即 这是一幅具有近80万像素的图像。
多媒体是承载诸如:文本、图像、声音、动画等 多种信息的载体。
5.3 图像信息的采集及加工
主讲人:吴卫珍
学习目标
体验图像的独特魅力
了解图像的两种不同类型 知道数字化图像的采集途径 体验利用Photoshop进行简单的图像加工
任务:对比图像、文字、语言,说出图像的优势
2010上海世博会中国国家馆介绍: 居中升起、层叠出挑,采用极富中国建筑文化元素的红色“斗冠”造 型,建筑面积46457平方米,高69米,由地下一层、地上六层组成;地区馆 高13米,由地下一层、地上一层组成,外墙表面覆以“叠篆文字”,呈水平 展开之势,形成建筑物稳定的基座,构造城市公共活动空间。
1.下列不属于常见图象格式的是( ) A、 jpg B、 bmp C psd D、doc 2.矢量图形和位图图形相比,矢量图形的优点是( ) A、变形、放缩不影响图形显示质量 B、色彩丰富 C、图像所占空间大 D、易制作色彩变化多的图像 3."某同学从网上下载了若干幅有关奥运会历史的老照片,需 要对其进行旋转、裁切、色彩调校、滤镜调整等加工,可选择 的工具是( )。 A、Windows自带的画图程序 B、Photoshop C、Flash D、CorelDraw 下列不属于计算机多媒体技术应用的是( ) A.、视频会议系统 B、远程医疗会诊系统 C、多媒体电子学习光盘 D、EXCEL数据统计 4.为了实现图像缩放时不失真,我们往往选用___软件来绘制 编辑图像。 A 、画图 B、ACDsee C、会声会影 D、Flash 5.“我们的家用电脑既能听音乐,又能看影碟,这是利用了计 算机的() A、人工智能技术 B、自动控制技术 C、多媒体技术 D、信息管理技术
数字图像处理上机报告
数字图像处理上机报告时间:2020年08月02日编稿:作者四第一篇:数字图像处理上机报告练习一常用MATLAB图像处理命令一、练习目的1、熟悉并掌握MATLAB工具的使用;2、实现图像的读取、显示、代数运算和简单变换。
二、练习环境Windows操作系统Matlab 6.5或以上应用软件三、练习内容1、图像文件的读写(1)imread函数用来实现图像文件的读取。
输入以下程序: A=imread('文件名.扩展名');%用imread函数来读入图像注:设置路径 imshow(A);%用imshow函数来显示图像得到的结果如图:(2)imfinfo函数用来查询图像文件信息。
输入以下程序:info=imfinfo('文件名.扩展名');% 用imfinfo函数查询图像文件信息得到: info =Filename: '文件名.扩展名'(4)imshow函数用来显示图像。
刚才介绍imread函数时已使用此函数。
(5)colorbar函数将颜色条添加到坐标轴对象中。
输入以下程序:RGB=imread('***');%图像读入I=rgb2gray(RGB);%把RGB图像转换成灰度图像imshow(I),colorbar('vert')% 将颜色条添加到坐标轴对象中得到如图:2、图像处理的基本操作一、图像代数运算(1)imadd函数实现两幅图像的相加或者给一幅图像加上一个常数。
给图像每个像素都增加亮度的程序如下: I=imread('***'); J=imadd(I,100);%给图像增加亮度 subplot(1,2,1),imshow(I) %填充 subplot(1,2,2),imshow(J) 结果如图5。
(2)imsubtract函数实现从一幅图像中减去一个常数。
输入以下程序实现从一幅图像中减去一个常数:(3)immultiply实现两幅图像的相乘或者一幅图像的亮度缩放(图像乘以小于1或大于1的参数,比较效果)。
图形图像素材的获取与处理
图形图像素材的获取与处理1.图形、图像素材的获取数字图形、图像能够提供大量丰富的教学信息,而且形象直观、生动易懂。
要获取和教学主题相关的数字图形、图像素材,能够采用多种途径,如从网络上下载,利用数码相机拍摄,或者利用图像处理软件加工制作,或者利用扫描仪将现有的普通图片转化为数字图像。
如何快速完成一幅图像的采集和编辑操作,能够采用三个简单的方法。
一是利用Windows操作系统提供的屏幕拷贝快捷键PrintScreen,缩写形式为PrtSc。
二是利用HyperSnap抓图软件截取计算机屏幕上的画面。
三是利用QQ聊天中的抓图到对话框中,然后使用右键点击图片,选择另存为即可。
2.用画图软件实行图像处理获取的数字图像,绝大部分并不理想,比如图像的尺寸、格式或色彩并不符合要求,或许还希望给这幅图像添加文字注释,这时就需要图像编辑软件一显身手了。
常用的图像编辑软件除Photoshop外,还有几款实用的小软件,这些软件简单易用,能够对图像实行简单、方便的编辑处理。
①图片无损放大软件BenVista PhotoZoom Pro:BenVista PhotoZoom Pro是一款新颖的、使用革命性技术对数码图片无损放大的工具。
通常的软件在放大图片时,总会降低图片的品质,而PhotoZoom Pro使用了S-Spline Max 技术,这是一种拥有自动调节、高级插值算法的专利技术,能够尽可能地提升放大图片的品质。
PhotoZoom Pro的最大特色是能够对图片实行放大而没有锯齿、较少失真。
②智能全自动图像去水印软件Teorex Inpaint:Inpaint 是一款能够从图像上去除不必要的物体,让您轻松摆脱照片上的水印,划痕,污渍,标识等瑕疵的工具,同时npaint 会根据附近图像区域重建擦除的区域, 智能生成的纹理,使图像看起来完美无暇,没有痕迹。
③方便强大的全能图像软件ACDSee(奥视迪):ACDSee是世界上排名第一的数字图象处理软件,它能广泛应用于图片的获取、管理、浏览、优化!使用ACDSee最享盛名的图片浏览器,您可以从数码相机和扫描仪高效获取图片,并进行便捷的查找、组织和预览。
读取文件元数据的方法
读取文件元数据的方法
1. 使用Python读取文件元数据,在Python中,你可以使用内
置的os模块或者第三方库如exifread来读取文件的元数据。
os模
块提供了一些函数来获取文件的基本信息,比如文件大小、创建时间、修改时间等。
而exifread库则专门用于读取图片文件的元数据,比如拍摄时间、相机型号、曝光时间等。
2. 使用Java读取文件元数据,在Java中,你可以使用
java.io包中的File类来获取文件的基本信息,比如文件大小、路径、最后修改时间等。
如果需要读取特定类型文件的元数据,比如
图片或音频文件,可以使用第三方库如metadata-extractor来实现。
3. 使用C#读取文件元数据,在C#中,可以使用System.IO命
名空间中的FileInfo类来获取文件的基本信息,比如文件大小、创
建时间、访问时间等。
对于特定类型文件的元数据,可以使用相关
的第三方库来实现,比如TagLib#用于读取音频文件的元数据。
4. 使用JavaScript读取文件元数据,在浏览器端的
JavaScript中,可以使用File API来获取文件的基本信息,比如
文件名、大小、最后修改时间等。
对于图片文件,可以使用HTML5
中的新特性FileReader来读取图片的元数据。
总的来说,读取文件元数据的方法取决于所用的编程语言和文件类型,通常可以通过内置的库或第三方库来实现。
希望这些信息能够帮助到你。
tiff读取规则
tiff读取规则【原创实用版】目录1.TIFF 文件概述2.TIFF 文件的结构3.TIFF 文件的读取规则4.TIFF 文件读取工具和库5.总结正文1.TIFF 文件概述TIFF(Tagged Image File Format)是一种灵活、可适应性强的位图图像格式,主要用于存储高质量的位图图像。
TIFF 文件由三部分组成:图像数据、图像头部和图像尾部。
图像头部包含图像的基本信息,如图像大小、颜色深度、压缩方式等;图像尾部主要存储一些附加信息,如图像作者、版权等。
2.TIFF 文件的结构TIFF 文件的结构遵循一个简单的原则:图像数据位于图像头部和图像尾部之间。
图像头部位于文件的开头,包含一个或多个 IFD(Image File Directory)块。
IFD 块存储了图像的基本信息,如宽度、高度、颜色深度、压缩方式等。
图像尾部位于文件的末尾,包含一个或多个 IFE(Image File Extension)块。
IFE 块存储了图像的附加信息,如图像作者、版权等。
3.TIFF 文件的读取规则要读取 TIFF 文件,需要遵循以下规则:(1)从文件的开头找到图像头部,并解析 IFD 块。
(2)根据 IFD 块中的信息,确定图像的尺寸、颜色深度、压缩方式等信息。
(3)从文件的合适位置读取图像数据。
根据图像的压缩方式,可能需要使用不同的方法读取图像数据。
例如,对于无损压缩的图像,可以直接读取图像数据;对于有损压缩的图像,需要先解压缩再读取图像数据。
(4)读取图像数据后,可以根据需要对图像进行处理。
例如,将图像转换为其他格式、调整图像大小、应用滤镜等。
(5)在处理完图像后,可以读取图像尾部的 IFE 块,获取图像的附加信息。
4.TIFF 文件读取工具和库有许多工具和库可以用于读取 TIFF 文件。
例如,Python 的 PIL (Python Imaging Library)库、Java 的 Java Advanced Imaging(JAI)库等。
gdal读写图像分块处理(精华版)
gdal读写图像分块处理(精华版)/* 版权所有者:赵文 */一.gdal进行数据操作在安装好gdal后,即可调用gdal库中的函数。
(需要包含的头文件:gdal_priv.h)1.打开数据集使用gdal库进行数据(影像)操作的第一步就是打开一个数据集。
对于“数据集”这个名词大家可能不会太习惯,但是对于一般的格式来说,一个“数据集”就是一个文件,比如一个TIFF文件就是一个以tiff为扩展名的文件。
但是对于众多RS 数据来说,一个数据集包含的绝对不仅仅是一个文件。
对于很多RS数据,他们把一张图像分成数个图像文件,然后放在一个文件夹中,用一些额外的文件来组织它们之间的关系,形成一个“数据集”(有点难以理解,暂且放过)。
下面我们由给定的文件路径文件名打开一个tiff(GeoTIFF)文件。
(任何支持的格式,打开方式都是这样)CString strFilePath;StrFilePath=’d:/rsdata/2005_234.tif’;GDALDataSet *poDataset; //GDAL数据集GDALAllRegister();poDataset = (GDALDataset *) GDALOpen(strFilePath, GA_ReadOnly );这样我们就打开了这个文件。
通过数据集poDataset即可调用各功能函数,如: GetRasterCount();//获取图像波段数;GetRasterXSize();//获取图像宽度GetRasterYSize();//获取图像高度GetRasterBand();//获取图像某一波段GetGeoTransform(double *p);//获取图像地理坐标信息长度为六的数组RasterIO();//对图像数据进行缩放读和写……(更具体的API列表可以看这里)。
2.获取图像信息、读取图像打开文件后,下面要做的就是获取文件的相关信息保存在相应变量中,将图像数据读入内存中,等待后续处理了。
