当前位置:首页 » 操作系统 » 调色板算法

调色板算法

发布时间: 2022-10-03 12:58:25

① 关于matlab中的gray2ind函数

依据Gray的数据类型得到Gray的范围。这里由于Gray是uint8的,所以范围是[0 255]。

取这个范围向量中的第二个值255;将Gray中的各像素值去乘以sf并取整,即可得到索引图Ind,如原来Gray中的值是156,那么乘以sf再取整就得到9。全部计算完毕后,可以看到Ind中的值都是0~15之间的。

索引图像是一种把像素值直接作为RGB调色板下标的图像。索引图像可把像素值直接映射为调色板数值。调色板通常与索引图像存储在一起,装载图像时,调色板将和图像一同自动装载。

(1)调色板算法扩展阅读:

MATLAB是一个包含大量计算算法的集合。其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,而且经过了各种优化和容错处理。

在通常情况下,可以用它来代替底层编程语言,如C和C++ 。在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。MATLAB的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅立叶变换的复杂函数。

② 求颜色ESL与RGB的互换算法

这两个系统属于完全不同的色立体。

安装一个叫 fireworks 的软件,在调色板可以直接得到相近的两个系统的对应值。
下面解释一下这两个色立体:
RGB 是类似于立方体形式色立体,R\G\B 相当于立方体 x\y\z 三个值,因此每一组数字都是唯一的一个颜色;
而ESL 更类似于一正一反两个圆锥底面交叠后的圆菱形。ESL的三个值分别在这个模型的含义是这样的:E(色调)代表了圆锥底面的圆边,每一个数值是圆上的一个点;L(亮度)代表垂直于圆锥底面的中线,它是一个灰度等级,最高是全白,最低为黑色,和圆锥底面的交点为 50%灰色;S(饱和度)代表在圆锥底面上,50%灰色到圆锥底面边缘的距离。
在ESL 系统中,取值优先取亮度,然后再判断相应的饱和度是否可以到达输入值,不能到达则降低到自适应的值,最后是色相。因此有些数值的颜色是不存在的,比如说 240,240,240。因为亮度最高 240 就只有一个点,就是纯白,因此无论另外两个是什么数值,都是一样的。根据上一段把模型画出来,会立体几何都会懂的。
因此,这两个系统的色立体并不存在线性的转换关系。fireworks 这软件通过复杂的数据处理才把两个模型整合起来,而中间还经过颜色专家的鉴别。所以不要尝试着自己去做,应该没有一个独立的个人可以完成这件这么伟大的事。

③ 高一信息技术课歌曲大小和图片大小怎么计算什么频率*量化位数还有什么什么的,怎么算啊

【1】16色 4bit、256色 8bit、24位色 24bit、32位色 32bit、bmp格式、位图文件头BITMAPFILEHEADER、位图信息头BITMAPINFOHEADER、调色板Palette、实际的位图数据ImageDate、X * Y *(bit数)/ 8 = 字节(近似值) **实际的位图数据ImageDate、800x600 24bit bmp 大小约等于800x600x24 /8 =1440000字节 约等于 1.37M(不包括 文件头 信息头 调色板)、码率是指视屏每秒所占bit、若是24分钟 600k码率的文件 算法是 600(kbit)x60(秒)x24(分)/8(bit) =108000(kbyte) = 105.46875M。
【2】频率:频率,是单位时间内完成振动的次数,是描述振动物体往复运动频繁程度的量,常用符号f或v表示,单位为秒-1。为了纪念德国物理学家赫兹的贡献,人们把频率的单位命名为赫兹,简称“赫”。每个物体都有由它本身性质决定的与振幅无关的频率,叫做固有频率。频率概念不仅在力学、声学中应用,在电磁学和无线电技术中也常用。频率测量一般原理,是通过相应的传感器,将周期变化的特性转化为电信号,再由电子频率计显示对应的频率,如工频、声频、振动频率等。

④ 24位到8位,如何更改位图保存程序调色板怎么做急急急!!!

