精华内容
下载资源
问答
  • 此函数用于将rgb图像转为hsi图像并显示出rgb图、灰度图、hsi图 ,输入:JPG或JPEG或BMP等一般图片名称(加后缀),输出:rgb图、灰度图、hsi图,返回值:hsi矩阵
  • MyYuanLaiPic = imread('e:/image/matlab/Cluo.jpg');%读取RGB格式的图像 ...%用已有的函数进行RGB灰度图像的转换 [rows , cols , colors] = size(MyYuanLaiPic);%得到原来图像的矩阵的参数 MidG...
    MyYuanLaiPic = imread('e:/image/matlab/Cluo.jpg');%读取RGB格式的图像  
    MyFirstGrayPic = rgb2gray(MyYuanLaiPic);%用已有的函数进行RGB到灰度图像的转换  
      
    [rows , cols , colors] = size(MyYuanLaiPic);%得到原来图像的矩阵的参数  
    MidGrayPic = zeros(rows , cols);%用得到的参数创建一个全零的矩阵,这个矩阵用来存储用下面的方法产生的灰度图像  
    MidGrayPic = uint8(MidGrayPic);%将创建的全零矩阵转化为uint8格式,因为用上面的语句创建之后图像是double型的  
      
    for i = 1:rows  
        for j = 1:cols  
            sum = 0;  
            for k = 1:colors  
                sum = sum + MyYuanLaiPic(i , j , k) / 3;%进行转化的关键公式,sum每次都因为后面的数字而不能超过255  
            end  
            MidGrayPic(i , j) = sum;  
        end  
    end  
    imwrite(MidGrayPic , 'E:/image/matlab/Cluo.png' , 'png');  
      
    %显示原来的RGB图像  
    figure(1);  
    imshow(MyYuanLaiPic);  
      
    %显示经过系统函数运算过的灰度图像  
    figure(2);  
    imshow(MyFirstGrayPic);  
      
    %显示转化之后的灰度图像  
    figure(3);  
    imshow(MidGrayPic);  

     

    转载于:https://www.cnblogs.com/ChenKe-cheng/p/10611424.html

    展开全文
  • Matlab将图片转为灰度图并保存

    千次阅读 2019-12-08 22:09:27
    H是读入的一张图片 利用gray变量保存转换后的结果 将gray写入新的图片 H=imread('baboon.bmp'); gray=rgb2gray(H); imwrite(gray,'baboon_gray.bmp'); imshow('baboon_gray.bmp');
    • H是读入的一张图片
    • 利用gray变量保存转换后的结果
    • 将gray写入新的图片
    H=imread('baboon.bmp');
    gray=rgb2gray(H);
    imwrite(gray,'baboon_gray.bmp');
    imshow('baboon_gray.bmp');
    
    展开全文
  • 使用MATLAB2014a将灰度图转为彩色图

    千次阅读 2019-05-02 20:17:45
    MATLAB代码: I = imread('KITTI2015训练300对比1.png'); I = rgb2gray(I); rgb = label2rgb(gray2ind(I, 255), jet(255)); imshow(rgb); 效果:

    MATLAB代码:

    I = imread('KITTI2015训练300对比1.png');
    I = rgb2gray(I);
    rgb = label2rgb(gray2ind(I, 255), jet(255));
    imshow(rgb);
    

    效果:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    参考:Map grayscale to color using colormap

    展开全文
  • 要点:RGB转换为灰度图像(包括将彩色映射表对应的索引图像的映射表转换成灰度映射表‘图像其实是彩色的’);RGB转换为索引图像;灰度图像转换成索引图像;...RGB图像转换为索引图像在MATLAB中直接调用rgb2ind...

    要点:

    RGB转换为灰度图像(包括将彩色映射表对应的索引图像的映射表转换成灰度映射表‘图像其实是彩色的’);

    RGB转换为索引图像;

    灰度图像转换成索引图像;

    索引图像转换成灰度图像;

    索引图像转换为RGB图像;

    二值图像的转换

    (1)、灰度图像转换成二值图像;

    (2)、索引图像转换成二值图像;

    (3)、RGB图像转换成二值图像;

    数值矩阵转换成灰度图像。

    RGB图像转换为索引图像

    在MATLAB中直接调用rgb2ind()就可将RGB图像转换为索引图像,在函数rgb2ind()中还可以输入参数dither_option,其表示是否使用消抖。

    [X,map]=rgb2ind(I,tol);该函数利用均分量化的方法将RGB图像转化为索引图像,。其中I是原RGB图像,tol的范围从0.0-1.0,[X,map]为生成的索引图像,map为索引图像的颜色表,其中包含至少((1/tol)+1)^3个颜色。

    [X,map]=rgb2ind(I,N);该函数利用最小方差量化的方法,mao中至少包含N个颜色。

    X=rgb2ind(I,map);该函数是通过与RGB中最相近的颜色进行匹配生成颜色映射表map,[X,mao]对应于新的索引图像,。

    [...]=rgb2ind(...,dither_option);该函数是通过dither_option来设置图像转换是否进行颜色消抖,dither_option取值为dither则表示消抖,dither_option取值为nodither则不消抖。格式中“...”表示根据情况可以选择上述3中不同的模式。

    程序举例

    close

    all;clear all;clc;

    RGB=imread('yaoming.jpg');

    [X1,map1]=rgb2ind(RGB,32);

    [X2,map2]=rgb2ind(RGB,0.7);

    map3=colorcube(64);%创建一个指定颜色数目的RGB

    颜色映射表,只是确定数目

    map33=colorcube(64);

    map333=colorcube(64); X3=rgb2ind(RGB,map3);

    [X11,map11]=rgb2ind(RGB,64,'dither');

    [X22,map22]=rgb2ind(RGB,0.7,'dither');

    X33=rgb2ind(RGB,map33,'dither');

    [X111,map111]=rgb2ind(RGB,64,'nodither');

    [X222,map222]=rgb2ind(RGB,0.7,'nodither');

    X333=rgb2ind(RGB,map333,'nodither');

    figure(1);

    subplot(131),imshow(X1,map1);title('最小方差量化原图');

    subplot(132),imshow(X11,map11);title('消抖');

    subplot(133),imshow(X111,map111);title('未消抖');

    figure(2);

    subplot(131),imshow(X2,map2);title('均匀量化原图');

    subplot(132),imshow(X22,map22);title('消抖');

    subplot(133),imshow(X222,map222);title('未消抖');

    figure(3);

    subplot(131),imshow(X3,map3);title('匹配颜色映射表原图');

    subplot(132),imshow(X33,map33);title('消抖');

    subplot(133),imshow(X333,map333);title('未消抖');

    a4c26d1e5885305701be709a3d33442f.png

    a4c26d1e5885305701be709a3d33442f.png

    a4c26d1e5885305701be709a3d33442f.png

    在结果图片中可以看出,采用均匀量化的方法转化图像同等条件下显得没有最小方差量化的方法保真,而用均匀量化来显示图像的抖动与否更加明显,但衍射映射表的方法介于两者之间。

    RGB图像转换成灰度图像

    调用rgb2gray()函数可以完成图像的转换,

    彩色图像中还有彩色索引图像,彩色索引图像可利用如下方法:

    newmap=rgb2gray(map);将彩色索引图像的颜色映射表转换为彩色映射表,

    但是这种方法显示的时候不能用subplot(121)这样的方式显示,这样显示的都是灰度图像,暂时不知道为什么。

    close

    all;clear all;clc;

    %将真彩图像转化为灰度图像

    I=imread('yaoming.jpg');

    X=rgb2gray(I);

    figure,

    subplot(121),imshow(I);title('彩色图像');

    subplot(122),imshow(X);title('灰度图像');

    %将真彩索引图提取灰度映射表

    [Y,map]=imread('trees.tif');

    newmap=rgb2gray(map);

    figure(2),imshow(Y,map);

    title('原图灰度的颜色映射表');

    figure(3),imshow(Y,newmap);

    title('转换后灰度颜色映射表');

    a4c26d1e5885305701be709a3d33442f.png

    a4c26d1e5885305701be709a3d33442f.png

    索引图像转换成RGB图像

    调用ind2rgb()函数可以完成图像的转换,

    RGB=ind2rgb(X,map);转换过程中,形成一个三维数组,然后将索引图像的颜色映射表赋值给这个三维数组,输入图像的数据类型可以是double,uint8和uint16,输出为double.

    %将真彩图转化为索引图再进行颜色表提取

    [Z,map1]=rgb2ind(I,128);

    RGB1=ind2rgb(Z,map1);

    figure,imshow(Z,map1);title('原图的真彩颜色映射表');

    figure,imshow(RGB1);title('彩色映射表对应的RGB图像');

    %将真彩图转化为索引图再进行颜色表提取

    [Z,map1]=rgb2ind(I,128);

    newmap1=rgb2gray(map1);

    figure,imshow(Z,map1);title('原图的真彩颜色映射表');

    figure,imshow(Z,newmap1);title('转换后灰度颜色映射表');

    RGB1=ind2rgb(Z,map1);

    RGB2=ind2rgb(Z,newmap1);

    figure,imshow(Z,map1);title('原图的真彩颜色映射表');

    figure,imshow(Z,newmap1);title('转换后灰度颜色映射表');

    figure,imshow(RGB1);title('彩色映射表对应的RGB图像');

    figure,imshow(RGB2);title('转换后灰度颜色映射表对应的图');

    a4c26d1e5885305701be709a3d33442f.png

    a4c26d1e5885305701be709a3d33442f.png

    a4c26d1e5885305701be709a3d33442f.png

    图像图形后缀名----------------百度文库

    展开全文
  • 图像处理系统1系统功能框架工具编辑图像图像类型转换颜色空间转换正交变换保存另存为打印设置大小像剪切旋转ADRNO变换NGB/IRD M/IBW SVH/RGB RGB/HSV GB/NTSR TSC/RGN打印CTD变换打开灰度灰度倒置腐蚀膨胀边界...
  • RGB图像转为单通道灰度图像,修改文件夹中指定格式所有图片文件pathdir='D:/image/';%文件夹路径 format = 'png';%文件格式 files=dir(strcat(pathdir,'*.',format)); steps=100; hwait=waitbar(0,'准备开始'); for ...
  • Matlab报错:错误使用 rgb2gray>parse_inputs (第 79 行) MAP 必须为 m x 3 的数组。请对 RGB灰度图像使用 im2gray。 下述程序块你读取一张彩色图片,并转为灰度图像后显示。 [X,map] = imread("laina.bmp");...
  • 灰度图像放大_matlab

    2017-07-27 10:37:11
    f = imread('e:\picture\012.jpg'); %图像的大小 468*750 f = rgb2gray(f); %转为灰度图 B = pixelup(f,4,4); imshow(f); figure; imshow(B); -------------------------------------------------
  • 1、我一直以为肉眼看到的图是灰色,那就是灰度图。 其实不是,判别图像是彩色图像还是灰度图的判别方法如下: 比如下面这个img和imgB都是彩色图像 为什么会考虑到这个问题呢?... %转为灰度图 结果如下: ...
  • RGB转为灰度色算法 matlab图像类型转换以及uint8、double、im2double、im2uint8和mat2gray等说明 传统的将8位(0-256)转化为16位(0-65536)的计算方法,都是比值计算,即:256/65536 ...
  • 读入一张RGB彩色图片,并将其转为灰度图源码如下:#include <opencv2\highgui\highgui.hpp>#include <opencv2/opencv.hpp>using namespace cv;using namespace std;int main(){ Mat ...
  • img=imread('d:/xxx.bmp')... % 将24位位图转为8位灰度图 subplot(1,2,1); %1行2列显示窗口1 imshow(imgray) % 显示灰度图 [X,Y]=meshgrid(1:width,1:height); % 产生供三维绘图的X,Y数据 su
  • 首先RGB图转为灰度图,通过rgb2gray()函数;灰度图中每个像素点的灰度值根据三个分段线性函数分别映射到R,G,B三个维度,再通过叠加生成伪彩色图。 三个分段线性函数图如下: matlab程序如下: ​ %% %题目:...
  • 在 python 中除了用 opencv,也可以用 matplotlib 和 PIL 这两... 将 RGB 转为灰度图matplotlib 中没有合适的函数可以将 RGB 图转换为灰度图,可以根据公式自定义一个:4. 对图像进行放缩这里要用到 scipy5. 保存图...
  • 图像预处理--matlab实现

    千次阅读 2018-08-09 18:35:44
    matlab读出一个灰度图像和彩色图像各点灰度值...% 彩色图像转为灰度图像 im2=rgb2gray(rgb); im2(2,1040); % 用matlab读出一个彩色图像各点灰度值大小 rgb=imread('image/2.jpg'); % 3为通道数,通道为:1/2/3 r...
  • matlab图片操作

    2019-04-02 12:54:37
    读取、显示图片 I=imread("a.png",RGB) %第一个参数为图片地址,第二个图片格式,不写matlab能自动判断 , figure; %默认使用当前句柄,避免图片覆盖 ...RGB转为灰度图片 grayI = rgb2gray(I) 对图像进...
  • 以长宽固定比例展示图片 axis image 以灰度颜色展示 ...将RGB图转为灰度图 rgbImg = imread('./path/rgb.jpg') grayImg = rgb2gray(rgbImg) imwrite(grayImg, 'gray.bmp') 将多张图绘制到一个窗...
  • %rgb转为灰度图像 matlab中读取图片后保存的数据是uint8类型(8位无符号整数,即1个字节,即,最大表示255),以此方式存储的图像称作8位图像,相比较matlab默认数据类型双精度浮点double(64位,8个字节)可以节省...
  • Python把二维numpy数组转变为灰度图

    千次阅读 2020-12-28 10:01:28
    im = im.convert('L') # 这样才能转为灰度图,如果是彩色图则改L为‘RGB’ im.save('outfile.png') 承接Matlab、Python和C++的编程,机器学习、计算机视觉的理论实现及辅导,本科和硕士的均可,咸鱼交易,专业回答...
  • OriImage=imread('D:\图片\Pinned\2_110624211810_1.jpg'); %读入图片sigma1 = 10; %高斯正态分布标准差grayImg=rgb2gray... %转为灰度图像gausFilter = fspecial('gaussian',[5 5],sigma1); %高斯滤波blur=imfilte...
  • OriImage=imread('D:\图片\Pinned\2_110624211810_1.jpg'); %读入图片sigma1 = 10; %高斯正态分布标准差grayImg=rgb2gray... %转为灰度图像gausFilter = fspecial('gaussian',[5 5],sigma1); %高斯滤波blur=imfilte...
  • 1.给定图像输出直方 ... %转为灰度图像 imhist(p); 效果: 2.给定一个线性变换函数,实现图像的灰度拉伸 I = imread('E:\matlab\work\lenna.bmp') I2=I.*2-50 %做线性变换 i
  • matlab从图片提取或拟合直线并画出拟合直线的方法

    万次阅读 多人点赞 2018-11-27 09:57:07
    假如现在有如下一张灰度图(图片名为001.jpg),现在要拟合图中的那条白线 ... %如果是rgb图片则转为灰度图 [h,w]=size(im); %获取图片高(h)、宽(w) %扫描每一个像素,并记录白点(值为1)坐标及个数 n=0; ...
  • 1、读取图片函数imread()im=imread('00001.jpg')输出结果w*h*channel,且为unit8型,像素值为0-255区间2、读取图片函数im2double()im1=...3,彩色图转换为灰度图rgb2gray()im2=rgb2gray('00001.jpg')将图片转为灰度图片
  • %转为灰度图 subplot(221);imshow(I);title('原始图像'); subplot(223);imhist(J,64); title('原始图像直方图');%计算直方图 Q=histeq(J);%均衡化 subplot(222);imshow(Q);title('均衡化后的图像'); sub
  • Matlab 对图片的二值化处理

    千次阅读 2017-03-23 21:39:37
    这几天做了一道题目,要求在 5000 张图片中找出 30 张与样例相同但经过放大或缩小,高亮或变暗的图片。... 如果原本的一个像素点的rgb值为(r1,g1,b1),一个比较简易的方法转为灰度图,  就是 gray1=(r1*299+g1*587

空空如也

空空如也

1 2 3 4
收藏数 71
精华内容 28
关键字:

matlab灰度图转为rgb

matlab 订阅