• 图像处理matlab

    2018-09-11 22:35:04
    1.基本函数: iread('文件路径'); idisp(); 2.一元操作: imd=idouble(im);... //将彩色图像转变成灰度图像。 ihist();//显示每一个像素值出现的次数 im=igamma(im,1/0.45); //伽马编码,一种非线性一...

    1.基本函数:

    iread('文件路径');

    idisp();

    2.一元操作:o[u,v]=f(I[u,v])

    imd=idouble(im);  //将像素从unit8(范围在0-255的整数像素)到范围在[0,1]的双精度值

    grey=imono(im);    //将彩色图像转变成灰度图像。

    ihist();//显示每一个像素值出现的次数

    im=igamma(im,1/0.45); //伽马编码,一种非线性一元操作

    3.二元操作:o[u,v]=f(I_{1}[u,v],I_{2}[u,v])

    isamesize(image1,image2);  //将2缩放并裁剪到跟1相同的大小

    ........

    4.空间操作o[u,v]=f(I[u+i,v+j])

     

    4.1互相关 o[u,v]=\sum _{(i,j)\epsilon w }I[u+i,v+j]K[i,j], K是互相关核,对于每一个输出像素,对应输入图像中的像素窗口w要逐个元素地与互相关核K相乘。

    在工具箱中,互相关使用函数iconv表示。iconv(image,K);

     

    4.1.1平滑处理(光滑化、模糊化或者散焦)

    K=ones(21,21)/21^2; //每一个输出像素都是输入图像中与之相对应的21x21相领像素的平均值  ->平均值滤波

    G(u,v)=\frac{1}{2\pi\sigma ^{2} }e^{-\frac{u^{2}+v^{2}}{2\sigma ^{2}}}  二维高斯函数(关于原点对称,曲线下方体积为1)的扩展由标准差参数\sigma控制。 ->高斯滤波

    K=kguass(5); //指定标准差为5像素

     

    4.1.2边界检测:
     lena=iread('C:\Users\Administrator\Desktop\matlab实验照片\2.jpeg','double','grey');

     p=lena(60,:);  //在v=60处图像中的一条水平线

    沿着这个横截面的一阶倒数是p^{^{'}}[v]=p[v]-p[v-1],一阶倒数可以用diff函数计算。->亮度变化的倒数

    在v点处的导数也可以写成对称的一阶差分:p^{^{'}}[v]=\frac{1}{2}(p[v+1]-p[v-1])

    它等同于和下面的一维互相关核求互相关运算:

                                                                     K=(-\frac{1}{2} 0 \frac{1}{2})

    将图像与这个核求互相关:

    K=[-0.5 0 0.5];

    idsip(iconv(lena,K),'invsigned')    ->图片具有高水平梯度的竖直边缘清晰可见。效果如下所示(上面为原图):

      

    利用索伯互相关核计算水平梯度,利用三行水平梯度的加权值。

    Du=ksobel,上图为原图,下面为处理之后的

    坎尼算子:

    算法大致流程:

    1、求图像与高斯平滑滤波器卷积:

    2、使用一阶有限差分计算偏导数的两个阵列P与Q:

    3、幅值和方位角:

    4、非极大值抑制(NMS ) :细化幅值图像中的屋脊带,即只保留幅值局部变化最大的点。

    将梯度角的变化范围减小到圆周的四个扇区之一,方向角和幅值分别为:

    非极大值抑制通过抑制梯度线上所有非屋脊峰值的幅值来细化M[i,j],中的梯度幅值屋脊.这一算法首先将梯度角θ[i,j]的变化范围减小到圆周的四个扇区之一

    edges=icanny(lena,2);效果如下所示:

    4.2模板匹配O[u,v]=s(T,W)

    函数s(T,W)是一个标量测度,用来描述两幅相同大小的图像T和W之间的相似性。

    常用方法有:绝对差值(SAD),差值平方和(SSD)以及互相关(NCC)

     

    展开全文
  • 一、imfinfo函数——查看图像文件信息,注意参数是文件路径文件名,不是图像对应的矩阵。 >> imfinfo('C:\Users\zhulf\Desktop\1.jpg') ans =   Filename: 'C:\Users\zhulf\Desktop\1.jpg'  ...

    一、imfinfo函数——查看图像文件信息,注意参数是文件路径和文件名,不是图像对应的矩阵

    >> imfinfo('C:\Users\zhulf\Desktop\1.jpg')

    ans = 


               Filename: 'C:\Users\zhulf\Desktop\1.jpg'
            FileModDate: '19-Apr-2015 08:40:54'
               FileSize: 1528413
                 Format: 'jpg'
          FormatVersion: ''
                  Width: 1548
                 Height: 1548
               BitDepth: 24
              ColorType: 'truecolor'
        FormatSignature: ''
        NumberOfSamples: 3
           CodingMethod: 'Huffman'
          CodingProcess: 'Sequential'
                Comment: {}
                   Make: 'Smartisan'
                  Model: 'Smartisan T1'
            Orientation: 0
               DateTime: '2015:04:19 08:40:53'
          DigitalCamera: [1x1 struct]
                GPSInfo: [1x1 struct]
           MeteringMode: 'unknown'
            LightSource: 'unknown'
                  Flash: 16

    二、imshow函数

    1、imshow(I)  显示图像I

    Matlab代码:

    >> I=imread('2.jpg');

    >> imshow(I)

     

    显示结果

     

    2、imshow(I,[low high])  它显示的是像素处理后的图像I,注意的是它只是显示的时候改变了图像像素,实际上并没有改变图像像素,图像像素值还是原来的值。

    Matlab代码:

    >> I=imread('2.jpg');

    >> imshow(I,[0 80])

     

     

     

    它对图像像素的处理是:将I中像素值大于等于high变成high,将小于等于low的变成low,再将[low,high]中间的像素映射为默认的像素级一般为[0,255]

    我们把上述描述转为代码:

    I=imread('2.jpg');

    mmax=max(I(:));

    mmin=min(I(:));

    for i=1:256

        for j=1:256

            if I2(i,j)<=0 I2(i,j)=0;

            elseif I2(i,j)>=80

                I2(i,j)=255;

            end

        end

    end

    I3=I2;

    for i=1:256

        for j=1:256

            I3(i,j)=255/80*I3(i,j);

        end

    end

    imshow(I3)

    显示图像结果为

     

     

     

    和imshow(I,[0 80])效果是一样的。

    3、 imshow(I,[ ])  它等同于imshow(I,[min(I:),max(I:)]),可以理解为把图像I转化成0-255灰度级来显示。

    我们在这里做一个实验:下面三幅图分别为imshow(I),imshow(I,[])和把图像像素值映射为[0,255]所显示的图像。

     

     

     

     

     

    我们发现,imshow(i,[])显示的效果正和把像素值映射为[0,255]效果所显示的一样。

    Matlab代码如下:

    A=imread('C:\Users\zhulf\Desktop\Image1 - SliceImage - 008.tif');

    mmax=max(A(:));

    mmin=min(A(:));

    for i=1:4096

        for j=1:4096

            

          A2(i,j)=1.0*255/(mmax-mmin)*(A(i,j)-mmin);

        end

    end

    imshow(A)

    figure,imshow(A,[])

    figure,imshow(A2)

     

     

    再例如,一个灰度级为17-2424的int16类型的图像,matlab显示(imshow(I))效果如下,

     

     

     

     

    可见,显示效果并不好,接下来我们使用imshow(I,[]),显示结果如下:

     

     

     

    显示结果较好,对比度较高。同样,imshow(I,[])的效果等同于把像素映射到0-255灰度级,映射后图像如下:

     

     

     

    实现灰度映射的Matlab如下:

    A=dicomread('C:\Users\zhulf\Desktop\IM62.dcm');

    mmax=double(max(A(:)));  %类型转换很重要

    mmin=double(min(A(:)));  %类型转换很重要

     

    for i=1:512

        for j=1:512

            tmp=double(A(i,j));  %类型转换很重要

            A2(i,j)=uint8(255*(tmp-17)/2407);  %类型转换很重要

        end

    end

    imshow(A)

    figure,imshow(A,[])

    figure,imshow(A2)

     

    上面是对imshow()函数的理解,不明白的欢迎留言交流。

     

    三、rgb2gray 将彩色图像转换为灰度图像

    >> A=imread('C:\Users\zhulf\Desktop\1.jpg');
    >> B=rgb2gray(A);
    >> imshow(A)

     

    >> figure,imshow(B)

     

    四、数据类型转换函数

    im2uint8  将图像转换为uint8类,相应的像素值也会变化到相应范围,如对uint16类图像应用im2uint8,则像素值由0-65535变化成0-255,这是一种线性映射。

    im2uint16 将图像转换为uint16类,也有上面如此的性质。

    im2double 将图像转化为double类,必要时缩放像素值。如果图像img是double型的,d=img;如果图像是logical或single型图像,d=double(img);如果图像是uint8型,d=double(img)/255;如果图像是uint16型,d=double(img)/65535。

    im2double一般会将uint8归一化到[0,1],而double只是将数据变为double,如:

    a = uint8(250);
    b = double(a)
    c = im2double(a)


    b =


       250




    c =


        0.9804

     

    im2single 将图像转化为single类,性质和im2single类似。

     

    mat2gray 可以将图像转换为标定[0,1]范围的double类的图像。

    调用的语法是:

    g=mat2gray(A,[Amin,Amax]),其中g具有0(黑)到1(白)的值。参数Amin使得A中小于Amin的值,在g中变为0;而在A中大于Amax的值,在g中变为1。

    也可以是:

    g=mat2gray(A),

    Amin,Amax默认为A中实际的最大值和最小值,它独立于输入的类,将整个输入值的范围标定为[0,1]。

    >> f=[1 2;3 4]


    f =


         1     2
         3     4


    >> g=mat2gray(f)


    g =


             0    0.3333
        0.6667    1.0000

     BW = im2bw(I,LEVEL)   二值化图像,将大于LEVEL的像素值变为1,小于LEVEL的像素值变为0,且图像像素变成逻辑类;LEVEL是阈值,在[0,1]之间。

    >> gb=im2bw(g,0.6)


    gb =


         0     0
         1     1

    >> gbv=islogical(gb)


    gbv =


         1

    五、whos 

    B为图像矩阵

    >> whos B
      Name         Size                Bytes  Class    Attributes


      B         1548x1548            2396304  uint8     

    六、反转图像

    >> I=imread('C:\Users\zhulf\Desktop\2.jpg');

    >> imshow(I)

     

    上下翻转:

    >>I2=I(end:-1:1,:);

    >> figure,imshow(I2)

     

    上下左右均反转:

    >> I3=I(end:-1:1,end:-1:1);
    >> figure,imshow(I3)

     

    七、抽取图像(压缩图像)

    >> I4=I(520:855,90:837);
    >> figure,imshow(I4)

    图像也由原来的1548 x 1548变成了336 x 748。

     

    >> I5=I(1:2:end,1:2:end);
    >> figure,imshow(I5)

    图像由1548 x 1548 变成了774 x 774,filesize由99745变成了76747,做了部分压缩,但清晰度差不多。

    八、improd()函数

    function[p,pmax,pmin,pn]=improd(f,g) 
    %IMPROD Computes the produce of two images. 
    %[P,PMAX,PMIN,PN]=IMPROD(F,G) outputs the element-by-element 
    %product of two input images,F and G,the product 
    %maximum and minimum values,and a normalized product array with 
    %values in the rang[0,1].The input images must be of the same 
    %size.They can be of class uint8,uint16,or double. The outputs 
    %are of class double. 
    fd=double(f); 
    gd=double(g); 
    p=fd.*gd; 
    pmax=max(p(:)); 
    pmin=min(p(:)); 
    pn=mat2gray(p); 

     

    >> [p,pmax,pmin,pn]=improd(f,g)


    p =


         1     4
         6     4




    pmax =


         6




    pmin =


         1




    pn =


             0    0.6000
        1.0000    0.6000

    之后陆续补充。。

    展开全文
  • matlab数字图像处理.pdf

    2020-07-10 23:31:41
    本书主要介绍MATLAB语言在图像处理技术方面的应用,重点介绍了各种图像处理方法的理论实际应用,书中给出了大量MATLAB实例图像处理效果,使渎职能够更好的理解掌握使用MATLAB图像处理工具箱函数进行图像处理的...
  • 写在前头:说到数字图像处理,不得不提起MATLAB。这是一款非常方便的仿真软件,绝大多数的图像处理可以用MATLAB完成。  有人问,处理图片,用PS岂不是更好。两者各有优点,如果需要将10000幅图片转换成灰度...

    写在前头:说到数字图像处理,不得不提起MATLAB。这是一款非常方便的仿真软件,绝大多数的图像处理可以用MATLAB完成。
      有人问,处理图片,用PS岂不是更好。两者各有优点,如果需要将10000幅图片转换成灰度图像并保存呢?MATLAB只需要一段很短的程序运行几秒就可以完成这个工作。
    本文基于MatlabR2012a,将由浅入深写下去。

    MATLAB中图像的基本操作

    1、读取、显示图片

    MATLAB中提供了immread()与imshow()函数读取和显示图片。其中读取函数imread()原型:

    imread:
    A = imread(filename, fmt)

    A是结构体名,用来存储读入的图像数据。filename是读取的文件名,文件名要用”括起来。fmt是读取文件的类型如:jpg、png等等,这个参数可以不输入,由MATLAB自动判断。
    显示函数imshow()原型:

        imshow:
        imshow(I)

    I为读取后保存在MATLAB中的结构体名。
    程序实例:  

    A=imread('1.jpg');%读取名为1.jpg的图片
         imshow(A)%显示图片

    这里写图片描述

    2、将灰度图片变成负片

      对图像进行操作,实际上是将图像看成许多个像素点,对每个像素点进行操作。在计算机系统中,灰度图片被看成是许多个由值在[0~255]之间的像素点组成的图像,255表示白色,0表示黑色,黑白之间存在256个灰度级。
    这里写图片描述
      负片是指将原灰度图白色的地方变成黑色,黑色的地方变成白色。也就是将0变成255,255变成0。MALTAB的imadjust()函数提供了该功能。其函数原型:  

    imadjust:
      J = imadjust(I,[low_in; high_in],[low_out; high_out])

      其中,I为原灰度图像,low_in,high_in为输入图像的低和高灰度级,设置为[0,1]表示从0~255的归一化,low_out,high_out为输出图像的低高灰度级。
      若是想将图片转换为负片,那么将[low_in; high_in]设置为[0,1],将[low_out; high_out]设置为[1,0]。即原来输入为0的地方变成1输出,输入为1的地方变成0输出。
      实例: 

     A=imread('1.jpg');
    imshow(A)%显示原图
    A1=imadjust(A,[0,1],[1,0]);%将灰度级对调
    figure,imshow(A1)%显示负片

      这里写图片描述
      

    3、彩色图片转换成灰度图片

      我们在计算机中看到的大多数彩色图片是基于RBG三通道的图片,红绿蓝三种颜色,每一种取值均为[0~255]。通过255*255*255,可以构成庞大的颜色群。而灰度图像只有256个灰度级。通过以下公式可以将RGB转换成灰度
      GRAY=0.2989 R + 0.5870 * G + 0.1140 * B*
      MATLAB中提供的函数rgb2gray为我们提供了将彩色图片转换成灰度图片的功能。函数原型: 

    I = rgb2gray(RGB)

    实例:

     A=imread('001.png');%原彩色图片
    imshow(A)
    A_gray=rgb2gray(A);%转换成灰度图片
    figure,imshow(A_gray)

    这里写图片描述
      

    展开全文
  • 表 1-1 列出了 MATLAB 和图像处理工具箱为描述像素值而支持的各种类。 表中的前 8 项是数值型的数据类,第 9 项称为字符类, 最后一项称为逻辑类。 uint8 logical 类广泛用于图像处理, 当以 TIFF 或 JPEG 图像...

    图像的矩阵表示

    类和图像类型
    虽然使用的是整数坐标, 但 MATLAB 中的像素值(亮度)并未限制为整数。 表 1-1 列出了 MATLAB 和图像处理工具箱为描述像素值而支持的各种类。 表中的前 8 项是数值型的数据类,第 9 项称为字符类, 最后一项称为逻辑类。
    uint8 和 logical 类广泛用于图像处理, 当以 TIFF 或 JPEG 图像文件格式读取图像时,会用到这两个类。 这两个类用1个字节表示每个像素。某些科研数据源, 比如医学成像, 要求提供超出 uint8 的动态范围:针对此类数据, 会采用 uint16 和 int16 类。 这两个类为每个矩阵元素使用2 个字节。针对计算灰度的操作, 比如傅立叶变换(见第 3 章), 使用 double 和single 浮点类。 双精度浮点数每个数组元素使用8 个宇节, 而单精度浮点数使用 4 个字节。尽管工具箱支持 int8 、 uint32 和 int32 类, 但在图像处理中并不常用

    算子

    一般我们用字母M和N分别表示矩阵中的行与列。1x N
    矩阵被称为行向量, M*1矩阵被称为列向量, 1*1矩阵则被称为标量。

    Matlab 图像类型及其存储方式

    在介绍数字图像的分类时, 曾提及一些主要的图像类型。 本节将介绍这些主 要的图像类型在Matlab中是如何存储和表示的, 主要包括亮度图像、 RGB 图像、 索引图像、二值图像和多帧图像。

    1、亮度图像(Intensity Image)
    亮度图像即灰度图像。 Matlab使用二维矩阵存储亮度图像,矩阵中的每个元素直接表示 一个像素的亮度〈灰度〉信息。 例如, 一个 200 像素× 300 像素的图像被存储为一个 200 行 300 列的矩阵,可以使用 1.1.5小节介绍的选取矩阵元素〈或子块〉的方式来选择图像中的一个像素或一个区域.

    如果矩阵元素的类型是双精度的, 则元素的取值范围是从 0 到 1 :如果是 8 位无符号整数,则取值范围从0到255。数据0表示黑色,而1(或255)表示最大亮度〈通常为白色〉

    2、RGB 图像(RGBlmage)
    RGB 图像使用3个一组的数据表达每个像素的颜色, 即其中的红色、绿色和蓝色分量。
    在Matlab 中, RGB 图像被存储在一个m ×n×3的三维数组中。对于图像中的每个像素, 存
    储的三个颜色分量合成像素的最终颜色。例如, RGB 图像I 中位置在11 行40 列的像素的
    RGB 值为I( 11,40.1:3 )。或I( 11,40,:),该像素的红色分量为I(11,40,1),蓝色分量为I( 11,40,3 )。
    而I (:,:,1 )则表示整个的红色分量图像.

    RGB 图像同样可以由观精度数组或8 位无符号整数数组存储。图1.6 是一个使用双精度
    数组存储ROB 图像的例子。

    3、索引图像(indexed Image)
    索引图像往往包含两个数组,一个图像数据矩阵(Image Matrix )和一个颜色索引表( Colormap )。对应于图像中的每一个像素, 图像数据数组都包含一个指向颜色索引表的索 引值。
    颜色索引表是一个m× 3 的双精度型矩阵, 每一行指定一种颜色的 3 个 RGB 分量,即color = [R G B]。 其中 R、G、 B 是实数类型的现精度数, 取值0~ 1。 0 表示全黑, 1 表示最大亮度。 图 1.7 是一个索引图像的实例, 需要注意的是, 图像中的每个像素都用整数表示, 其含义为颜色索引表中对应颜色的索引。

    图像数据矩阵和颜色索引表的关系取决于图像数据炬阵中存储的数据类型是双精度类
    型还是8位无符号整数。
    如果图像数据使用双精度类型存储, 则像索数据1表示颜色索引表中的第一行, 像素数
    据2表示颜色索引表中的第二行, 以此类推。如果图像数据使用8位无符号整数存储, 则存
    在一个额外的偏移量-1, 像素数据0表示颜色索引表中的第一行, 而1表示索引表中的第二
    行, 以此类推。
    8 位方式存储的图像可以支持256 种颜色(或256 级灰度〉。因1.7 中, 数据矩阵使用的
    是双精度类型, 所以没有偏移量. 数据5表示颜色表中的第5种颜色。

    4、二值图像( Binary Image)
    在二值图像中, 像素的颜色只有两种取值: 黑或白。Matlab 将二值图像存储为一个二维
    矩阵, 每个元素的取值只有0和1两种情况,0表示黑色, 而1表示白色。
    二值图像可以被看作是一种特殊的只存在黑和白两种颜色的亮度图像, 当然, 也可以将
    二值图像看作是颜色索引表中只存在两种颜色〈黑和白〉的索引图像。

    Matlab 中使用uint8 型的逻辑数组存储二值图像, 通过一个逻辑标志表示数据有效范围是0到1,而如果逻辑标志未被置位,则有效范围为0到255。

    5、多帧图像( Multlframe Image Array)
    实际应用中, 可能需要处理多幅按时间或视角方式连续排列的图像, 我们把这种图像称
    之为多帧图像(所谓“ 帧” 就是影像动画中最小单位的单幅影像,画面〉。例如核磁共振成像数
    据或视频片断. Matlab提供了在同一个矩阵中存储多帧图像的方法, 实际上就是在图像矩阵
    中增加一个维度来代表时间或视角信息. 例如, 一个拥有5 张连续的400 像素× 300 像素的
    RGB图像的多帧连续片断的存储方式是一个400× 300 × 3× 5 的矩阵, 一组同样大小的灰皮
    图像则可以使用一个400× 300 × 1× 5 的矩阵来存储.

    如果多帧图像使用索引图像的方式存储,则只有图像数据矩阵被按多帧形式存储, 而颜
    色索引表只能公用。因此, 在多帧索引图像中, 所有的索引图像公用一个颜色索引表, 进而
    只能使用相同的颜色组合。

    默认情况下,matlab将绝大多数数据存储为双精度类型〈ω 位浮点数)以保证运算的精
    确性. 而对于图像而言, 这种数据类型在图像尺寸较大时可能并不理想。例如, 一张1000
    像萦见方的图像拥有一百万个像素, 如果每个像索用64位二进制数表示, 则总共需要大约
    8MB的内存空间.
    为了减小图像信息的空间开销, 可以将图像信息存为8 位无符号整型数(uint8)和16
    位无符号整型数( uint16 )的数组, 这样只需要双精度浮点数八分之一或四分之一的空间。
    在上述3种存储类型中双精度和 uint8 使用最多, uint16 的情况与 uint8 大致类似.

    Matlab的图像转换

    有时必须将图像存储格式加以转换才能使用某些图像处理函数。例如,当使用某些Matlab
    内置的滤镜时, 需要将索引图像转换为RGB 图像或者灰度图像, Matlab 才会将图像滤镜应
    用于图像数据本身, 而不是索引图像中的颜色索引值表〈这将产生无意义的结果〉.
    Matlab 提供了一系列存储格式转换函数,如表1.11 所示.它们的名字都便于记忆,例如,
    ind2gray 可以将索引图像转化为灰度图像。

    也可以使用一些矩阵操作函数实现某些格式转换。例如.下面的语句可以将一幅灰度图
    像转换为RGB图像.
    RGBIMAGE = CAT(3, GRAY, GRAY, GRAY);

    2. 图像数据类型转换
    Matlab 图像处理工具箱中支持的默认图像数据类型是uint8, 使用imread函数读取的
    图像文件一般都为uint8类型。然而, 很多数学函数如sin等并不支持double以外的类
    型, 例如, 当试图对uint8 类型直接使用sin函数进行操作时, Matlb会提示如下的错
    误信息

    sin(D):
    H? Undehned functioii <!>i; methodsinfor; input a,rguments of type- ’uint8'

    针对这种情况, 除了使用1.1.4 小节介绍的强制类型转换方法外, 还可利用图像处理工
    具箱中的内置图像数据类型转换函数. 内置转换函数的优势在于它们可以帮助处理数据偏移
    量和归一化变换, 从而简化了编程工作.
    一些常用的图像类型转换函数如表1.12所示

    图像的输入输出和显示

    matlab可以处理以下的图像文件类型: BMP、HDF、JPEG、PCX、TIFF、XWD、ICO、
    GIF、CURo 可以使用imread和imwrite函数对国像文件进行读写操作,使用imfinfo函数来
    获得数字图像的相关信息.

    1. imread函数
    imread函数可以将指定位置的图像文件读入工作区。对于除索引图像以外的情况,其原
    型为:
    A =imread(FileNAME, FMT);

    2. IMWRITE函数
    imwrite函数用于将指定的图像数据写入文件中,通过指定不同的保存文件扩展名,起到
    图像格式转换的作用〈参见例2.4 ). 其调用格式为:
    imwite(A, FileName,FMT);
    • FILENAME参数指定文件名(不必包含扩展名).
    • FMT参数指定保存文件所采用的格式.

    存储索引图像时,还需要一并存储颜色索引表,则此时IMWRITE函数的使用方法应为:
    imwrite(A, HAP, FILENAME, FMT);

    3. imfinfo函数
    imfinfo函数可以读取图像文件中的某些属性信息〈比如修改日期、大小、
    格式、高度、宽度、色深、颜色空间、存储方式等。其调用格式为:
    imfinfo(FileName,FMT);
    参数说明
    • FILENAME 参数指定文件名.
    • FMT 参数是可选参数, 用于指定文件格式.

    图像的显示
    一般使用imshow函数来显示图像, 该函数可以创建一个图像对象, 并可以自动设置图
    像的诸多属性,从而简化编程操作。这里介绍imshow函数的几种常见调用方式.

    1.imshow函数
    imshow函数用于显示工作区或图像文件中的图像.在显示的同时可控制部分效果〈参见
    例12.6), 常用的调用形式为:

    2.多帧图像的显示
    在显示多帧图像时,可以显示多帧中的一帧,或者将它们显示在同一个窗口内,也可以
    将多帧图像转化成电影播放出来. 这3种方式的实现如例1.8所示。

    展开全文
  • 计算机图像处理实验课1-9,看完本课程可以让你matlab技能小小进步,对图像处理稍微了解。、 (一)matlab数字图像处理实验-guide的简单使用教程 (二)matlab数字图像处理实验-图像的几何变换 (三)matlab数字...
    展开全文
  • MATLAB图像处理

    2018-10-22 21:38:06
    全面系统的学习MATLAB图像处理中的应用
  • 整理电脑时,发现了本科时做的一个matlab GUI,关于图像处理的一些基本操作,里面有挺多功能的,看下面的图片。 图像类型转化,几何运算,图像变换,添加噪声,图像复原,图像增强,图像分割,形态学处理,小波变换...
  • 由于这段时间在做一个图像处理与三维重建的项目,其中数字图像处理的知识是必不可少的,学习matlab也有一段时间了,所以现在抽点时间将这段时间所学的东西做个小总结,加深理解的同时也方便以后有需要时可以查看一下...
  • 原文地址:Matlab图像处理函数汇总 作者:mimi 图像的变换  ① fft2:fft2函数用于数字图像的二维傅立叶变换,如:i=imread('104_8.tif'); j=fft2(i); ②ifft2::ifft2函数用于数字图像的二维傅立叶反变换,如...
  • matlab数字图像处理实验 1、什么是平滑处理?  首先明白几个名词:  (1)噪声:图像噪声是指存在于图像数据中的不必要的或多余的干扰信息。 1.高斯噪声:高斯噪声是指它的概率密度函数服从高斯分布(即正态...
  • 经过上一篇文章的《matlab GUI图像图像基础》,我们可以知道说是入门了GUI,对于GUI图像图形还可以调用函数形成,但是对于学习图像处理来说,感觉没有那个必要去学,会了基础,就可以自己GUI图像处理功能了,主要...
  • 今天发现了matlab图像处理工具箱的强大之处, 任务缘由: 需要对图像进行批处理改变尺寸 一般遇到这种任务,我们往往都会写matlab代码进行批量操作 但是matlab有自带的很强大的图像处理工具箱,  图片批处理...
  • matlab 数字图像处理GUI设计。
  • 今天给matlab处理过的图像加投影信息出错,记录一下,防止以后出错,也小伙伴们一起学习! %% 遥感影像的读写操作(带有空间坐标信息) clc clear%读取没有空间坐标的影像 Y=imread('此处为没有投影信息的图像的...
  • GUI,即图形用户接口,是MATLAB的可视化操作功能,本文编写一个简单GUI进行图像处理。1、新建GUI文件,点击file-&gt;new-&gt;GUI如下图所示点击GUI后出现如下图界面,默认为Blank GUI (Default)选项,点击OK...
  • (注:本文代码大部分可从《数字图像处理 第三版》中找到)使用软件:MATLAB R2018a学习前提:了解matlab的GUI界面的每个按钮参考资料:《数字图像处理 第三版》,CSDN博客使用初音图片P站画师uid:1589657。...
  • 1.1 MATLAB图像处理基本操作 本文中对于大多数的操作,是对数字图像处理领域中最为著名的“lena”图片进行操作的。原图如下(Figure 1):  Figure 1 首先,在MATLAB中显示这幅图片: I=imread('lena.jpg')...
  • matlab图像处理的基本函数(1)
  • 平滑滤波——matlab图像处理 平滑滤波的目的是消除或尽量减少噪声,改善图像的质量。假设加性噪声是随机独立分布,这样利用图像像素领域的平均或加权平均即可有效地抑制噪声干扰。从信号分析的观点来看,图像平滑...
1 2 3 4 5 ... 20
收藏数 50,784
精华内容 20,313