你要的答案内容实在太多了,回答不了。
我挑一些简单的回答下,其它的有哪位好心人再补充下吧。
系统调色板就简单理解为一个数组,里面有256个元素,每个元素代表一种颜色。所以系统调色板共可以储存256种颜色,其中系统已经预留20种颜色共系统使用。这个在调用getsyscolor时,就应该有所体会了。
颜色表是什么术语?我没见过。猜测指的应该就是调色板。
任何的图像文件其实和一般数据库文件是没什么区别的,就是由文件头,和实际储存的颜色数据构成。前者当然在前面,后者当然在后面。实际储存的颜色数据可以想象成一个庞大的数组。我们获得了这个数组地址后,可以任意操纵(修改)里面的颜色数据,其中不乏有些获得特殊颜色效果的算法。
颜色数组分为2类。第一类,数组里存储的是一个个索引值,就和数据库一样,索引值不存储实际的记录,而是指向了正真存记录的地方。在bmp里,它指向调色板,如颜色数组,dibbits[2]的值为19,就是说它的颜色应该为在调色板里的第19个元素。这样,颜色数组和调色板数组的联系立刻就明白了吧!!
另外,每个dc都有自己的调色板(逻辑),程序员可以任意修改它。这和改画笔,画刷是一样的。只不过入门书籍只介绍笔,画刷之类的。不常介绍调色板。
窗口甲dc用的调色板和窗口乙dc用的调色板不一样(回忆下2个dc我们不是会用不同颜色的画笔吗),结果造成同样的颜色数组,由于dc里的调色板不一样,使最终dc画到窗口里的bmp位图呈现的色彩会不一样。
调色板修改后,无法直接产生效果,必须调用realize,使最终颜色映射到系统调色板里,因为最终用来画图的是系统调色板里的颜色,而不是逻辑调色板。
通常感觉我们并没有在使用dc时,调用realize来映射。只是默认的已经全都做好了。但如果改了dc的调色板是一定要映射到系统调色板的。系统调色板最多映射236(256-20预留)。
第二种位图颜色数组指的是,里面存放的是实际颜色,不是索引值。如dibbits[2]的值有3个字节,由低到高顺序对应rgb。

⑤ Java 怎么样画调色板、或彩虹、或色谱

RGB的色彩空间下的光谱过渡通常用 "线性插值" 算法实现。
以每个[]代表一个0到255共256步长的周期。
[最高]代表周期内保持255最高值不变,
[最低]代表周期内保持0最低值不变]
[渐强]代表从0到255变化,
[渐弱]代表从255到0变化

整个色谱表示为
=====================
[红最高][红渐弱][红最低][红最低][红渐强][红最高]
[绿渐强][绿最高][绿最高][绿渐弱][绿最低][绿最低]
[蓝最低][蓝最低][蓝渐强][蓝最高][蓝最高][蓝渐弱]
------------------------------------------------------------
红 黄 绿 青 蓝 紫 红
实现周期变化
以上是横向第一排的颜色变化

纵向变化
以第一排的RGB为极值,依次递减
比如纯红色的列
(255,0,0)红色
(254,0,0)

(253,0,0)

....每列递减
(1,0,0)

(0,0,0)黑色

周期小于255采样的,可以按比例缩放。

⑥ Photoshop中几种常用的颜色模式

1颇色模式中常用的几个概念颜色模式是在Photosh叩中将图像中各种不同的颜色组织起来的一种方法。图像是由像素构成的,像素是位图图像的最小单位。颜色容量(位)是像素所能分配的最大颜色数。位深度(像素深度或颜色深度)是用来度量在图像中有多少颜色信息来显示或打印像素。色域表示一个色系能够显示或打印的颜色范围。人眼看到的色谱比任何颜色模型中的色域都宽。颜色通道是用来存放图像的颜色信息、选区和蒙版,让用户以复杂的方式操纵和控制图像的特定部分。2 Pbotosh叩常见的颜色模式2.1位圈(Bi如aP)模式位图模式下,每个像素只具有一位的最大颜色容量;即用两种颜色来表示图像中的像素,不是黑就是白。在将图像转换为位图模式时会丢失大量细节,在宽度、高度和分辨率相同的情况下,位图模式的图像尺寸最小,约为灰度模式的In和RGB模式的1122以下。注意,只有灰度模式图像才能转化为位图图像。2.2灰度(Gray邵沮le)模式在灰度模式下,每个像素具有8位的最大颜色容量,灰度图像的每个像素有一个0(黑色)到255(白色)之间的亮度值,可选择从黑、灰到白共2的8次方种不同的颜色浓度,......(本文共计2页)

⑦ 有什么方法可以在C#.net下生成一个自定义的256色调色板(就是0到255每个数都对应一个颜色)

<HTML>
<HEAD>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>

<STYLE type=text/css>
TD {FONT-SIZE: 10.8pt}
BODY {FONT-SIZE: 10.8pt}
BUTTON {WIDTH: 5em}
</STYLE>

<SCRIPT LANGUAGE=JAVASCRIPT SRC="dialog.js"></SCRIPT>

<SCRIPT language=JavaScript>

var sAction = URLParams['action'] ;
var sTitle = "";
var color = "" ;
var oSelection;
var oControl;
var sRangeType;

