matlab imread函数全说明

   2023-02-09 学习力0
核心提示:  imreadRead image from graphics file SyntaxA = imread(filename, fmt)[X, map] = imread(...)[...] = imread(filename)[...] = imread(URL,...)[...] = imread(...,Param1,Val1,Param2,Val2...)DescriptionA = imread(filename, fmt) reads a grayscal




  
imread




Read image from graphics file 
Syntax




A = imread(filename, fmt)
[X, map] = imread(...)
[...] = imread(filename)
[...] = imread(URL,...)
[...] = imread(...,Param1,Val1,Param2,Val2...)


Description




A = imread(filename, fmt) reads a grayscale or color image from the file specified by the string filename. If the file is not in the current folder, or in a folder on the MATLAB path, specify the full pathname. 


The text string fmt specifies the format of the file by its standard file extension. For example, specify 'gif' for Graphics Interchange Format files. To see a list of supported formats, with their file extensions, use the imformats function. If imread cannot find a file named filename, it looks for a file named filename.fmt. 


The return value A is an array containing the image data. If the file contains a grayscale image, A is an M-by-N array. If the file contains a truecolor image, A is an M-by-N-by-3 array. For TIFF files containing color images that use the CMYK color space, A is an M-by-N-by-4 array. See TIFF in the Format-Specific Information section for more information.


The class of A depends on the bits-per-sample of the image data, rounded to the next byte boundary. For example, imread returns 24-bit color data as an array of uint8 data because the sample size for each color component is 8 bits. See Tips for a discussion of bitdepths, and see Format-Specific Information for more detail about supported bitdepths and sample sizes for a particular format.


[X, map] = imread(...) reads the indexed image in filename into X and its associated colormap into map. Colormap values in the image file are automatically rescaled into the range [0,1]. 


[...] = imread(filename) attempts to infer the format of the file from its content. 


