當前位置:首頁 » 操作系統 » 調色板演算法

調色板演算法

發布時間: 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>

不知道這個符不符合你的要求

熱點內容
python中ord函數 發布:2025-05-16 10:14:25 瀏覽:340
電腦啟動後無法連接伺服器 發布:2025-05-16 10:06:39 瀏覽:984
jar包編譯過程 發布:2025-05-16 10:03:37 瀏覽:679
選舉源碼 發布:2025-05-16 09:58:59 瀏覽:748
超級訪問陳小春應采兒 發布:2025-05-16 09:43:29 瀏覽:478
緩存視頻合並工具最新版 發布:2025-05-16 09:35:03 瀏覽:194
花雨庭伺服器ip地址和埠 發布:2025-05-16 09:34:58 瀏覽:240
同時修改多台伺服器管理地址工具 發布:2025-05-16 09:20:36 瀏覽:421
什麼配置就能玩地平線 發布:2025-05-16 09:13:46 瀏覽:82
python旋轉圖片 發布:2025-05-16 09:13:40 瀏覽:639