switch (sAction) {
case "forecolor": // 字体前景色
sTitle = "字体前景色";
oSelection = dialogArguments.eWebEditor.document.selection.createRange();
color = oSelection.queryCommandValue("ForeColor");
if (color) color = N2Color(color);
break;
case "backcolor": // 字体背景色
sTitle = "字体背景色";
oSelection = dialogArguments.eWebEditor.document.selection.createRange();
color = oSelection.queryCommandValue("BackColor");
if (color) color = N2Color(color);
break;
case "bgcolor": // 对象背景色
sTitle = "对象背景色";
oSelection = dialogArguments.eWebEditor.document.selection.createRange();
sRangeType = dialogArguments.eWebEditor.document.selection.type;
if (sRangeType == "Control") {
oControl = GetControl(oSelection, "TABLE");
}else{
oControl = GetParent(oSelection.parentElement());
}
if (oControl) {
switch(oControl.tagName){
case "TD":
sTitle += " - 单元格";
break;
case "TR":
case "TH":
sTitle += " - 表格行";
break;
default:
sTitle += " - 表格";
break;
}
color = oControl.bgColor;
}else{
sTitle += " - 网页";
}
break;
default: // 其它颜色框
if (URLParams['color']){
color = decodeURIComponent(URLParams['color']) ;
}
break;
}

document.write("<TITLE>颜色选择(" + sTitle + ")</TITLE>");

// 默认显示值
if (!color) color = "#000000";

// 返回有背景颜色属性的对象
function GetParent(obj){
while(obj!=null && obj.tagName!="TD" && obj.tagName!="TR" && obj.tagName!="TH" && obj.tagName!="TABLE")
obj=obj.parentElement;
return obj;
}

// 返回标签名的选定控件
function GetControl(obj, sTag){
obj=obj.item(0);
if (obj.tagName==sTag){
return obj;
}
return null;
}

// 数值转为RGB16进制颜色格式
function N2Color(s_Color){
s_Color = s_Color.toString(16);
switch (s_Color.length) {
case 1:
s_Color = "0" + s_Color + "0000";
break;
case 2:
s_Color = s_Color + "0000";
break;
case 3:
s_Color = s_Color.substring(1,3) + "0" + s_Color.substring(0,1) + "00" ;
break;
case 4:
s_Color = s_Color.substring(2,4) + s_Color.substring(0,2) + "00" ;
break;
case 5:
s_Color = s_Color.substring(3,5) + s_Color.substring(1,3) + "0" + s_Color.substring(0,1) ;
break;
case 6:
s_Color = s_Color.substring(4,6) + s_Color.substring(2,4) + s_Color.substring(0,2) ;
break;
default:
s_Color = "";
}
return '#' + s_Color;
}

// 初始值
function InitDocument(){
ShowColor.bgColor = color;
RGB.innerHTML = color;
SelColor.value = color;
}

var SelRGB = color;
var DrRGB = '';
var SelGRAY = '120';

var hexch = new Array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F');

function ToHex(n) {
var h, l;

n = Math.round(n);
l = n % 16;
h = Math.floor((n / 16)) % 16;
return (hexch[h] + hexch[l]);
}

function DoColor(c, l){
var r, g, b;

r = '0x' + c.substring(1, 3);
g = '0x' + c.substring(3, 5);
b = '0x' + c.substring(5, 7);

if(l > 120){
l = l - 120;

r = (r * (120 - l) + 255 * l) / 120;
g = (g * (120 - l) + 255 * l) / 120;
b = (b * (120 - l) + 255 * l) / 120;
}else{
r = (r * l) / 120;
g = (g * l) / 120;
b = (b * l) / 120;
}

return '#' + ToHex(r) + ToHex(g) + ToHex(b);
}

function EndColor(){
var i;

if(DrRGB != SelRGB){
DrRGB = SelRGB;
for(i = 0; i <= 30; i ++)
GrayTable.rows(i).bgColor = DoColor(SelRGB, 240 - i * 8);
}

SelColor.value = DoColor(RGB.innerText, GRAY.innerText);
ShowColor.bgColor = SelColor.value;
}
</SCRIPT>

<SCRIPT event=onclick for=ColorTable language=JavaScript>
SelRGB = event.srcElement.bgColor;
EndColor();
</SCRIPT>

<SCRIPT event=onmouseover for=ColorTable language=JavaScript>
RGB.innerText = event.srcElement.bgColor;
EndColor();
</SCRIPT>

<SCRIPT event=onmouseout for=ColorTable language=JavaScript>
RGB.innerText = SelRGB;
EndColor();
</SCRIPT>

<SCRIPT event=onclick for=GrayTable language=JavaScript>
SelGRAY = event.srcElement.title;
EndColor();
</SCRIPT>

<SCRIPT event=onmouseover for=GrayTable language=JavaScript>
GRAY.innerText = event.srcElement.title;
EndColor();
</SCRIPT>