[...] = imread(URL,...) reads the image from an Internet URL. The URL must include the protocol type (e.g., http://).


[...] = imread(...,Param1,Val1,Param2,Val2...) specifies parameters that control various characteristics of the operations for specific formats. For more information, see Format-Specific Information.
Tips




Bitdepth is the number of bits used to represent each image pixel. Bitdepth is calculated by multiplying the bits-per-sample with the samples-per-pixel. Thus, a format that uses 8-bits for each color component (or sample) and three samples per pixel has a bitdepth of 24. Sometimes the sample size associated with a bitdepth can be ambiguous: does a 48-bit bitdepth represent six 8-bit samples, four 12-bit samples, or three 16-bit samples? The following format-specific sections provide sample size information to avoid this ambiguity.
Format-Specific Information




The following sections provide information about the support for specific formats, listed in alphabetical order by format name. These sections include information about format-specific syntaxes, if they exist. BMP — Windows BitmapJPEG — Joint Photographic Experts GroupPNG — Portable Network GraphicsCUR — Cursor FileJPEG 2000 — Joint Photographic Experts Group 2000PPM — Portable PixmapGIF — Graphics Interchange FormatPBM — Portable BitmapRAS — Sun RasterHDF4 — Hierarchical Data FormatPCX — Windows PaintbrushTIFF — Tagged Image File FormatICO — Icon FilePGM — Portable GraymapXWD — X Window Dump




BMP — Windows Bitmap
Supported BitdepthsNo CompressionRLE CompressionOutput ClassNotes1-bity–logical 4-bityyuint8 8-bityyuint8 16-bity–uint81 sample/pixel24-bity–uint83 samples/pixel32-bity–uint83 samples/pixel
(1 byte padding)




CUR — Cursor File
Supported BitdepthsNo CompressionCompressionOutput Class1-bity–logical4-bity–uint88-bity–uint8






Format-specific syntaxes:


[...] = imread(..., idx) reads in one image from a multi-image icon or cursor file. idx is an integer value that specifies the order that the image appears in the file. For example, if idx is 3, imread reads the third image in the file. If you omit this argument, imread reads the first image in the file.


[A, map, alpha] = imread(...) returns the AND mask for the resource, which can be used to determine the transparency information. For cursor files, this mask may contain the only useful data.


Note   By default, Microsoft Windows cursors are 32-by-32 pixels. MATLAB pointers must be 16-by-16. You will probably need to scale your image. If you have Image Processing Toolbox™, you can use its imresize function.
GIF — Graphics Interchange Format
Supported BitdepthsNo CompressionCompressionOutput Class1-bity–logical2-bit to 8-bity–uint8






Format-specific syntaxes:


[...] = imread(..., idx) reads in one or more frames from a multiframe (i.e., animated) GIF file. idx must be an integer scalar or vector of integer values. For example, if idx is 3, imread reads the third image in the file. If idx is 1:5, imread returns only the first five frames.


[...] = imread(..., 'frames', idx) is the same as the syntax above except that idx can be 'all'. In this case, all the frames are read and returned in the order that they appear in the file.


Note   Because of the way that GIF files are structured, all the frames must be read when a particular frame is requested. Consequently, it is much faster to specify a vector of frames or 'all' for idx than to call imread in a loop when reading multiple frames from the same GIF file.
HDF4 — Hierarchical Data Format
Supported BitdepthsRaster Image with colormapRaster image without colormapOutput ClassNotes8-bityyuint8 24-bit–yuint83 samples/pixel






Format-specific syntaxes:


[...] = imread(..., ref) reads in one image from a multi-image HDF4 file. ref is an integer value that specifies the reference number used to identify the image. For example, if ref is 12, imread reads the image whose reference number is 12. (Note that in an HDF4 file the reference numbers do not necessarily correspond to the order of the images in the file. You can use imfinfo to match image order with reference number.) If you omit this argument, imread reads the first image in the file.
ICO — Icon File




See CUR — Cursor File
JPEG — Joint Photographic Experts Group




imread can read any baseline JPEG image as well as JPEG images with some commonly used extensions. For information about support for JPEG 2000 files, see JPEG 2000.Supported Bitdepths 
(Bits-per-sample)Lossy CompressionLossless CompressionOutput ClassNotes8-bityyuint8Grayscale or RGB12-bityyuint16Grayscale or RGB16-bit–yuint16Grayscale




JPEG 2000 — Joint Photographic Experts Group 2000




For information about JPEG files, see JPEG.


Note   Only 1- and 3-sample images are supported. Indexed JPEG 2000 images are not supported.


Supported Bitdepths (Bits-per-sample)Lossy CompressionLossless CompressionOutput ClassNotes1-bityylogicalGrayscale only2- to 8-bityyuint8Grayscale
or RGB9- to 16-bityyuint16Grayscale
or RGB






Format-specific syntaxes:


[...] = imread(..., 'Param1', value1, 'Param2', value2, ...) uses parameter-value pairs to control the read operation, described in the following table.ParameterValue'ReductionLevel'A non-negative integer specifying the reduction in the resolution of the image. For a reduction level L, the image resolution is reduced by a factor of 2^L. Its default value is 0 implying no reduction. The reduction level is limited by the total number of decomposition levels as specified by the'WaveletDecompositionLevels' field in the structure returned by the imfinfo function.'PixelRegion'{ROWS, COLS} — The imread function returns the sub-image specified by the boundaries in ROWS and COLS. ROWS and COLS must both be two-element vectors that denote the 1-based indices [START STOP]. If 'ReductionLevel' is greater than 0, then ROWS and COLS are coordinates in the reduced-sized image. 




PBM — Portable Bitmap
Supported BitdepthsRaw BinaryASCII (Plain) EncodedOutput Class1-bityylogical




PCX — Windows Paintbrush
Supported BitdepthsOutput ClassNotes1-bitlogicalGrayscale only8-bituint8Grayscale or indexed24-bituint8RGB
Three 8-bit samples/pixel




PGM — Portable Graymap
Supported BitdepthsRaw BinaryASCII (Plain) EncodedOutput ClassNotes8-bity–uint8 16-bity–uint16 Arbitrary–y1-bit to 8-bit: uint8
9-bit to 16-bit: uint16Values are scaled 




PNG — Portable Network Graphics
Supported BitdepthsOutput ClassNotes1-bitlogicalGrayscale2-bituint8Grayscale4-bituint8Grayscale8-bituint8Grayscale or Indexed16-bituint16Grayscale or Indexed24-bituint8RGB 
Three 8-bit samples/pixel.48-bituint16RGB 
Three 16-bit samples/pixel.






Format-specific syntaxes:


[...] = imread(...,'BackgroundColor',BG) composites any transparent pixels in the input image against the color specified in BG. If BG is 'none', then no compositing is performed. If the input image is indexed, BG must be an integer in the range [1,P] where P is the colormap length. If the input image is grayscale, BG should be an integer in the range [0,1]. If the input image is RGB, BG should be a three-element vector whose values are in the range [0,1]. The string 'BackgroundColor' may be abbreviated.


[A, map, alpha] = imread(...) returns the alpha channel if one is present; otherwise alpha is []. Note that map may be empty if the file contains a grayscale or truecolor image.


If you specify thealpha output argument, BG defaults to 'none', if not specified. Otherwise, if the PNG file contains a background color chunk, that color is used as the default value for BG. If alpha is not used and the file does not contain a background color chunk, then the default value for BG is 1 for indexed images; 0 for grayscale images; and [0 0 0] for truecolor (RGB) images.
PPM — Portable Pixmap
Supported BitdepthsRaw BinaryASCII (Plain) EncodedOutput ClassUp to 16-bity–uint8Arbitrary–y 




RAS — Sun Raster




The following table lists the supported bitdepths, compression, and output classes for RAS files.Supported BitdepthsOutput ClassNotes1-bitlogicalBitmap8-bituint8Indexed24-bituint8RGB
Three 8-bit samples/pixel32-bituint8RGB with Alpha
Four 8-bit samples/pixel




TIFF — Tagged Image File Format




imread supports the following TIFF capabilities:


Any number of samples-per-pixel


CCITT group 3 and 4 FAX, Packbits, JPEG, LZW, Deflate, ThunderScan compression, and uncompressed images


Logical, grayscale, indexed color, truecolor and hyperspectral images


RGB, CMYK, CIELAB, ICCLAB color spaces. If the color image uses the CMYK color space, A is an M-by-N-by-4 array. To determine which color space is used, use imfinfo to get information about the graphics file and look at the value of the PhotometricInterpretation field. If a file contains CIELAB color data, imread converts it to ICCLAB before bringing it into the MATLAB workspace because 8- or 16-bit TIFF CIELAB-encoded values use a mixture of signed and unsigned data types that cannot be represented as a single MATLAB array.


Data organized into tiles or scanlines


The following table lists the supported bit/sample and corresponding output classes for TIFF files.Supported BitdepthsCompressionOutput Class Notes NonePackbitsCCITTRGBICCLABCIELABCMYK  1-bityyy----logical 8-bityy-----uint8 12-bit-------uint16Grayscale or Indexed16-bit-------uint16Grayscale or Indexed24-bityy-yyy-uint83 samples32-bit------yuint84 samples36-bit---y---uint163 samples48-bit---yyy-uint163 samples64-bit------ydouble4 samples






Note   imread supports 8-bit integral and 32-bit floating point tiled TIFF images, with any compression and color space combination listed above, and 32-bit IEEE floating point images.


The following are format-specific syntaxes for TIFF files.


A = imread(...) returns color data that uses the RGB, CIELAB, ICCLAB, or CMYK color spaces. If the color image uses the CMYK color space, A is an M-by-N-by-4 array. 


[...] = imread(..., 'Param1', value1, 'Param2', value2, ...) uses parameter/value pairs to control the read operation. The following table lists the parameters you can use.ParameterValue'Index'Positive integer specifying which image to read. For example, if you specify the value 3, imread reads the third image in the file. If you omit this argument, imread reads the first image in the file.'Info'


Structure array returned by imfinfo. 


Note: When reading images from a multi-image TIFF file, passing the output of imfinfo as the value of the 'Info' argument helps imread locate the images in the file more quickly.'PixelRegion'Cell array, {Rows, Cols}, specifying the boundaries of the region. Rows and Cols must be either two- or three-element vectors. If you specify two elements, the values denote the 1-based indices [start stop]. If you specify three elements, the values denote the 1-based indices [start increment stop], to allow image downsampling.






For copyright information, see the libtiffcopyright.txt file.
XWD — X Window Dump




The following table lists the supported bitdepths, compression, and output classes for XWD files.Supported BitdepthsZPixmapsXYBitmapsXYPixmapsOutput Class1-bity–ylogical8-bity––uint8




Class Support




For most image file formats, imread uses 8 or fewer bits per color plane to store image pixels. The following table lists the class of the returned array for the data types used by the file formats. 


Data Type Used in File


Class of Array Returned by imread


1-bit per pixel


logical


2- to 8-bits per color plane


uint8


9- to 16-bit per pixel 


uint16 (BMP, JPEG, PNG, and TIFF)


For the 16-bit BMP packed format (5-6-5), MATLAB returns uint8






Note   For indexed images, imread always reads the colormap into an array of class double, even though the image array itself may be of class uint8 or uint16.
Examples




Read sample image.
imdata = imread('ngc6543a.jpg');




Read indexed image and convert it to an RGB image.
[cdata,map] = imread( filename ) 
if ~isempty( map ) 
   cdata = ind2rgb( cdata, map ); 
end 






Read sixth image in a TIFF file.
[X,map] = imread('your_image.tif',6);




Read fourth image in an HDF4 file.
info = imfinfo('your_hdf_file.hdf');
[X,map] = imread('your_hdf_file.hdf',info(4).Reference);




Read a 24-bit PNG image and set any of its fully transparent (alpha channel) pixels to red.
bg = [1 0 0];
A = imread('your_image.png','BackgroundColor',bg);




Return the alpha channel (if any) of a PNG image.
[A,map,alpha] = imread('your_image.png');




Read an ICO image, apply a transparency mask, and then display the image.
[a,b,c] = imread('your_icon.ico'); 
% Augment colormap for background color (white).
b2 = [b; 1 1 1]; 
% Create new image for display. 
d = ones(size(a)) * (length(b2) - 1); 
% Use the AND mask to mix the background and
% foreground data on the new image
d(c == 0) = a(c == 0); 
% Display new image
image(uint8(d)), colormap(b2)







 




 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • 如何在Abaqus的python中调用Matlab程序
    目录1. 确定版本信息2. 备份python3. 设置环境变量4. 安装程序5. 调试运行参考资料Abaqus2018操作系统Win10 64位Python版本2.7(路径C:\SIMULIA\CAE\2018\win_b64\tools\SMApy\python2.7)2. 备份python将上述的“python2.7”文件夹复制出来,避免因操作错误
    03-16
  • 如何将极坐标数据转换为笛卡尔坐标系并绘制[MATLAB]
    如何将极坐标数据转换为笛卡尔坐标系并绘制[MAT
    你想做的事考虑根据与原点的距离 $r$ 和 $xy$ 平面上的角度 $heta$ 绘制数据 $P(r, heta)$。例如,雷达获取的信号包含有关目标范围 $r$ 和方位角 $heta$ 的信息。就是下图。在本文中,$heta$ 是从 $x$ 轴测量的角度。显示示例考虑创建依赖于 $r, heta$ 的虚拟
    03-16
  • 【MATLAB与机械设计】一维优化进退法确定初始区间
    【MATLAB与机械设计】一维优化进退法确定初始区
    在讨论一维搜索时,首先保证搜索区间函数具有单峰性,也就是在区间[a,b]中函数是凸函数,对于求极小值问题,函数值具有高—低—高的特性,在区间[a,b]上有唯一的最小值。1,方法的建立2.进退法确定搜索区间的程序框图3,根据上述的程序框图,编写的MATLAB程序
    03-08
  • 用于微型四轮驱动的 6T 小齿轮原型和使用 MATLAB 的 FEM 结构分析
    用于微型四轮驱动的 6T 小齿轮原型和使用 MATLA
    介绍我使用迷你 4WD 套件使用 Raspberry Pi 制作机器人汽车。定制零件丰富且方便,因为它们在附近的商店很容易买到。但是,由于Mini 4WD的速度非常快,因此在低速时很难控制速度。因此,我使用 3D 打印机制作了自己的 6T 小齿轮,并尝试改变齿轮比。 成型小齿
    03-08
  • ROS与Matlab系列:一个简单的运动控制 基于matl
    转自:http://blog.exbot.net/archives/2594Matlab拥有强大的数据处理、可视化绘图能力以及众多成熟的算法函数,非常适合算法开发;在控制系统设计中,Simulink也是普遍使用的设计和仿真工具。而ROS系统,则是一种新的标准化机器人系统软件框架。通过ROS,你
    02-10
  • matlab 遍历结构体struc的成员
    MATLAB中专门用于对结构数组的操作的函数并不多,通过 help datatypes获取数据类型列表,可以看到其中的结构数据类型的有关的函数,主要如表4.3.1所示。表4.3.1 结构数组的操作函数函数名             功能描述 deal                 把输入处
    02-09
  • 02-09
  • schroeder reverb matlab实现
    schroeder reverb matlab实现
    原理参考:Natural sounding artificial reverberation combFilter.m:function output = combFilter(delay, gain, input)fs = 48000;delaySample = int32(delayTime * fs / 1000);B = [1 zeros(1, delaySample - 1)];A=[1 zeros(1, delaySample - 2) -gain];
    02-09
  • C/C++中调用matlab引擎计算 matlab转c
    原帖地址:http://blog.sina.com.cn/s/blog_6adcb3530101cvot.html一,在linux环境使用matlab引擎必须先进行一些必要的配置1,matlab引擎依赖/bin/csh启动,所以不管你使用何种shell,都必须安装csh。**2,matlab引擎依赖的动态库文件目录必须在系统当前的
    02-09
  • MATLAB 图像放大/缩小,双线性插值
    MATLAB 图像放大/缩小,双线性插值
    半年前写过matlab最邻近插值的图像缩放,没怎么考虑边界问题。更早之前用Opencv写过双线性插值图像放大,不过写的比较混乱。所以这里用matlab重新再清楚的写一遍。 1 close all; 2 clear all; 3 clc; 45 m=1.8;%放大或缩小的高度 6 n=2.3;%放大或缩小的宽度 7
    02-09
点击排行