灰度使用黑色調(diào)表示物體。 每個(gè)灰度對(duì)象都具有從 0%(白色)到 100%(黑色)的亮度值。 使用黑白或灰度掃描儀生成的圖像通常以灰度顯示。
使用灰度還可將彩色圖稿轉(zhuǎn)換為高質(zhì)量黑白圖稿。 在這種情況下,Adobe Illustrator 放棄原始圖稿中的所有顏色信息;轉(zhuǎn)換對(duì)象的灰色級(jí)別(陰影)表示原始對(duì)象的亮度。
將灰度對(duì)象轉(zhuǎn)換為 RGB 時(shí),每個(gè)對(duì)象的顏色值代表對(duì)象之前的灰度值。 也可以將灰度對(duì)象轉(zhuǎn)換為 CMYK 對(duì)象。
自然界中的大部分物體平均灰度為18%。
在物體的邊緣呈現(xiàn)灰度的不連續(xù)性,圖像分割就是基于這個(gè)原理。
所謂灰度色,就是指純白、純黑以及兩者中的一系列從黑到白的過(guò)渡色。我們平常說(shuō)所的黑白照片、黑白電視,實(shí)際上都應(yīng)該稱為灰度照片、灰度電視才確切。灰度色中不包含任何色相,即不存在紅色、黃色這樣的顏色。
灰度的通常表示方法是百分比,范圍從0%到100%。Photoshop中只能輸入整數(shù),在Illustrator和GoLive允許輸入小數(shù)百分比。
注意這個(gè)百分比是以純黑為基準(zhǔn)的百分比。與RGB正好相反,百分比越高顏色越偏黑,百分比越低顏色越偏白。
灰度最高相當(dāng)于最高的黑,就是純黑。灰度最低相當(dāng)于最低的黑,也就是“沒(méi)有黑”,那就是純白。
雖然灰度共有256級(jí),但是由于Photoshop的灰度滑塊只能輸入整數(shù)百分比,因此實(shí)際上從灰度滑塊中只能選擇出101種(0%也算一種)灰度。大 家可以在灰度滑塊中輸入遞增的數(shù)值然后切換到RGB滑塊察看,可以看到:0%的灰度RGB數(shù)值是255,255,255;1%灰度的RGB數(shù)值是 253,253,253;2%灰度RGB值為250,250,250。也就是說(shuō),252,252,252這樣的灰度是無(wú)法用Photoshop的灰度滑塊 選中的。相比之下Illustrator的灰度允許輸入兩位小數(shù),使得選色的精確性大大提高了 。
灰度圖像gray level image
在計(jì)算機(jī)領(lǐng)域中,灰度數(shù) 字圖像是每個(gè)像素只有一個(gè)采樣顏色的圖像。這類圖像通常顯示為從最暗黑色到最亮的白色的灰度,盡管理論上這個(gè)采樣可以任何顏色的不同深淺,甚至可以是不同 亮度上的不同顏色。灰度圖像與黑白圖像不同,在計(jì)算機(jī)圖像領(lǐng)域中黑白圖像只有黑色與白色兩種顏色;灰度圖像在黑色與白色之間還有許多級(jí)的顏色深度。但是, 在數(shù)字圖像領(lǐng)域之外,“黑白圖像”也表示“灰度圖像”,例如灰度的照片通常叫做“黑白照片”。在一些關(guān)于數(shù)字圖像的文章中單色圖像等同于灰度圖像,在另外一些文章中又等同于黑白圖像。
灰度圖像經(jīng)常是在單個(gè)電磁波頻譜如可見(jiàn)光內(nèi)測(cè)量每個(gè)像素的亮度得到的。
用 于顯示的灰度圖像通常用每個(gè)采樣像素 8 位的非線性尺度來(lái)保存,這樣可以有 256 級(jí)灰度。這種精度剛剛能夠避免可見(jiàn)的條帶失真,并且非常易于編程。在醫(yī)學(xué)圖像與遙感圖像這些技術(shù)應(yīng)用中經(jīng)常采用更多的級(jí)數(shù)以充分利用每個(gè)采樣 10 或 12 位的傳感器精度,并且避免計(jì)算時(shí)的近似誤差。在這樣的應(yīng)用領(lǐng)域每個(gè)采樣 16 位即 65536 級(jí)得到流行。
二值圖像
二 值圖像是一種簡(jiǎn)單的圖像格式,它只有兩個(gè)灰度級(jí),即"0"表示黑色的像素點(diǎn),"255"表示白色的像素點(diǎn)。二值圖像處理在圖像處理領(lǐng)域占據(jù)很重要的位置, 在具體的圖像處理應(yīng)用系統(tǒng)中,往往需要對(duì)于獲得的二值圖像再進(jìn)一步進(jìn)行處理,以有利于后期的識(shí)別工作。二值圖像處理運(yùn)算是從數(shù)學(xué)形態(tài)學(xué)下的集合論方法發(fā)展 起來(lái)的,盡管它的基本運(yùn)算很簡(jiǎn)單,但是卻可以產(chǎn)生復(fù)雜的效果。常用的二值圖像處理操作有許多方法,如腐蝕、膨脹、細(xì)化、開(kāi)運(yùn)算和閉運(yùn)算等等。
ubject: 為顯示256級(jí)灰度圖,需把16bpp的framebuffer改為24位,請(qǐng)高手指點(diǎn)一二
Author: freeubuntu Posted: 2007-09-24 10:54 Length: 1,718 byte(s)
[Original] [Print] [Top]
大家知道,16位的制式為r 5 g 6 b 5,最多能顯示2的5次方(即32級(jí)灰度),現(xiàn)在16位,640*480的,framebuffer已經(jīng)可以在我自己的TFT屏上正常運(yùn)行,但是為了達(dá)到256級(jí)灰度必須改為24位的framebuffer,
arm是s3c2440,TFT屏是LG.PHILIPS LCD ,為了運(yùn)行24位的framebuffer,我做了如下修改
1。我把16位驅(qū)動(dòng)中的16位相關(guān)都改為24位的了,例如:
if ( var->bits_per_pixel == 24 ) {//change add
var->red.offset = 16; var->red.length = 8;
var->green.offset = 8; var->green.length = 8;
var->blue.offset = 0; var->blue.length = 8;
var->transp.offset = var->transp.length = 0;
}else if ( var->bits_per_pixel == 16 ) {
var->red.offset = 11; var->red.length = 5;
var->green.offset = 5; var->green.length = 6;
var->blue.offset = 0; var->blue.length = 5;
var->transp.offset = var->transp.length = 0;
}
2。因?yàn)?6位的framebuffer可以運(yùn)行,我沒(méi)有修改5個(gè)控制寄存器,我修改了地址寄存器2,3,如下
/* 16bpp 24bpp*/
new_regs.lcdsaddr2 = LCDADDR_BASEL(
((unsigned long)VideoPhysicalTemp + (var->xres * 3 * (var->yres/*-1*/)))
>> 1);//change 2 to 3
new_regs.lcdsaddr3 = LCDADDR_OFFSET(0) | (LCDADDR_PAGE(var->xres*3/2) /*>> 1*/);
編譯后運(yùn)行,在屏幕上出現(xiàn)了(橫4豎4)共16個(gè)小圖象,都是24位的(用示波器檢測(cè)過(guò)了),
這是怎么回事呢?是寄存器沒(méi)有設(shè)置正確,還是在修改驅(qū)動(dòng)時(shí)出現(xiàn)了問(wèn)題呢?
本人新手,請(qǐng)大家指教,謝謝!!
[Original] [Print] [Top]
Subject: Re: 為顯示256級(jí)灰度圖,需把16bpp的framebuffer改為24位,請(qǐng)高手指點(diǎn)一二
Author: gg940231 Posted: 2007-09-24 10:59 Length: 62 byte(s)
[Original] [Print] [Top]
好像只有 4級(jí) ,16級(jí)灰度 吧,,,還沒(méi)有聽(tīng)說(shuō)過(guò) 256級(jí)灰度呢。。。
----
<< 發(fā)展才是硬道理 >> QQ:77291408 gg940231@163.com
[Original] [Print] [Top]
Subject: Re: 為顯示256級(jí)灰度圖,需把16bpp的framebuffer改為24位,請(qǐng)高手指點(diǎn)一二
Author: freeubuntu Posted: 2007-09-24 11:05 Length: 192 byte(s)
[Original] [Print] [Top]
這里再做一些補(bǔ)充,和許多TFT屏一樣我的TFT屏上只有18根數(shù)據(jù)線(R6 G6 B6),framebuffer作成24位的(R8G8B8),TFT上顯示6位的數(shù)據(jù)(R6G6B6),這樣就能顯示64級(jí)灰度了,我的目標(biāo)就是顯示64級(jí)灰度。謝謝大家!
[Original] [Print] [Top]
Subject: Re: 為顯示256級(jí)灰度圖,需把16bpp的framebuffer改為24位,請(qǐng)高手指點(diǎn)一二
Author: freeubuntu Posted: 2007-09-24 11:11 Length: 92 byte(s)
[Original] [Print] [Top]
24位的圖象約有16M色的圖象(即2的24次方),當(dāng)RGB的值相等時(shí)顯示為灰度,即2的8次方(256級(jí)灰度)
[Original] [Print] [Top]
Subject: Re: 為顯示256級(jí)灰度圖,需把16bpp的framebuffer改為24位,請(qǐng)高手指點(diǎn)一二
Author: gg940231 Posted: 2007-09-24 11:22 Length: 89 byte(s)
[Original] [Print] [Top]
那你就直接用 16位TFT 的就可以了啊,在 gui 里去增加個(gè)函數(shù), 轉(zhuǎn)換 16位真彩色 到 你的 灰度。
----
<< 發(fā)展才是硬道理 >> QQ:77291408 gg940231@163.com
[Original] [Print] [Top]
Subject: Re: 為顯示256級(jí)灰度圖,需把16bpp的framebuffer改為24位,請(qǐng)高手指點(diǎn)一二
Author: freeubuntu Posted: 2007-09-24 11:33 Length: 99 byte(s)
[Original] [Print] [Top]
這也行?怎么搞?
還有那個(gè)寫(xiě)GUI的會(huì)砍死我的,他本來(lái)任務(wù)就重,我還想搞完驅(qū)動(dòng)去幫他一把呢!!
----
qq:554726623
email:freeubuntu@hotmail.com
[Original] [Print] [Top]
Subject: Re: 為顯示256級(jí)灰度圖,需把16bpp的framebuffer改為24位,請(qǐng)高手指點(diǎn)一二
Author: gg940231 Posted: 2007-09-24 11:41 Length: 99 byte(s)
[Original] [Print] [Top]
不知道你用什么 GUI ,我的是 microwindows ,通常底層就是些,打點(diǎn),劃線的函數(shù),看看吧,不復(fù)雜的。。。
----
<< 發(fā)展才是硬道理 >> QQ:77291408 gg940231@163.com
[Original] [Print] [Top]
Subject: Re: 為顯示256級(jí)灰度圖,需把16bpp的framebuffer改為24位,請(qǐng)高手指點(diǎn)一二
Author: rocky1972 Posted: 2007-09-24 11:48 Length: 614 byte(s)
[Original] [Print] [Top]
**************************************************************************************
2。因?yàn)?6位的framebuffer可以運(yùn)行,我沒(méi)有修改5個(gè)控制寄存器,我修改了地址寄存器2,3,如下
/* 16bpp 24bpp*/
new_regs.lcdsaddr2 = LCDADDR_BASEL(
((unsigned long)VideoPhysicalTemp + (var->xres * 3 * (var->yres/*-1*/)))
>> 1);//change 2 to 3
***************************************************************************************
16bpp換成24bpp當(dāng)然還要修改LCD CON1的BPPMODE=TFT24BPP了,查看datasheet LCDCON1 寄存器一下。
[Original] [Print] [Top]
Subject: Re: 為顯示256級(jí)灰度圖,需把16bpp的framebuffer改為24位,請(qǐng)高手指點(diǎn)一二
Author: rockos Posted: 2007-09-24 12:47 Length: 210 byte(s)
[Original] [Print] [Top]
暈~~~
2.6.20內(nèi)核中包含的s3c24xx framebuffer驅(qū)動(dòng)可以直接支持24位色, copy到你的版本就可以了.
這個(gè)版本的fb把lcdcon的功能基本上都實(shí)現(xiàn)了, 1, 2, 4, 8, 12, 16, 24位色模式都支持了.
----
不喜歡GPL, BSD的免費(fèi)許可不錯(cuò).
[Original] [Print] [Top]
Subject: Re: 為顯示256級(jí)灰度圖,需把16bpp的framebuffer改為24位,請(qǐng)高手指點(diǎn)一二
Author: freeubuntu Posted: 2007-09-24 14:39 Length: 222 byte(s)
[Original] [Print] [Top]
對(duì)不起,這個(gè)我忘說(shuō)了,控制寄存器1我改了的,如下:
.reg = {
/*111111000 這里把寄存器改為13*/
.lcdcon1 = (1<<8)|(1<<7)|(3<<5)|(13<<1),
----
qq:554726623
email:freeubuntu@hotmail.com
[Original] [Print] [Top]
Subject: Re: 為顯示256級(jí)灰度圖,需把16bpp的framebuffer改為24位,請(qǐng)高手指點(diǎn)一二
Author: freeubuntu Posted: 2007-09-24 15:11 Length: 118 byte(s)
[Original] [Print] [Top]
有這等好事!原來(lái)我用的是2.6.12的內(nèi)核,我馬上下一個(gè)2.6.20的內(nèi)核看一下,
要知后事如何,且聽(tīng)下回分解。
----
qq:554726623
email:freeubuntu@hotmail.com
[Original] [Print] [Top]
Subject: Re: 為顯示256級(jí)灰度圖,需把16bpp的framebuffer改為24位,請(qǐng)高手指點(diǎn)一二
Author: freeubuntu Posted: 2007-09-24 15:58 Length: 65 byte(s)
[Original] [Print] [Top]
2.6.20中的framebuffer我看了一下,不行啊,要改很多地方吧
----
qq:554726623
email:freeubuntu@hotmail.com
[Original] [Print] [Top]
Subject: Re: 為顯示256級(jí)灰度圖,需把16bpp的framebuffer改為24位,請(qǐng)高手指點(diǎn)一二
Author: freeubuntu Posted: 2007-09-24 18:42 Length: 1,647 byte(s)
[Original] [Print] [Top]
我已經(jīng)仔細(xì)看過(guò)了2.6.20.6內(nèi)核中的s3c2410fb.c,我發(fā)現(xiàn)這個(gè)也是16位的。如下:
if (fbi->mach_info->type == S3C2410_LCDCON1_TFT)
switch (var->bits_per_pixel) {
case 1:
fbi->regs.lcdcon1 |= S3C2410_LCDCON1_TFT1BPP;
break;
case 2:
fbi->regs.lcdcon1 |= S3C2410_LCDCON1_TFT2BPP;
break;
case 4:
fbi->regs.lcdcon1 |= S3C2410_LCDCON1_TFT4BPP;
break;
case 8:
fbi->regs.lcdcon1 |= S3C2410_LCDCON1_TFT8BPP;
break;
case 16:
fbi->regs.lcdcon1 |= S3C2410_LCDCON1_TFT16BPP;
break;
default:
/* invalid pixel depth */
dev_err(fbi->dev, "invalid bpp %d ", var->bits_per_pixel);
}
else
switch (var->bits_per_pixel) {
case 1:
fbi->regs.lcdcon1 |= S3C2410_LCDCON1_STN1BPP;
break;
case 2:
fbi->regs.lcdcon1 |= S3C2410_LCDCON1_STN2GREY;
break;
case 4:
fbi->regs.lcdcon1 |= S3C2410_LCDCON1_STN4GREY;
break;
case 8:
fbi->regs.lcdcon1 |= S3C2410_LCDCON1_STN8BPP;
break;
case 12:
fbi->regs.lcdcon1 |= S3C2410_LCDCON1_STN12BPP;
break;
default:
/* invalid pixel depth */
dev_err(fbi->dev, "invalid bpp %d ", var->bits_per_pixel);
}
----
qq:554726623
email:freeubuntu@hotmail.com
[Original] [Print] [Top]
Subject: Re: 為顯示256級(jí)灰度圖,需把16bpp的framebuffer改為24位,請(qǐng)高手指點(diǎn)一二
Author: freeubuntu Posted: 2007-09-27 15:44 Length: 91 byte(s)
[Original] [Print] [Top]
現(xiàn)在已經(jīng)確定是寄存器設(shè)置的問(wèn)題了,在bootloader中對(duì)logo 進(jìn)行同樣的寄存器設(shè)置也出現(xiàn)了16幅圖象