zoukankan      html  css  js  c++  java
  • 灰度变换之彩色变灰色

    %I=rgb2gray(RGB);     自带的函数,一句话的事情,那个灰度拉伸也是一句话的事情 imadjust( , , , )

    MyYuanLaiPic = imread('e:/image/matlab/darkMouse.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
    %{自己写的结果,最后得出了灰度图像。向量
    (i , j , 1),(i , j , 2),(i,j,3)分别表示一个像素的RGB分量
            sum = MyYuanLaiPic(i , j , 1)*0.299 + MyYuanLaiPic(i , j , 2)*0.299 + MyYuanLaiPic(i , j , 3)*0.299;
    %} MidGrayPic(i , j)
    = sum; end end imwrite(MidGrayPic , 'E:/image/matlab/DarkMouseGray.png' , 'png'); %显示原来的RGB图像 figure(1); imshow(MyYuanLaiPic); %显示经过系统函数运算过的灰度图像 figure(2); imshow(MyFirstGrayPic); %显示转化之后的灰度图像 figure(3); imshow(MidGrayPic);

    方法一:
        对于彩色转灰度,有一个很著名的心理学公式:

                              Gray = R*0.299 + G*0.587 + B*0.114

    方法二:

         而实际应用时,希望避免低速的浮点运算,所以需要整数算法。
         注意到系数都是3位精度的没有,我们可以将它们缩放1000倍来实现整数运算算法:

                              Gray = (R*299 + G*587 + B*114 + 500) / 1000

    方法三:

            移位

             Gray = (R*19595 + G*38469 + B*7472) >> 16

    方法四:

        另一种是 Adobe Photoshop 里的公式 
         Adobe RGB (1998) [gamma=2.20] 
         Gray = (R^2.2 * 0.2973 + G^2.2 * 0.6274 + B^2.2 * 0.0753)^(1/2.2)

    该方法运行速度稍慢,但是效果很好。

    方法五:

         还有就是平均值方法 

          GRAY = (RED+BLUE+GREEN)/3

        (GRAY,GRAY,GRAY ) 替代 (RED,GREEN,BLUE)

         但是这样做的精度比较低,图像转化为灰度效果不是太好。

    综合上面的算法对我个人而言,我更喜欢用方法三的转化方法,转化的效果跟转化的精度都可以。

  • 相关阅读:
    中国大学MOOC-陈越、何钦铭-数据结构-2016秋期末考试
    Manifesto of the Communist Party
    PAT/字符串处理习题集(二)
    PAT/字符串处理习题集(一)
    PAT/进制转换习题集
    PAT/图形输出习题集
    2017-2018-2 《密码与安全新技术》第3周作业
    2017-2018-2 20179226 《网络攻防》第7周作业
    2017-2018-2 20179226 《网络攻防》第6周作业
    2017-2018-2 《密码与安全新技术》第2周作业
  • 原文地址:https://www.cnblogs.com/cs-lcy/p/8350769.html
Copyright © 2011-2022 走看看