大多数图像处理任务的第一步是将图像加载到Octave中,这是用imread
作用这个imwrite
函数是将图像写入磁盘的相应函数。
总之,大多数图像处理代码都将遵循此代码的结构体
I=imread(“my_input_image.img”);J=process_my_image(I);imwrite(J,“my_output_image.img”);
[img, map, alpha] =
imread (filename)
¶[…] =
imread (url)
¶[…] =
imread (…, ext)
¶[…] =
imread (…, idx)
¶[…] =
imread (…, param1, value1, …)
¶读取各种文件格式的图像。
从文件中以矩阵形式读取图像filename或来自在线资源url。如果两者都没有给出,但是提取已指定,正在查找扩展名为的文件提取.
输出的大小和类别取决于图像的格式。彩色图像以MxNx3矩阵的形式返回。灰度和黑白图像的大小为MxN。多页图像将具有额外的第4个维度。
图像的位深度决定了输出的类别:uint8
, uint16
或single
对于灰度和颜色,以及logical
用于黑白。请注意,索引图像总是返回颜色map的索引,而与是否地图是指定的输出。要获得实际的RGB图像,请使用ind2rgb
当正在读取一个以上的索引图像时,地图是从第一个中获得的。在极少数情况下,这可能是不正确的,并且imfinfo
可以用来获得每个图像的颜色图。
有关表示图像的更多信息,详见Octave手册。详见表示图像)
某些文件格式,如TIFF和GIF,能够在一个文件中存储多个图像。idx可以是指定要读取的图像索引的标量或向量。默认情况下,Octave将只读取第一页。
根据文件格式的不同,可以使用配置图像的读取param, value对。支持以下参数:
框架
或指数
这是另一种指定方法idx。以这种方式指定itin时,其值也可以是字符串全部的
.
信息
此参数存在于MATLAB兼容性,但没有效果。从单个文件读取多个图像时的最大性能,请使用指数
参数
PixelRegion
控制读取的图像区域。该值必须是一个包含两个3个元素的数组的元胞数组{[排], [cols]}
数组中的元素是要读取的开始像素、增量像素和结束像素。如果忽略增量值,则默认为1。例如,以下内容都是等效的:
imread(文件名,“PixelRegion”,{[200 600],[300 700]});imread(文件名,“PixelRegion”,{[200 1 600],[300 1 700]});imread(文件名)(200:600、300:700);
(img, filename)
¶(img, filename, ext)
¶(img, map, filename)
¶(…, param1, val1, …)
¶以各种文件格式写入图像。
图像img可以是二进制、灰度、RGB或多维图像。的大小和级别img应该与阅读时预期的内容相同imread
:第3和第4维度分别用于颜色空间和多个页面。如果是索引图像,颜色图地图还必须指定。
如果提取的文件扩展名filename用于确定格式。实际支持的格式是在Octave的构建过程中所做的依赖参数。使用im格式
以检查对不同图像格式的支持。
根据文件格式的不同,可以使用配置图像的写入param, val对。支持以下参数:
图像的Alpha(透明度)通道。这必须是一个具有相同类、行数和列数的矩阵img在第二页图像的情况下,第四维度的大小也必须匹配,并且第三维度必须是单体。默认情况下,图像将完全不透明。
压缩以使用一个图像。可以是以下其中之一:“none”(默认值)、“bzip”、“fax3”、“fax4”、《jpeg》、“lzw”、“rle”或“deflate”。请注意,并非所有压缩类型都可用于默认为Magick库的所有图像格式。
对于接受动画的格式(如GIF),控制帧移动到下一帧之前的显示时间。该值必须是标量(将应用于中的所有帧img),或长度等于中帧数的向量感应电动机。该值以秒为单位,必须介于0和655.35之间,默认值为0.5。
对于接受动画的格式(如GIF),控制在绘制下一帧之前一帧的内容。其值可以是以下字符串之一:“doNotSpecify”(默认值);“leaveInPlace”;“restoreBG”;和“restorePrevious”,或长度等于中帧数的字符串的元胞数组img.
对于接受动画的格式(如GIF),控制序列重复的次数。值Inf表示无限循环(默认值),值0或1表示序列只播放一次(循环0次),而值2或以上表示循环该次数(循环2次表示完整序列播放3次)。当文件写入结束时只有一个图像时,此参数将被忽略。
设置压缩质量。该值应为0和100之间的整数,较大的值表示较高的视觉质量和较低的压缩。默认值为75。
某些文件格式,如TIFF和GIF,能够在一个文件中存储多个图像。此参数指定如果img应附加到文件(如果存在),或者是否应为其创建新文件(可能覆盖现有文件)。值应该是字符串覆盖
(默认),或追add
.
尽管有这个参数,但写多页图像最有效的方法是通过4维img到imwrite
,使用时可以预期的相同矩阵imread
带有参数指数
设置为全部的
.
val =
IMAGE_PATH ()
¶old_val =
IMAGE_PATH (new_val)
¶old_val =
IMAGE_PATH (new_val, "local")
¶查询或设置内部变量,该变量指定要在其中搜索图像文件的目录的冒号分隔列表。
当从具有的函数内部调用时地方的
参数,则该变量会为函数及其调用的任何子程序在本地进行更改。退出函数时将恢复原始变量值。
详见: EXEC_PATH, Octave主机, OCTAVE_EXEC_HOME.
可以获得磁盘上图像文件的信息,而无需实际将其读入Octave。这是使用imfinfo
函数,它提供对存储在图像文件头中的许多参数的读取访问。
info =
imfinfo (filename)
¶info =
imfinfo (url)
¶info =
imfinfo (…, ext)
¶从文件中读取图像信息。
imfinfo
返回一个结构体,该结构体包含有关存储在文件中的图像的信息filename。如果没有文件filename和提取已指定,它将查找名为的文件filename和扩展提取,即一个名为filename.提取.
输出结构体信息包含以下字段:
图像文件的全名。
上次修改文件的日期。
磁盘上映像的字节数
图像格式(例如。,jpeg
).
图像高度(以像素为单位)。
图像宽度(以像素为单位)。
每个通道每个像素的位数。
图像类型。值为灰度
, 索引
,真彩色
, CMYK
或未定义
.
图像的X分辨率。
图像的Y分辨率。
图像分辨率的单位。值为英寸
,厘米
或未定义
.
以1/100秒为单位的时间(0到65535),在显示动画序列中的下一个图像之前必须过期。
循环动画的迭代次数。
支持它的格式的Endian参数。值为小endian
, big endian
或未定义
.
图像的Gamma级别。从于显示监视器的差异,显示在两个不同工作站上的相同颜色的图像可能看起来不同。
JPEG/MIFF/PNG压缩级别。值是一个范围为[0 100]的整数。
仅对GIF图像有效,控制创建GIF动画时连续帧的渲染方式(前一帧的处理方式)。值扫描为doNotSpecify
, 离开原地
, restoreBG
或restorePrevious
。对于非GIF文件,值为空字符串。
Value是一个1x8矩阵,其中白色、红色、绿色和蓝色点的x、y色度值按顺序排列。
图片注释。
压缩类型。值可以是没有一个
, bzip
,传真3
, 传真4
, jpeg
, lzw
,rle
, 瘪下来
, lzma
, jpeg2000
,jbig2
, jbig2
或未定义
.
每个图像的颜色map。
图像相对于行和列的方向。Value是TIFF 6规范中定义的介于1和8之间的整数,对于MATLAB兼容性。
用于生成图像的相机或图像输入设备的软件或固件的名称和版本。
录音设备的制造商。这是一家生产DCS、扫描仪、视频数字化仪或其他生成图像的设备的公司。
现场提到的记录设备的型号名称或型号制作
.
Exif标准定义的图像创建日期和时间,即文件更改的日期和时间。
Exif标准定义的图像标题。
相机所有者、摄影师或图像创建者的姓名。
声称对图像拥有权利的个人或组织的版权声明。
具有从Exif符号检索到的信息的结构体。
具有从Exif符号检索到的地理符号信息的结构体。
默认情况下,Octave的图像IO函数(imread
, imwrite
和imfinfo
)使用GraphicsMagick
图书馆的运作。这意味着支持大量的图像格式,但考虑到科学中的大量图像格式及其普遍的封闭性,不可能有一个能够阅读所有图像格式的图书馆。正因为如此,函数im格式
保存一个可用格式、其扩展以及映像IO函数应使用的函数的可配置列表。这允许通过创建针对特定文件格式的函数来扩展Octave的图像IO函数。
虽然可以直接调用额外的函数,但使用正确配置Octaveim格式
允许保留从文件格式中抽象出来的一致代码。
需要注意的是,文件格式实际上并不是从其文件扩展名定义的GraphicsMagick
能够读取和写入比所列文件格式更多的文件格式im格式
。这意味着,即使扩展名不正确或丢失,图像也可能被正确读取,即使是未列出的格式也不一定支持。
()
¶formats =
imformats (ext)
¶formats =
imformats (format)
¶formats =
imformats ("add", format)
¶formats =
imformats ("remove", ext)
¶formats =
imformats ("update", ext, format)
¶formats =
imformats ("factory")
¶管理支持的图像格式。
格式是一个结构体,包含有关每个支持的文件格式或特定格式的信息提取,字段上显示的值提取。它包含以下字段:
文件格式的名称。这可能与文件扩展名匹配,但Octave会自动检测文件格式。
文件格式的详细说明。
用于确认文件是否为指定格式的函数句柄。
如果文件为指定格式,则用于写入的函数句柄。
用于打开指定格式文件的函数句柄。
用于获取指定格式的图像信息的函数句柄。
如果格式支持alpha通道(透明或无光),则为逻辑值。
如果格式支持多页(每个文件多个图像),则为逻辑值。
可以使用参数更改Octave管理文件格式的方式添add
, 去除
和使现代化
,并提供一个结构体format带有必填字段。参数工厂
将配置重置为默认值。
Octave软件包可以通过使用PKG_ADD和PKG_DEL命令来扩展图像读取函数Octave。
版权所有 © 2024 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号