精华内容
下载资源
问答
  • Matlab程序,自己手动实现rgb图像转灰度图像。
  • matlab灰度图转rgb图片

    2021-03-30 20:40:51
    matlab灰度图转rgb图片
  • C++ RGB转灰度图像

    千次阅读 2016-10-04 14:17:33
    RGB转灰度,通常会使用下面的一个心理学公式:(opencv和matlab中使用的也是该公式)Gray = 0.2989*R + 0.5870*G + 0.1140*B抛却指令优化不谈,优化转化速度的最直接方法就是将浮点运算转化为整数运算:比如我们可以...

    RGB转灰度,通常会使用下面的一个心理学公式:(Matlab和OpenCV中使用的也是该公式)

    Gray = 0.2989*R + 0.5870*G + 0.1140*B

    抛却指令优化不谈,优化转化速度的最直接方法就是将浮点运算转化为整数运算:

    比如我们可以将上式转化为:

    Gray = (2989*R + 5870*G + 1140*B)/ 10000,

    但是上面的除法还是不够快,我们完全可以使用移位操作来代替:

    Gray = (4898*R + 9618*G + 1868*B)>> 14

    此外,对大部分计算机视觉应用来说,图像的精度问题不是一个特别敏感的问题,因此我们可以通过降低精度来进一步减少计算量:(我通常使用8位精度)

    Gray = (76*R + 150*G + 30*B)>> 8

    对应的C++ 程序也比较简单:

    bool rgb2gray(unsigned char *src,unsigned char *dest,int width,int height)
    {
        int r, g, b;
        for (int i=0;i<width*height;++i)
        {
            r = *src++; // load red
            g = *src++; // load green
            b = *src++; // load blue
            // build weighted average:
            *dest++ = (r * 76 + g * 150 + b * 30) >>8;
        }
        return true;
    }

    更多精度转换,大家也可以参照下表:

            Gray = (R*1 + G*2 + B*1) >> 2
            Gray = (R*2 + G*5 + B*1) >> 3
            Gray = (R*4 + G*10 + B*2) >> 4
            Gray = (R*9 + G*19 + B*4) >> 5
            Gray = (R*19 + G*37 + B*8) >> 6
            Gray = (R*38 + G*75 + B*15) >> 7
            Gray = (R*76 + G*150 + B*30) >> 8
            Gray = (R*153 + G*300 + B*59) >> 9
            Gray = (R*306 + G*601 + B*117) >> 10
            Gray = (R*612 + G*1202 + B*234) >> 11
            Gray = (R*1224 + G*2405 + B*467) >> 12
            Gray = (R*2449 + G*4809 + B*934) >> 13
            Gray = (R*4898 + G*9618 + B*1868) >> 14
            Gray = (R*9797 + G*19235 + B*3736) >> 15
            Gray = (R*19595 + G*38469 + B*7472) >> 16
            Gray = (R*39190 + G*76939 + B*14943) >> 17
            Gray = (R*78381 + G*153878 + B*29885) >> 18
            Gray = (R*156762 + G*307757 + B*59769) >> 19
            Gray = (R*313524 + G*615514 + B*119538) >> 20
    展开全文
  • %matlab基本图像处理 I = imread('yellowlily.jpg'); >> gI = rgb2gray(I); >> bwI = im2bw(gI); >> eI = edge(bwI,'canny'); >> subplot(2,2,1);imshow(I); >> subplot(2,2,2);...

    %matlab基本图像处理

    I = imread('yellowlily.jpg');
    >> gI = rgb2gray(I);
    >> bwI = im2bw(gI);
    >> eI = edge(bwI,'canny');
    >> subplot(2,2,1);imshow(I);
    >> subplot(2,2,2);imshow(gI);
    >> subplot(2,2,3);imshow(bwI);
    >> subplot(2,2,4);imshow(eI);

    %补充边缘算法

    eI = edge(bwI,'log');
    >> eI = edge(bwI,'sobel');
    >> eI = edge(bwI,'prewitt');
    >> eI = edge(bwI,'roberts');

     

    展开全文
  • matlab RGB转灰度图

    千次阅读 2014-07-05 14:19:20
    imgrgb = imread('flower.jpg'); imwrite(imgrgb, 'flower.bmp', 'bmp'); % jpg格式转换为bmp格式 imggray = rgb2gray(imgrgb);...imwrite(imggray, 'flower_grayscale.bmp', 'bmp'); % 存储为灰度图像
    imgrgb = imread('flower.jpg');
    imwrite(imgrgb, 'flower.bmp', 'bmp'); % jpg格式转换为bmp格式
    imggray = rgb2gray(imgrgb);
    imwrite(imggray, 'flower_grayscale.bmp', 'bmp'); % 存储为灰度图像
    展开全文
  • rgb 转换算法, 灰度图直方图互, rgb yuv 图。matlab的m文件。
  • 之前学FPGA 先要要应用在图像方面,在网上也找了很多资料,matlab算是资源最多了的,博主本着学习的目的,将每天所学的写成笔记,方便以后的复习,同时也可以让...rgb转灰度 Gray = R0.299 + G0.587 + B*0.114 ...

    MATLAB/FPGA图像学习-rgb转灰度

    之前学FPGA 先要要应用在图像方面,在网上也找了很多资料,matlab算是资源最多了的,博主本着学习的目的,将每天所学的写成笔记,方便以后的复习,同时也可以让刚学习的小伙伴参考一下。如果大神们能看到,也希望能够指导下。博主对自己的方向还很迷茫。十分乐意能与大家相互交流学习。
    rgb转灰度
    Gray = R0.299 + G0.587 + B*0.114

    clc;
    clear all;
    close all;
    rgb_data=imread('juncao.jpg');
    imshow(rgb_data);
    r_data=rgb_data(:,:,1);
    g_data=rgb_data(:,:,2);
    b_data=rgb_data(:,:,3);
    [row,col,dim]=size(rgb_data);
    gray_data=zeros(row,col,dim);%gray_data=rgb_data;
    y_gray=zeros(row,col);
    cb_gray=zeros(row,col);
    cr_gray=zeros(row,col);
    for r=1:row
        for c=1:col
            y_gray(r,c)=r_data(r,c)*0.299+g_data(r,c)*0.587+b_data(r,c)*0.114;
        end
    end
    gray_data(:,:,1)=y_gray;
    gray_data(:,:,2)=y_gray;
    gray_data(:,:,3)=y_gray;%灰度值
    gr=uint8(gray_data);
    figure;
    imshow(gr);
    

    刚开始取灰度的时候 出了一个错误 ,matlab只显示了原图 ,灰度图只有有限个黑点的白色图片,后来问了大佬后 ,才发现在 %灰度值 这一步有问题。本来gray_data是unit型的数据,但在经过灰度值赋值后变成了double型。数据类型的变换导致了图片只有有限个黑点(具体可以查看相关资料),解决办法就是把double型数据变成uint8。
    zeros生成0矩阵;zeros(x,y)(与ones效果相同)
    figure保存前一张图片
    附上显示的原图与灰度图

    出错的:

    在这里插入图片描述改正后的:
    在这里插入图片描述

    展开全文
  • 任意图像转换灰度图像 matlab

    千次阅读 2011-11-30 15:26:15
    %-- Converts image to one channel (grayscale) double function img = im2graydouble(img)   [dimy, dimx, c] = size(img);  if(isfloat(img)) % image is a double  if(c==3) ... img = rgb2gray
  • OpenCV将RGB转Gray的实现: Matlab是个很不错的工具,用起来很方便,先看看Matlab的实现: img = imread('mat.jpg'); //读取一张图片 imshow(img); //显示原始图片 gra
  • MATLAB图像二值化,工具:Image Processing Toolbox
  • Matlab实现灰度图像转换成RGB图像
  • I = imread(‘C1.jpg’);%给出图片路径即可,I是一个三维矩阵 J = rgb2gray(I); figure, imshow(I), figure, imshow(J); 转换前 转换后
  • 此函数根据源图像的颜色将灰度图像转换为 RGB。 此代码最初的灵感来自 Jeny Rajan 和 Chandrashekar PS 的代码 gray2rgb。该代码经过优化和重写,以更接近地实现 Welsh、Ashikhmin 和 Mueller 的论文“将颜色转换为...
  • Matlab----RGB图像转换成灰度图像

    千次阅读 2020-01-27 23:22:24
    真彩图(RGB图像)转换为灰度图 RGB=imread("peppers.png"); Gray=rgb2gray(RGB); figure,imshow(RGB); figure,imshow(Gray); RGB颜色图转换为灰度图 读取RGB颜色图的索引图像,然后将颜色图转换为灰度 [X,...
  • 使用均值和中值函数将RGB图像转换为灰度的其他方法。
  • RGB 图像转换为灰度图像的函数。 默认行为与 MATLAB 的(IP 工具箱)RGB2GRAY 相同,但 MRGB2GRAY 还具有其他几种转换方案。
  • Matlab实现的灰度图像转换成RGB图像,效果不错 用Matlab实现的灰度图像转换成RGB图像,效果不错
  • Matlab实现灰度图像转换成RGB图像

    热门讨论 2009-05-16 10:29:57
    Matlab实现的灰度图像转换成RGB图像,效果不错
  • matlab实现灰度图转rgb

    千次阅读 2020-04-27 10:21:06
    %%img为灰度图 function rgbimg = gray2rgb(img) [rows,cols]=size(img); r=zeros(rows,cols); g=zeros(rows,cols); b=zeros(rows,cols); r=double(img); g=double(img); b=double(img); rgbimg=cat(3,r,g,b)...
  • 该函数使用指定的颜色灰度图像转换为 RGB。 默认颜色是“热”。 灰度图像以名称或矩阵的形式提供。 例子: res = grs2rgb(im,cmap); res 是 size(im)×3 RGB 图像。
  • RGB灰度图像的转换原理

    千次阅读 2019-04-21 21:26:59
    RGB图像有3个通道,也就是一个3维的矩阵,灰度图只有一个通道 转换公式简单来说,就是把RGB3个通道的分量按照一定的比例计算到灰度图像中。 Gray = R0.299 + G0.587 + B0.114 matlab实现转换(直接显示使用rgb2gray...
  • 求分享Matlab实现灰度图像转换成RGB图像的代码</p>
  • RGB转灰度,通常会使用下面的一个心理学公式:(Matlab和OpenCV中使用的也是该公式) Gray = 0.2989*R + 0.5870*G + 0.1140*B 实现代码如下 #include //通过上述计算公式得到灰度图像 void ...
  • matlab提供了彩色图像转灰度图的函数——rgb2gray(colorImg)。该方法内部是通过Gray = 0.29900 * R + 0.58700 * G + 0.11400 * B该公式计算的。 这里采用了三种自定义函数实现彩色图到灰度图的转换 采用三通道的...
  • 今天第一天学习用matlab进行数字图像处理,先找几个容易的操作练练手,小小的成就感才能让人继续前行 I=imread('aaron.jpg') %读入当前工作目录下...%将RGB彩色图像转换为灰度图像 figure;%打开一个新窗口 imshow(...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 499
精华内容 199
关键字:

rgb转灰度图matlab

matlab 订阅