网页颜色算法
A. opencv 红色的rgb分别多少
光看RGB值很难把红色提取出来,建议转到HSV颜色空间。因为opencv 的H范围是0~180,红色的H范围大概是
(0~8)∪(160,180)
S饱和度很重要,一般是大于一个值,S过低就是灰色(参考值S>80),
V就亮度,过低就是黑色,过高就是白色(参考值220>V>50)
PS:用cvCvtColor(src,dst,CV_BGR2HSV)即可转换
B. RGB中x y z指的是什么
RGB一般指Red,Green,Blue;是视频信息中的3色;在电缆中,代表三条信号线;
x y z指的是相对应的(信号)地线,一般他们是共地线的;在电缆中,就是4根,三条信号线加一条地线;
仅供参考
C. 大家帮我写个改变背景颜色的算法,内有代码
//完全按照你的意思来写的
import javax.swing.*;
import java.awt.*;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
public class MyFrame extends JFrame implements ItemListener{
private Choice cho1;
private JPanel pan;
MyFrame(){
this.setBounds(100,100,300,300);
this.setAlwaysOnTop(true);
pan = new JPanel();
cho1=new Choice();
cho1.addItemListener(this);
cho1.add("绿色");
cho1.add("黄色");
cho1.add("浅蓝色");
pan.add(cho1);
this.add(pan);
this.setVisible(true);
}
public static void main(String args[]){
new MyFrame();
}
public void itemStateChanged(ItemEvent e) {
if(e.getSource()==cho1){
if(cho1.getSelectedItem()=="绿色"){
pan.setBackground(Color.GREEN);
}else if(cho1.getSelectedItem()=="黄色"){
pan.setBackground(Color.yellow);
}else if(cho1.getSelectedItem()=="浅蓝色"){
pan.setBackground(Color.blue);
}
}
}
}
D. 求一个计算RGB颜色值的算法,色差要尽量大,从黑色到白色之间可以计算出来100个以上颜色,尽量用C++
在RGB颜色模型下,要100个颜色设一个变量从0到0x1000000之间分成100递增即可,颜色差值最大。
用Javaapplet最简演示,附图。从黑到白100个颜色块
=====
importjava.applet.Applet;
importjava.awt.Color;
importjava.awt.Graphics;
publicclassTestextendsApplet{
=1802199483736051124L;
publicintnum_of_colors;
@Override
publicvoidinit(){
num_of_colors=100;//如果要多可以设得更多
}
@Override
publicvoidpaint(Graphicsg){
introw_max=(int)Math.sqrt(num_of_colors);
intcol_w=getWidth()/row_max;
intx=0,y=0;
intcd=(int)(0x1000000L/num_of_colors);
intc=0;
for(intn=0;n<num_of_colors;n++){
g.setColor(newColor(c));
g.fillRect(x,y,col_w,col_w);
c+=cd;
if(n%row_max==0&&n>0){
x=0;
y+=col_w;
}elsex+=col_w;
}
}
}
E. 颜色代码怎么算
首先,你的问题和颜色没关系,其实你需要了解的只是进制的问题
十六进制里面,有十六个数字,因为人们常用的十进制只有0-9这10个符号,所以就用字母来代替10-15,所以就有了0-9A-F,这样的话用两位16进制数组合,是不是就有16*16=256种可能?
十进制的90=16*5+10,所以用十六进制就是5A
其实没什么算法,0-F就是十进制的0-15,10-1F就是十进制的16-31,只不过十进制是逢十进一,十六进制是逢16进一
F. Rgb深色过渡到浅色的算法是什么我想用h5的canvas做一个烟花效果,有很多颜色,无论哪一种颜
rgba 4个数 用定时器逐渐变化值
G. 25%的灰度RGB是多少
25%的灰度RGB(25,25,25)。
灰度就是没有色彩,RGB色彩分量全部相等。如果是一个二值灰度图像,它的像素值只能为0或1,我们说它的灰度级为2。用个例子来说明吧:一个256级灰度的图像,如果RGB三个量相同时,如:RGB(100,100,100)就代表灰度为100,RGB(50,50,50)代表灰度为50。
彩色图像的灰度其实在转化为黑白图像后的像素值(是一种广义的提法),转化的方法看应用的领域而定,一般按加权的方法转换,R, G,B 的比一般为3:6:1。
任何颜色都由红、绿、蓝三基色组成,假如原来某点的颜色为RGB(R,G,B),那么,可以通过下面几种方法,将其转换为灰度:
1、浮点算法:Gray=R*0.3+G*0.59+B*0.11
2、整数方法:Gray=(R*30+G*59+B*11)/100
3、移位方法:Gray =(R*77+G*151+B*28)>>8;
4、平均值法:Gray=(R+G+B)/3;
5、仅取绿色:Gray=G;
通过上述任一种方法求得Gray后,将原来的RGB(R,G,B)中的R,G,B统一用Gray替换,形成新的颜色RGB(Gray,Gray,Gray),用它替换原来的RGB(R,G,B)就是灰度图了。
(7)网页颜色算法扩展阅读
RGB格式:
对一种颜色进行编码的方法统称为“颜色空间”或“色域”。用最简单的话说,世界上任何一种颜色的“颜色空间”都可定义成一个固定的数字或变量。
RGB(红、绿、蓝)只是众多颜色空间的一种。采用这种编码方法,每种颜色都可用三个变量来表示-红色绿色以及蓝色的强度。记录及显示彩色图像时,RGB是最常见的一种方案。
但是,它缺乏与早期黑白显示系统的良好兼容性。因此,许多电子电器厂商普遍采用的做法是,将RGB转换成YUV颜色空间,以维持兼容,再根据需要换回RGB格式,以便在电脑显示器上显示彩色图形。
网页格式:
由于网页(WEB)是基于计算机浏览器开发的媒体,所以颜色以光学颜色RGB(红、绿、蓝)为主。网页颜色是以16进制代码表示,一般格式为#DEFABC (字母范围从A-F,数字从0-9 );
如黑色,在网页代码中便是:#000000(在css编写中可简写为#000)。当颜色代码为#AABB11时,可以简写为#AB1表示,如#135与#113355表示同样的颜色。
RGB1、RGB4、RGB8都是调色板类型的RGB格式,在描述这些媒体类型的格式细节时,通常会在BITMAPINFOHEADER数据结构后面跟着一个调色板(定义一系列颜色)。它们的图像数据并不是真正的颜色值,而是当前像素颜色值在调色板中的索引。
以RGB1(2色位图)为例,比如它的调色板中定义的两种颜色值依次为0x000000(黑色)和0xFFFFFF(白色)…(每个像素用1位表示)表示对应各像素的颜色为:黑黑白白黑白黑白黑白白白。
H. 求js中颜色值变浅的算法,类似于下图
首先你的了解颜色的概念
下面我简单介绍下颜色概念在32位系统上我们所看到的颜色由RGB三原色显示再加上一个透明度通道就形成了多种多样的颜色
多的我就不多说了下面直接写一份演示代码
<!DOCTYPEhtml>
<html>
<head>
<title>test</title>
<style>
.tsetDiv{
width:40px;
height:40px;
border-radius:100%;
font-size:0;
display:inline-block;
margin-left:10px;
vertical-align:middle;
}
#boxF{
width:300px;
font-size:0;
height:auto;
}
</style>
</head>
<body>
<divid="boxF"></div>
<scripttype="text/javascript">
varboxf=document.getElementById("boxF");
vardivC=null;
varr=0;
varg=0;
varb=0;
for(vari=0;i<10;i++){
for(varj=0;j<10;j++){
divC=document.createElement("div");
divC.style.backgroundColor="rgb("+r+","+g+","+b+")";
divC.setAttribute("class","tsetDiv");
boxf.appendChild(divC);
}
//修改rgb加的不同值可以得到不同的效果rgb最大值为255所以不用担心超过不显示
r+=15;
g+=25;
b+=35;
}
</script>
</body>
</html>
运行效果为下图
I. 求js颜色转换算法
(function(d){function h(a,b,e){var c="rgb"+(d.support.rgba?"a":"")+"("+parseInt(a[0]+e*(b[0]-a[0]),10)+","+parseInt(a[1]+e*(b[1]-a[1]),10)+","+parseInt(a[2]+e*(b[2]-a[2]),10);d.support.rgba&&(c+=","+(a&&b?parseFloat(a[3]+e*(b[3]-a[3])):1));return c+")"}function f(a){var b;return(b=/#([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})/.exec(a))?[parseInt(b[1],16),parseInt(b[2],16),parseInt(b[3],16),1]:(b=/#([0-9a-fA-F])([0-9a-fA-F])([0-9a-fA-F])/.exec(a))?[17*parseInt(b[1],16),17*parseInt(b[2],
16),17*parseInt(b[3],16),1]:(b=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(a))?[parseInt(b[1]),parseInt(b[2]),parseInt(b[3]),1]:(b=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9\.]*)\s*\)/.exec(a))?[parseInt(b[1],10),parseInt(b[2],10),parseInt(b[3],10),parseFloat(b[4])]:l[a]}d.extend(!0,d,{support:{rgba:function(){var a=d("script:first"),b=a.css("color"),e=!1;if(/^rgba/.test(b))e=!0;else try{e=b!=a.css("color","rgba(0, 0, 0, 0.5)").css("color"),
a.css("color",b)}catch(c){}return e}()}});var k="color backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor outlineColor".split(" ");d.each(k,function(a,b){d.Tween.propHooks[b]={get:function(a){return d(a.elem).css(b)},set:function(a){var c=a.elem.style,g=f(d(a.elem).css(b)),m=f(a.end);a.run=function(a){c[b]=h(g,m,a)}}}});d.Tween.propHooks.borderColor={set:function(a){var b=a.elem.style,e=[],c=k.slice(2,6);d.each(c,function(b,c){e[c]=f(d(a.elem).css(c))});var g=f(a.end);
a.run=function(a){d.each(c,function(d,c){b[c]=h(e[c],g,a)})}}};var l={aqua:[0,255,255,1],azure:[240,255,255,1],beige:[245,245,220,1],black:[0,0,0,1],blue:[0,0,255,1],brown:[165,42,42,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgrey:[169,169,169,1],darkgreen:[0,100,0,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkviolet:[148,0,211,1],fuchsia:[255,
0,255,1],gold:[255,215,0,1],green:[0,128,0,1],indigo:[75,0,130,1],khaki:[240,230,140,1],lightblue:[173,216,230,1],lightcyan:[224,255,255,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],magenta:[255,0,255,1],maroon:[128,0,0,1],navy:[0,0,128,1],olive:[128,128,0,1],orange:[255,165,0,1],pink:[255,192,203,1],purple:[128,0,128,1],violet:[128,0,128,1],red:[255,0,0,1],silver:[192,192,192,1],white:[255,255,255,1],yellow:[255,255,
0,1],transparent:[255,255,255,0]}})(jQuery);
J. photoshop中,
RGB目录
RGB色彩模式
语法RGB
RGB格式
主要算法
[编辑本段]RGB色彩模式
概述
RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。
RGB色彩模式使用RGB模型为图像中每一个像素的RGB分量分配一个0~255范围内的强度值。例如:纯红色R值为255,G值为0,B值为0;灰色的R、G、B三个值相等(除了0和255);白色的R、G、B都为255;黑色的R、G、B都为0。RGB图像只使用三种颜色,就可以使它们按照不同的比例混合,在屏幕上重现16777216种颜色。
在 RGB 模式下,每种 RGB 成分都可使用从 0(黑色)到 255(白色)的值。 例如,亮红色使用 R 值 246、G 值 20 和 B 值 50。 当所有三种成分值相等时,产生灰色阴影。 当所有成分的值均为 255 时,结果是纯白色;当该值为 0 时,结果是纯黑色。
应用
目前的显示器大都是采用了RGB颜色标准,在显示器上,是通过电子枪打在屏幕的红、绿、蓝三色发光极上来产生色彩的,目前的电脑一般都能显示32位颜色,约有一百万种以上的颜色。
原理
RGB是从颜色发光的原理来设计定的,通俗点说它的颜色混合方式就好像有红、绿、蓝三盏灯,当它们的光相互叠合的时候,色彩相混,而亮度却等于两者亮度之总和(两盏灯的亮度嘛!),越混合亮度越高,即加法混合。
有色光可被无色光冲淡并变亮。如蓝色光与白光相遇,结果是产生更加明亮的浅蓝色光。知道它的混合原理后,在软件中设定颜色就容易理解了。
红、绿、蓝三盏灯的叠加情况,中心三色最亮的叠加区为白色,加法混合的特点:越叠加越明亮。
红、绿、蓝三个颜色通道每种色各分为255阶亮度,在0时“灯”最弱——是关掉的,而在255时“灯”最亮。当三色数值相同时为无色彩的灰度色,而三色都为255时为最亮的白色,都为0时为黑色。
RGB 颜色称为加成色,因为您通过将 R、G 和 B 添加在一起(即所有光线反射回眼睛)可产生白色。 加成色用于照明光、电视和计算机显示器。 例如,显示器通过红色、绿色和蓝色荧光粉发射光线产生颜色。绝大多数可视光谱都可表示为红、绿、蓝 (RGB) 三色光在不同比例和强度上的混合。 这些颜色若发生重叠,则产生青、洋红和黄。
[编辑本段]语法RGB
( red,green,blue )
参数red:integer类型,指定颜色中的红色分量强度,有效值在0到255之间green:integer类型,指定颜色中的绿色分量强度,有效值在0到255之间blue:integer类型,指定颜色中的蓝色分量强度,有效值在0到255之间返回值Long。函数执行成功时返回由指定分量确定的颜色,用长整数表示。发生错误时返回-1。如果任何参数的值为NULL,RGB()函数返回NULL。
用法RGB()函数使用下述公式计算表示颜色的长整数:65536 * Blue+ 256 * Green+ Red其中,Blue代表蓝色分量,Green代表绿色分量,Red代表红色分量。各分量中,数值越小,亮度越低,数值越大,亮度越高。例如,RGB ( 0, 0, 0 )为黑色(亮度最低),RGB ( 255, 255,255 )为白色(亮度最高)。
[编辑本段]RGB格式
对一种颜色进行编码的方法统称为“颜色空间”或“色域”。用最简单的话说,世界上任何一种颜色的“颜色空间”都可定义成一个固定的数字或变量。RGB(红、绿、蓝)只是众多颜色空间的一种。采用这种编码方法,每种颜色都可用三个变量来表示-红色绿色以及蓝色的强度。记录及显示彩色图像时,R GB是最常见的一种方案。但是,它缺乏与早期黑白显示系统的良好兼容性。因此,件多电子电器厂商普遍采用的做法是,将RGB转换成YUV 颜色空同,以维持兼容,再根据需要换回RGB格式,以便在电脑显示器上显示彩色图形。
由于网页(WEB)是基于计算机浏览器开发的媒体,所以颜色以光学颜色RGB(红、绿、蓝)为主。 网页颜色是以16进制代码表示,一般格式为#ZYZABC (字母用数字代替 )如黑色是三个颜色为0,在网页代码便是:#000000。当颜色代码为#XXYYZZ时,可以用#XYZ表示,如#135与#113355表示同样的颜色。
各种RGB格式
RGB1、RGB4、RGB8都是调色板类型的RGB格式,在描述这些媒体类型的格式细节时,通常会在BITMAPINFOHEADER数据结构后面跟着一个调色板(定义一系列颜色)。它们的图像数据并不是真正的颜色值,而是当前像素颜色值在调色板中的索引。以RGB1(2色位图)为例,比如它的调色板中定义的两种颜色值依次为0x000000(黑色)和0xFFFFFF(白色),那么图像数据001101010111…(每个像素用1位表示)表示对应各像素的颜色为:黑黑白白黑白黑白黑白白白…。
¨ RGB565使用16位表示一个像素,这16位中的5位用于R,6位用于G,5位用于B。程序中通常使用一个字(WORD,一个字等于两个字节)来操作一个像素。当读出一个像素后,这个字的各个位意义如下:
高字节 低字节
R R R R R G G G G G G B B B B B
可以组合使用屏蔽字和移位操作来得到RGB各分量的值:
#define RGB565_MASK_RED 0xF800
#define RGB565_MASK_GREEN 0x07E0
#define RGB565_MASK_BLUE 0x001F
R = (wPixel & RGB565_MASK_RED) >> 11; // 取值范围0-31
G = (wPixel & RGB565_MASK_GREEN) >> 5; // 取值范围0-63
B = wPixel & RGB565_MASK_BLUE; // 取值范围0-31
¨ RGB555是另一种16位的RGB格式,RGB分量都用5位表示(剩下的1位不用)。使用一个字读出一个像素后,这个字的各个位意义如下:
高字节 低字节
X R R R R G G G G G B B B B B (X表示不用,可以忽略)
可以组合使用屏蔽字和移位操作来得到RGB各分量的值:
#define RGB555_MASK_RED 0x7C00
#define RGB555_MASK_GREEN 0x03E0
#define RGB555_MASK_BLUE 0x001F
R = (wPixel & RGB555_MASK_RED) >> 10; // 取值范围0-31
G = (wPixel & RGB555_MASK_GREEN) >> 5; // 取值范围0-31
B = wPixel & RGB555_MASK_BLUE; // 取值范围0-31
¨ RGB24使用24位来表示一个像素,RGB分量都用8位表示,取值范围为0-255。注意在内存中RGB各分量的排列顺序为:BGR BGR BGR…。通常可以使用RGBTRIPLE数据结构来操作一个像素,它的定义为:
typedef struct tagRGBTRIPLE {
BYTE rgbtBlue; // 蓝色分量
BYTE rgbtGreen; // 绿色分量
BYTE rgbtRed; // 红色分量
} RGBTRIPLE;
¨ RGB32使用32位来表示一个像素,RGB分量各用去8位,剩下的8位用作Alpha通道或者不用。(ARGB32就是带Alpha通道的RGB32。)注意在内存中RGB各分量的排列顺序为:BGRA BGRA BGRA…。通常可以使用RGBQUAD数据结构来操作一个像素,它的定义为:
typedef struct tagRGBQUAD {
BYTE rgbBlue; // 蓝色分量
BYTE rgbGreen; // 绿色分量
BYTE rgbRed; // 红色分量
BYTE rgbReserved; // 保留字节(用作Alpha通道或忽略)
} RGBQUAD。
[编辑本段]主要算法
public void paint(Graphics g)
{
h.clearRect(0, 0, 370, 420);
h.setColor(Color.black);
h.drawLine(100, 100, 355, 100);
h.drawLine(100, 100, 100, 355);
h.drawLine(100, 355, 355, 355);
h.drawLine(355, 100, 355, 355);
h.drawLine(100, 100, 50, 150);
h.drawLine(355, 100, 305, 150);
h.drawLine(355, 355, 305, 405);
h.drawLine(100, 355, 50, 405);
h.drawLine(50, 150, 50, 405);
h.drawLine(50, 150, 305, 150);
h.drawLine(305, 150, 305, 405);
h.drawLine(50, 405, 305, 405);
h.setColor(Color.red);
h.fillOval(45, 400, 10, 10);
h.setColor(Color.green);
h.fillOval(350, 350, 10, 10);
h.setColor(Color.blue);
h.fillOval(95, 95, 10, 10);
h.setColor(Color.cyan);
h.fillOval(350, 95, 10, 10);
h.setColor(Color.magenta);
h.fillOval(45, 145, 10, 10);
h.setColor(Color.yellow);
h.fillOval(300, 400, 10, 10);
h.setColor(Color.black);
h.fillOval(95, 350, 10, 10);
h.drawOval(300, 145, 10, 10);
h.setColor(c);
int i = (90 + gc) - (int)(0.19600000000000001D * (double)rc);
int j = (345 - bc) + (int)(0.19600000000000001D * (double)rc);
h.fillRect(i, j, 20, 20);
h.setColor(Color.black);
h.drawRect(i, j, 20, 20);
g.drawImage(offimg, 0, 0, this);
g.setColor(Color.red);
g.setFont(fonsig);
g.drawString
}