<SCRIPT event=onmouseout for=GrayTable language=JavaScript>
GRAY.innerText = SelGRAY;
EndColor();
</SCRIPT>

<SCRIPT event=onclick for=Ok language=JavaScript>
color = SelColor.value;
if (!IsColor(color)){
alert('无效的颜色值!');
return;
}

switch (sAction) {
case "forecolor":
dialogArguments.format('ForeColor', color) ;
window.returnValue = null;
break;
case "backcolor":
dialogArguments.format('BackColor', color) ;
window.returnValue = null;
break;
case "bgcolor":
if (oControl){
oControl.bgColor = color;
}else{
dialogArguments.setHTML("<table border=0 cellpadding=0 cellspacing=0 width='100%' height='100%'><tr><td valign=top bgcolor='"+color+"'>"+dialogArguments.getHTML()+"</td></tr></table>");
}
window.returnValue = null;
break;
default:
window.returnValue = color;
break;
}
window.close();
</SCRIPT>

</HEAD>

<BODY bgColor=menu onload="InitDocument()">
<DIV align=center>
<CENTER>
<TABLE border=0 cellPadding=0 cellSpacing=10>
<TBODY>
<TR>
<TD>
<TABLE border=0 cellPadding=0 cellSpacing=0 id=ColorTable style="CURSOR: hand">
<SCRIPT language=JavaScript>
function wc(r, g, b, n){
r = ((r * 16 + r) * 3 * (15 - n) + 0x80 * n) / 15;
g = ((g * 16 + g) * 3 * (15 - n) + 0x80 * n) / 15;
b = ((b * 16 + b) * 3 * (15 - n) + 0x80 * n) / 15;

document.write('<TD BGCOLOR=#' + ToHex(r) + ToHex(g) + ToHex(b) + ' height=8 width=8></TD>');
}

var cnum = new Array(1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0);

for(i = 0; i < 16; i ++){
document.write('<TR>');
for(j = 0; j < 30; j ++){
n1 = j % 5;
n2 = Math.floor(j / 5) * 3;
n3 = n2 + 3;

wc((cnum[n3] * n1 + cnum[n2] * (5 - n1)),
(cnum[n3 + 1] * n1 + cnum[n2 + 1] * (5 - n1)),
(cnum[n3 + 2] * n1 + cnum[n2 + 2] * (5 - n1)), i);
}

document.writeln('</TR>');
}
</SCRIPT>

<TBODY></TBODY></TABLE></TD>
<TD>
<TABLE border=0 cellPadding=0 cellSpacing=0 id=GrayTable style="CURSOR: hand">
<SCRIPT language=JavaScript>
for(i = 255; i >= 0; i -= 8.5)
document.write('<TR BGCOLOR=#' + ToHex(i) + ToHex(i) + ToHex(i) + '><TD TITLE=' + Math.floor(i * 16 / 17) + ' height=4 width=20></TD></TR>');
</SCRIPT>

<TBODY></TBODY></TABLE></TD></TR></TBODY></TABLE></CENTER></DIV>
<DIV align=center>
<CENTER>
<TABLE border=0 cellPadding=0 cellSpacing=10>
<TBODY>
<TR>
<TD align=middle rowSpan=2>选中色彩
<TABLE border=1 cellPadding=0 cellSpacing=0 height=30 id=ShowColor width=40 bgcolor="">
<TBODY>
<TR>
<TD></TD></TR></TBODY></TABLE></TD>
<TD rowSpan=2>基色: <SPAN id=RGB></SPAN><BR>亮度: <SPAN
id=GRAY>120</SPAN><BR>代码: <INPUT id=SelColor size=7 value=""></TD>
<TD><BUTTON id=Ok type=submit>确定</BUTTON></TD></TR>
<TR>
<TD><BUTTON onclick=window.close();>取消</BUTTON></TD></TR></TBODY></TABLE></CENTER></DIV>

</BODY></HTML>

不知道这个符不符合你的要求

热点内容
android弹出通知 发布:2025-05-16 14:59:20 浏览:510
数据库EST 发布:2025-05-16 14:59:15 浏览:197
android版本号修改 发布:2025-05-16 14:53:48 浏览:173
android相机闪光灯 发布:2025-05-16 14:35:49 浏览:259
服务器无法通过ip访问 发布:2025-05-16 14:26:13 浏览:540
网吧u盘拒绝访问 发布:2025-05-16 14:13:50 浏览:260
无线网检查网络配置是怎么回事 发布:2025-05-16 14:04:03 浏览:220
网络爬虫python代码 发布:2025-05-16 14:03:26 浏览:516
汽车小组件怎么弄到安卓桌面 发布:2025-05-16 13:51:12 浏览:220
linuxg编译器下载 发布:2025-05-16 13:50:58 浏览:776