如何在matlab中实现RGB值与整数值之间的转换?
如何在matlab中实现RGB值与整数值之间的转换?
ScientificProgrammer
一只爱好编程的科研狗,如MATLAB,Python,C/C++与Perl脚本等!
开始正文之前,讲几句题外话,咱又重新回到了知乎,知乎账号名称与公众号名称一致,都叫 懂科学的程序员 。知乎账号分享的内容将更加灵活多样,任何想给大家分享的内容都会在知乎上给大家分享,而公众号将侧重于编程内容的分享。 尽量不炒冷饭,把公众号的内容搬到知乎,或把知乎内容搬到公众号 。此外,公众号将正式启用GitHub作为分享代码的仓库,地址如下:
github.com/ScientificProgrammerOwner. 今后的 懂科学的程序员 所属账号所公开分享的代码都将上传至GitHub,也希望有GitHub账号的多多去给 ScientificProgrammer 点赞加星。
言归正传,之前的学习中遇到了需要将整数值转换为RGB值的情况,于是就用matlab写了这么一个小脚本,可实现RGB与整数值之间得相互转换 ( PS: 这种方法可以应用到加密领域哦,其实本质上是一种256进制与十进制的相互转换 ) 。 RGB到整数值相对容易些,使用如下公式即可完成转换:
function rgb = dec2rgb(dec)
%{
Features: Converting
decimal
integers to rgb values.
Formula
1
: dec =
256
^
2
*R +
256
*G + B;
⟹ B = dec mod
256
C−B =
256
^
2
*R+
256
*G
⟹ (C−B)/
256
=
256
R+G
⟹ G ≡ (C−B)/
256
mod
256
And then:
(C−B)/
256
−G =
256
*R
⟹ R = (C−B)/
256
^
2
− G/
256.
Input:
decimal
integers
Output: rgb values.
Ref.: https:
//math.stackexchange.com/questions/1635999/algorithm-to-convert-integer-to-3-variables-rgb
Online tool: https:
//www.checkyourmath.com/convert/color/rgb_decimal.php
Author(作者): 巴山(bashan)
WeChat Official
Account
(
微信公众号
): 懂科学的程序员(
ScientificProgrammer
)
Github: https:
//github.com/ScientificProgrammerOwner
ZhiHu
(
知乎
): https:
//www.zhihu.com/people/67-93-61-26-8
BiliBili
(
B站
): https:
//space.bilibili.com/205153905
Welcome to subscribe! 欢迎订阅!
%}
try
validateattributes
(
dec,{
’numeric’
},{
’row’
,
’>=’
,
0
,
’<=’
,
16777215
,
’integer’
}
)
;
catch
validateattributes
(
dec,{
’numeric’
},{
’column’
,
’>=’
,
0
,
’<=’
,
16777215
,
’integer’
}
)
;
end
rgb
(
:,
3
)
= mod(dec,
256
); %
B
rgb
(
:,
2
)
= mod(fix((dec-rgb(
3
))/
256
),
256
); %
G
rgb
(
:,
1
)
= fix((dec-rgb(
3
))/
65536
) - fix(rgb(
2
)/
256
); % R
rgb2 = [1 2 3;4 5 6;7 8 9;10 11 12];
dec2 = rgb2dec(rgb2)
dec2 =
66051
263430
460809
658188
R2 = [1 4 7 10];
G2 = [2 5 8 11];
B2 = [3 6 9 12];
dec4 = rgb2dec(R2,G2,B2)
dec4 =
66051 263430 460809 658188
dec6
=
[66051 263430 460809 658188];
rgb2
=
dec2rgb(dec6)
rgb2
=
1
2 3
4
5 6
7
8 9
10
11 12
当然,如果伙伴想用在线版,可访问checkyourmath提供的在线转换工具,链接如下: checkyourmath.com/convert/color/rgb_decimal.php.
参考资料:
[1] math.stackexchange.com/questions/1635999/algorithm-to-convert-integer-to-3-variables-rgb
如需转载,请在公众号中回复“ 转载 ”获取授权,如未经授权擅自搬运抄袭的,本公众号将保留一切追责权利!
-
2023年血糖新标准公布,不是3.9-6.1,快来看看你的血糖正常吗? 2023-02-07
-
2023年各省最新电价一览!8省中午执行谷段电价! 2023-01-03
-
GB 55009-2021《燃气工程项目规范》(含条文说明),2022年1月1日起实施 2021-11-07
-
PPT导出高分辨率图片的四种方法 2022-09-22
-
2023年最新!国家电网27家省级电力公司负责人大盘点 2023-03-14
-
全国消防救援总队主官及简历(2023.2) 2023-02-10
-
盘点 l 中国石油大庆油田现任领导班子 2023-02-28
-
我们的前辈!历届全国工程勘察设计大师完整名单! 2022-11-18
-
关于某送变电公司“4·22”人身死亡事故的快报 2022-04-26
