精华内容
下载资源
问答
  • MATLAB中图像的基本操作1、读取、显示图片MATLAB中提供了immread()与imshow()函数读取和显示图片读取函数imread()原型: A = imread(‘filename.fmt’)A是结构体名,用来存储读入的图像数据。 filename是...

    MATLAB中图像的基本操作

    1、读取、显示图片

    MATLAB中提供了immread()与imshow()函数读取和显示图片。
    读取函数imread()原型:
    A = imread(‘filename.fmt’)

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

    imshow:
    imshow(I)
    

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

      大多数彩色图片是基于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)

    3、将灰度图片变成负片

      对图像进行操作,实际上是将图像看成许多个像素点,对每个像素点进行操作。在计算机系统中,灰度图片被看成是许多个由值在[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)%显示负片
    展开全文
  • MATLAB中图像读取函数与OpenCV一样是imread,可以打开指定路径图片,其路径表示方式与OpenCV中有些许不同如: srcImage=imread('E:\MatlabWorkSpace\实验一\实验一图一.png'); 路径符号为单"\",Opencv为双"\",其函数...

    1.imread()

    MATLAB中图像读取函数与OpenCV一样是imread,可以打开指定路径图片,其路径表示方式与OpenCV中有些许不同如:

    srcImage=imread('E:\MatlabWorkSpace\实验一\实验一图一.png');

    路径符号为单"\",Opencv为双"\",其函数原型为:

    A=imread(filename,fmt);



    2.将打开的图像转换为灰度图rgb2gray

    grayImage=rgb2gray(srcImage);


    3.imwrite

    保存图片,一定要注明图片格式如jpg,bmp,png等。原型如下:

    imwrite(A,filename,fmt);

    保存图片时可指定图片保存路径。如

    imwrite(grayImage,'E:\MatlabWorkSpace\实验一\grayImage.jpg');


    4.imhist

    绘制图像直方图函数,直方图绘制后可直接显示,不需要用imshow进行显示。如:

    imhist(grayImage);


    5.imfinfo

    读取图片信息包括Height、Width、Format、ColorType等信息,可利用此函数判断函数为彩图还是灰度图.如:

    info=imfinfo('E:\MatlabWorkSpace\实验一\grayImage.jpg');

    ***此处貌似必须先将要读取的图片保存下来,之后指定图像所在路径,初学没发现其他方法,欢迎指正。


    6.subplot

    将图片放到一个窗口,需指定三个参数,原型如下:

    subplot(m n p)

    m、n、p分别代表该窗口中图像排列的行数、列数以及第几幅图片

    可结合title使用


    7.adapthisteq()

    图像直方图均衡化

    H1=adapthisteq(grayImage);

    8.imadjust()

    该函数用于调节灰度图像的亮度或彩色图像的颜色矩阵。用法如下:

    J=imadjust(I);

    将灰度图像I中的亮度值映射到J中的新值,使得图像中1%的数据饱和至最低和最高亮度,这可以增加输出图像J对比度值,此用法相当于imadjust(I,stretchlim(I))


    J=imadjust(I,[low_in,hing_in],[low_out,high_out])

    将图像I中的亮度值映射到J中的新值即将low_in至high_in之间的值映射到low_out至high_out之间的值.low_in以下与high_in以上的值被剪切掉了,也就是说low_in以下的值映射到low_out,high_in以上的值映射到high_out。它们都可以使用空的矩阵[],默认值是[0 1]

    low_in、high_in、low_out、high_out的值均在0~1之间,可由已知值除以255算出值。例如low_in为100则,该位置应为:100/255=0.392

    J=imadjust(I,[low_in,hing_in],[low_out,high_out],gamma)

    其中gamma指定描述值I和J关系的曲线形状。如果gamma小于1,此映射偏重更高数值(明亮)输出,如果gamma大于1,此映射偏重更低数(灰暗)输出,如果省略此参数,默认为(线性映射).如图




    示例代码:

    %加载第一幅图像对其进行处理
    srcImage=imread('E:\MatlabWorkSpace\实验一\实验一图一.png');
    
    %转化成灰度图
    grayImage=rgb2gray(srcImage);
    imwrite(grayImage,'E:\MatlabWorkSpace\实验一\grayImage.jpg');
    info=imfinfo('E:\MatlabWorkSpace\实验一\grayImage.jpg');
    %[M,N]=size(grayImage);
    
    %在窗口中显示2*2排列图像
    subplot(2,3,1);
    imshow(grayImage);
    title('原图像灰度图');
    
    %绘制灰度直方图
    subplot(2,3,2);
    imhist(grayImage);
    title('灰度直方图');
    %[M,N]=size(hist);
    
    %对灰度直方图均衡化处理
    subplot(2,3,3);
    H1=adapthisteq(grayImage);
    imhist(H1);
    title('直方图均衡化');
    
    %调整图像灰度等级
    %原图像灰度集中10~120,调整到100~200
    dstImage=imadjust(grayImage,[0.039,0.470],[0.392,0.784],0.6);
    subplot(2,3,4);
    imshow(dstImage);%显式调整后图像
    title('灰度级调整后');
    subplot(2,3,5);
    imhist(dstImage);
    title('灰度调整后直方图');


    运行结果如图所示:



    
    展开全文
  • I = imread(‘C1.jpg’);%给出图片路径即可,I是一个三维矩阵J = rgb2gray(I);figure, imshow(I), figure, imshow(J);转换前 转换后

    I = imread(‘C1.jpg’);%给出图片路径即可,I是一个三维矩阵

    J = rgb2gray(I);

    figure, imshow(I),

    figure, imshow(J);

    转换前
    这里写图片描述

    转换后
    这里写图片描述

    展开全文
  • %%%读取test图片(为三通道彩色图片) imfinfo('test.jpg') %%%显示图片详细信息,不想看也ok的 I1 = rgb2gray(I); %%%将RGB图片转换为灰度图片 imshow(I1); %%%可以看一看转换后的图片哈,当然,不想看也可以不看...
    I = imread('test.jpg'); %%%读取test图片(为三通道彩色图片)
    imfinfo('test.jpg') %%%显示图片详细信息,不想看也ok的
    I1 = rgb2gray(I); %%%将RGB图片转换为灰度图片
    imshow(I1); %%%可以看一看转换后的图片哈,当然,不想看也可以不看哈
    imwrite(I1,'testsave.jpg') %%%将转换后的I1图片保存为testsave.jpg。
    

    这样就转换成功啦。

    展开全文
  • 1.图像的读取 定义该幅图片名为after.png ...2.彩色图片转化为灰度图片 >> A=imread('after.png'); >> A_gray=rgb2gray(A); >> imshow(A_gray) 程序运行后的 ...
  • matlab灰度值到图片的转换

    千次阅读 2012-05-07 10:24:24
    因为jpg格式默认是三通道的rgb,但是灰度图只具备一个通道 使用imwrite函数会出现问题 ...%读取图片 gray = rgb2gray(BLADE_source);%转换成灰度图 handle=imshow(gray);%获得句柄 saveas(handle,
  • 1、MATLAB读取图像时要将图片数据转换为double imread() 把灰度图存入一个8位矩阵或彩图存入8位RGB矩阵中 因为MATLAB读入图像的数据是uint8格式,但是MATLAB中一般采用double型(64)位进行和运算,所以要...
  • 在 python 中除了用 opencv,也可以用 matplotlib 和 PIL 这两个库操作图片。... 显示图片import matplotlib.pyplot as plt # plt 用于显示图片import matplotlib.image as mpimg # mpimg 用于读取图片import...
  • 对GRB转灰度 索引转灰度 RGB转二值图像 随机矩阵转灰度 索引类型转换为RGB类型 %index to rgb clear all; close all; [X,map] = imread('trees','tif');%读取索引图像 RGB=ind2rgb(X,map);%转换索引图像为RGB让...
  • OpenCV将RGBGray图的实现: Matlab是个很不错的工具,用起来很方便,先看看Matlab的实现: img = imread('mat.jpg'); //读取一张图片 imshow(img); //显示原始图片 gra
  • MATLAB中图像读取函数与OpenCV一样是imread,可以打开指定路径图片,其路径表示方式与OpenCV中有些许不同如: srcImage=imread('E:\MatlabWorkSpace\实验一\实验一图一.png'); 路径符号为单"\",Opencv为双"\",其函数...
  • matlab图片滤波处理

    千次阅读 2019-05-22 20:30:54
    %读取图片并转换为灰度图片 I=imread('1.jpg'); imshow(I); I1=rgb2gray(I); imshow(I1); 椒盐噪声 I2=imnoise(I1,'gaussian'); figure,imshow(I2); 高斯噪声 I3=imnoise(I1,'salt & ...
  • 图像格式及Matlab的格式转换

    千次阅读 2019-11-03 16:35:50
    matlab读取图片后保存的数据是uint8类型(8位无符号整数,即1个字节),以此方式存储的图像称作8位图像,好处相比较默认matlab数据类型双精度浮点double(64位,8个字节),自然可以节省很大一部分存储空间。...
  • 这是我的读取图像和翻转处理的函数为什么只能对灰度处理后的图像翻转对彩色图像会报错?我用的是7.0的!我是初学者啊求大神!!!!!!functionwenjian_open_Callback(hObject,event...这是我的读取图像和翻转处理...
  • 好了,不说这么多了,直奔主题,...(1)彩色图片转灰度图直方图均衡化处理:%读取图片 I=imread('test.jpg'); %将图片转化成灰度图片 I=rgb2gray(I); %显示原图像 figure(4),imshow(I); %获得灰度图的长和宽 [M,N]=si
  •  matlab读取图片后保存的数据是uint8类型(8位无符号整数,即1个字节),以此方式存储的图像称作8位图像,好处相比较默认matlab数据类型双精度浮点double(64位,8个字节),自然可以节省很大一部分存储空间。...
  • 1、读取图片函数imread()im=imread('00001.jpg')输出结果w*h*channel,且为unit8型,像素值为0-255区间2、读取图片函数im2double()im1=im2double('im')输出结果为double型,像素值为0-1区间,这里可参考类型转换 ...
  • 前言:关于uint8和float型数据 为了节省存储空间,图像一般存储在一种特殊的数据类型...因此,通过matlab以及各种python包(skimage,imageio)读入图像的数据类型都是uint8的,而在数据运算中,如果不转换成doub...
  • 目录基本元素图片摄像头按位运算图像几何变换缩放:翻转:平移:旋转:透视变换基本元素图片 OpenCV中彩色图是以B-G-R通道顺序存储的,灰度图只有一个通道,图像坐标的起始点是在左上角,所以行对应的是y,列对应的...
  •  matlab读取图片后保存的数据是uint8类型(8位无符号整数,即1个字节),以此方式存储的图像称作8位图像,好处相比较默认matlab数据类型双精度浮点double(64位,8个字节),自然可以节省很大一部分存储空间。...
  • 实验二:图像运算一、实验目的掌握MATLAB语言中图像数据的读取、显示与保存方法;掌握统计图像灰度直方图的方法理解直方图均衡的原理和作用,掌握图像直方图均衡化的方法理解图像点运算、代数运算、几何运算的基本...
  • 二值图像是指在图像中,灰度等级只有两种,也就是说,图像中的任何像素点的灰度值均为0或者255,...在MATLAB 读取后,是一个256 * 256 的 由 0 或 1 组成的矩阵。 下面贴出把JPG格式图片转为TIF的MATLAB代码 : i...
  • matlab图片,矩阵,函数的基本用法

    千次阅读 2014-10-18 15:28:00
    读取图像:用imread函数读取图像文件,文件格式可以是TIFF、JPEG、GIF、BMP、PNG等。...如果图片是彩色的,可以用rgb2gray转换成灰度图:    >> f = rgb2gray(f);  然后可以用size函数看图像的大小
  • 本人偏爱 matpoltlib,因为它的语法更像 matlab。一、matplotlib1. 显示图片2. 显示某个通道3. 将 RGB 转为灰度图matplotlib 中没有合适的函数可以将 RGB 图转换为灰度图,可以根据公式自定义一个:4. 对图像进行...

空空如也

空空如也

1 2 3 4
收藏数 76
精华内容 30
关键字:

matlab读取图片转灰度

matlab 订阅