图像处理 | RGB 与 HSI 的互转以及滤波处理

1、RGB 图像转 HSI 图像

具体实现步骤:

  1. 通过 im2double() 函数将输入图像转成 double 类型并作归一化处理;
  2. 双重循环遍历图像的每一个像素点:分别获取 R,G,B 三个分量,带入转换公式进行计算求解。计算公式如下:

在这里插入图片描述

1) 函数接口实现:

function HSI = myRGB2HSI(RGB)
%   从RGB颜色空间向HSI颜色空间的转换
%   RGB(uint8):输入的RGB彩色图像
%   HSI(double):转换后的HSI彩色图像
img1_double = im2double(RGB);   % 转成double并作归一化处理   
[r, c, k] = size(img1_double);
H = zeros(r, c);
S = zeros(r, c);
I = zeros(r, c);

for i = 1 : r
    for j = 1 : c
        % 分别获取R,G,B分量
        R = img1_double(i,j,1);
        G = img1_double(i,j,2);
        B = img1_double(i,j,3);
        fenzi = 0.5 * ( (R-G)+(R-B) );
        fenmu = sqrt( (R-G)^2 + (R-B)*(G-B) );
        % 易错点:分母需加上eps防止为0
        xita = acos( fenzi/(fenmu+eps) );
        if ( B<=G )
            HSI(i,j,1) = xita;
        else
            HSI(i,j,1) = 2*pi-xita;    
        end 
        HSI(i,j,1) = HSI(i,j,1) / (2*pi);  % H分量需要除以2*pi进行归一化
        min_value = min(min(R,G),B
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值