matlab hsi颜色,RGB 颜色空间转 HSI 颜色空间的matlab程序实现
RGB 颜色空间转 HSI 颜色空间的matlab程序实现
程序实现的时候注意把RGB像素值归一化就是了,然后千千万万要根据公式来,不能大意,我之前就有theta为复数的情况,是sqrt对负数进行运算进而得到了复数的结果(BUG)
程序是由matlab实现的,利用了矩阵运算的便捷性,这里如果直接操作单个元素的话。。。会很慢很慢,慢到能把我电脑卡死。。。如果改写成C可能程序的性能还是会有问题
好吧,介绍一下HSI和RGB的转化方法
%******************************************
% Code writer : EOF
% Code file : RGB2HSI.m
% Code date : 2014.10.15
%
% Code description:
% This code is a demo for how to transfrom pixel'value in
% RGB-space into HSI-space.
%
%******************************************
Img_Original = imread('/home/jasonleaster/Software/opencv-2.4.9/Project_in_XTU/PDF/mountain.png');
Height_Original = size(Img_Original,1);
Width_Original = size(Img_Original,2);
Channel_Orignal = size(Img_Original,3);
Theta = zeros(1,Height_Original * Width_Original);
S = zeros(1,Height_Original * Width_Original);
I = zeros(1,Height_Original * Width_Original);
R_temp = double(Img_Original(:,:,1));
G_temp = double(Img_Original(:,:,2));
B_temp = double(Img_Original(:,:,3));
R = R_temp./(R_temp + G_temp + B_temp);
G = G_temp./(R_temp + G_temp + B_temp);
B = B_temp./(R_temp + G_temp + B_temp);
for row = 1:Height_Original
for col = 1: Width_Original
% initialize min with 255(the max value in RGB space)
min = 255;
for channel = 1:Channel_Orignal
if min > Img_Original(row,col,channel)
min = Img_Original(row,col,channel);
end
end
Dark_channel(row,col) = double(min)/255;
end
end
Theta = acos(0.5*((R - G) + (R - B))./(sqrt((R -G).^2 + (R-B).*(G-B))));
S = 1 - (3./(R + G + B)).* double(Dark_channel);
I = 255*(R + G + B)./3;
S = 100*S;
for row = 1: Height_Original
for col = 1:Width_Original
if B(row,col) <= G(row,col)
H(row,col) = Theta(row,col);
else
H(row,col) = 2*pi - Theta(row,col);
end
end
end
H = H*180/pi;
matlab hsi颜色,RGB 颜色空间转 HSI 颜色空间的matlab程序实现相关推荐
- matlab转换hsl,RGB空间与HSL空间转换matlab代码
关于RGB与HSL空间之间转换的原理,在网上很多,也很详细,这里就不做介绍了. 直接给出MATLAB代码. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % RGB空间转换到H ...
- 【颜色空间转换大集合】RGB到YIQ,RGB到HSI和HSI到RGB,RGB到YcbCr,RGB到XYZ颜色转换matlab代码的Demo,含详细的解释
废话不说,先上图, 实现方式:matlab 实现功能: 实验目标 了解图像颜色空间的转换关系. 了解图像的文件结构. 实验内容 完成如下颜色空间的转换.(4 Points) RGB -> YIQ ...
- MATLAB 将RGB颜色空间转为HSI颜色空间、LAB颜色空间 原理及程序
一张彩色图像是由R.G.B三个通道组成,所以首先需要将彩色图像分为三个通道的图像. 以下是对猫图进行单通道提取得到的图像. HSI颜色空间 HSI[Hue-Saturation-Intensity(L ...
- MATLAB中颜色模型介绍级各模型之间转换(RGB、HSV、NTSC、YCbCr、HSI)
1.颜色模型定义 2.各颜色模型简介 3.颜色模型的转换 一.颜色模型定义 颜色模型:某个三维颜色空间中的一个可见光子集,它包含某个颜色域的所有颜色.例如,RGB颜色模型就是三维直角坐标颜色系统的一个 ...
- OpenCV实现RGB颜色空间和HSI颜色空间的相互转换
核心的转换公式: RGB-->HSI 截图来自中科院刘定生老师的<数字图像处理与分析>课件. HSI-->RGB 具体的数学公式参照冈萨雷斯版<数字图像处理(第三版)&g ...
- 【3000字扫盲】来搞“颜色“!RGB/HSV/HSI颜色模型
一:RGB三原色 RGB三原色是怎么来的呢? 当然,是因为他们三者可以调配出其他所有颜色.但为什么偏偏是这三个颜色呢? 人眼有四种感光细胞,分别是三种锥状感光细胞,分别感知红,绿,蓝三色,以及感知黑白 ...
- hsi转rgb公式matlab,rgb与hsi模型转换matlab程序
rgb与hsi模型转换matlab程序 数字图像处理:RGB与HSI模型转换Matlab程序 im1=imread( Fig6.30(01).jpg ); im3=im1; im1=im2double ...
- 如何使用理解MATLAB中的RGB颜色空间
如何使用理解MATLAB中的RGB颜色空间 #在matlab 中读取彩色图片信息时,会发现读出的矩阵为(a,b,c),其中a为图片的行数,b为图片的列数,c为选取的颜色空间,例如(1,2,1),表示图 ...
- hsi和rgb的转换,以及hsi和rgb的补色变换 matlab代码
版权声明:<–本博客所有内容均为自己在学习工作中的总结.摘录等-- --转载请注明出处-- --如有侵权请联系删除–>https://blog.csdn.net/ai359005521/a ...
最新文章
- How draw a stem -and -leaf amp; box-plot display by R.or Python
- 一些杂感杂想(一)谈谈加班、团队
- mongodb查看数据库和表的信息
- 蓝牙耳机芯片检测软件_安凯微推出TWS真无线蓝牙5.0耳机芯片
- 数据结构与算法--Tree(二叉树、B±树、红黑树)
- 嵌入式linux系统运行程序,嵌入式Linux系统启动过程
- visibilitychange ios设备不生效_如何调试支付宝(iOS)
- openwrt qca9886 ath10k只能连32台设备问题解决
- 网络安全系列-XI: 主流网络协议介绍
- 应用MATLAB求解线性代数题目(五)——特征值与特征向量
- ChucK初步(11)
- 如何有效防止“蹭网”——简述Wi-Fi加密方式与破解
- SVN checkout报错The XML response contains invalid XML
- 基于瑞芯微平台cif接口dvp相机的视频接入(ov2640、rv1126为例)
- 破解微信 DB, 导出 Mac 微信聊天记录
- p标签和超链接的认识
- 这么简单?三层交换机算是被玩透了
- 一物一码防伪溯源系统前景如何
- 信息系统项目管理师必背核心考点(五十七)知识管理工具
- win7系统自动休眠设置
热门文章
- 【C语言】 《弹跳的小球》游戏编写过程及思路,清屏函数、Sleep()函数的应用
- EasyAr实现图片识别
- 新用户域名实名认证教程---金万维
- Thread dump文件抓取和分析(JCA工具)
- clientX,offsetX,pageX,screenX的异同以Chrome浏览器测试
- 【占星学】天蝎座女生性格特点
- 天蝎项目整机柜服务器技术规范v1.01,天蝎项目整机柜服务器技术规范v1.01
- 网易Airtest跨平台的UI自动化测试框架
- 用现代 C++ 写一个高性能的服务器
- 什么是电阻器与电阻?