• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Welcome to ErranLi's Blog!

              C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
              106 Posts :: 1 Stories :: 97 Comments :: 0 Trackbacks

            常用鏈接

            留言簿(12)

            搜索

            •  

            積分與排名

            • 積分 - 175021
            • 排名 - 151

            最新評論

            閱讀排行榜

            關于灰度的一些知識(轉)

            http://www.cnblogs.com/bnuvincent/archive/2009/07/22/1528751.html

            灰度使用黑色調表示物體。 每個灰度對象都具有從 0%(白色)到 100%(黑色)的亮度值。 使用黑白或灰度掃描儀生成的圖像通常以灰度顯示。
              使用灰度還可將彩色圖稿轉換為高質量黑白圖稿。 在這種情況下,Adobe Illustrator 放棄原始圖稿中的所有顏色信息;轉換對象的灰色級別(陰影)表示原始對象的亮度。
              將灰度對象轉換為 RGB 時,每個對象的顏色值代表對象之前的灰度值。 也可以將灰度對象轉換為 CMYK 對象。
              自然界中的大部分物體平均灰度為18%。
              在物體的邊緣呈現灰度的不連續性,圖像分割就是基于這個原理。
              所謂灰度色,就是指純白、純黑以及兩者中的一系列從黑到白的過渡色。我們平常說所的黑白照片、黑白電視,實際上都應該稱為灰度照片、灰度電視才確切?;叶壬胁话魏紊?,即不存在紅色、黃色這樣的顏色。
              灰度的通常表示方法是百分比,范圍從0%到100%。Photoshop中只能輸入整數,在Illustrator和GoLive允許輸入小數百分比。
              注意這個百分比是以純黑為基準的百分比。與RGB正好相反,百分比越高顏色越偏黑,百分比越低顏色越偏白。
              灰度最高相當于最高的黑,就是純黑?;叶茸畹拖喈斢谧畹偷暮冢簿褪?#8220;沒有黑”,那就是純白。
               雖然灰度共有256級,但是由于Photoshop的灰度滑塊只能輸入整數百分比,因此實際上從灰度滑塊中只能選擇出101種(0%也算一種)灰度。大 家可以在灰度滑塊中輸入遞增的數值然后切換到RGB滑塊察看,可以看到:0%的灰度RGB數值是255,255,255;1%灰度的RGB數值是 253,253,253;2%灰度RGB值為250,250,250。也就是說,252,252,252這樣的灰度是無法用Photoshop的灰度滑塊 選中的。相比之下Illustrator的灰度允許輸入兩位小數,使得選色的精確性大大提高了 。

            灰度圖像gray level image

            在計算機領域中,灰度數 字圖像是每個像素只有一個采樣顏色的圖像。這類圖像通常顯示為從最暗黑色到最亮的白色的灰度,盡管理論上這個采樣可以任何顏色的不同深淺,甚至可以是不同 亮度上的不同顏色?;叶葓D像與黑白圖像不同,在計算機圖像領域中黑白圖像只有黑色與白色兩種顏色;灰度圖像在黑色與白色之間還有許多級的顏色深度。但是, 在數字圖像領域之外,“黑白圖像”也表示“灰度圖像”,例如灰度的照片通常叫做“黑白照片”。在一些關于數字圖像的文章中單色圖像等同于灰度圖像,在另外一些文章中又等同于黑白圖像。

            灰度圖像經常是在單個電磁波頻譜如可見光內測量每個像素的亮度得到的。

            用 于顯示的灰度圖像通常用每個采樣像素 8 位的非線性尺度來保存,這樣可以有 256 級灰度。這種精度剛剛能夠避免可見的條帶失真,并且非常易于編程。在醫學圖像與遙感圖像這些技術應用中經常采用更多的級數以充分利用每個采樣 10 或 12 位的傳感器精度,并且避免計算時的近似誤差。在這樣的應用領域每個采樣 16 位即 65536 級得到流行。

            二值圖像

            二 值圖像是一種簡單的圖像格式,它只有兩個灰度級,即"0"表示黑色的像素點,"255"表示白色的像素點。二值圖像處理在圖像處理領域占據很重要的位置, 在具體的圖像處理應用系統中,往往需要對于獲得的二值圖像再進一步進行處理,以有利于后期的識別工作。二值圖像處理運算是從數學形態學下的集合論方法發展 起來的,盡管它的基本運算很簡單,但是卻可以產生復雜的效果。常用的二值圖像處理操作有許多方法,如腐蝕、膨脹、細化、開運算和閉運算等等。



            ubject: 為顯示256級灰度圖,需把16bpp的framebuffer改為24位,請高手指點一二
            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級灰度),現在16位,640*480的,framebuffer已經可以在我自己的TFT屏上正常運行,但是為了達到256級灰度必須改為24位的framebuffer,

            arm是s3c2440,TFT屏是LG.PHILIPS LCD ,為了運行24位的framebuffer,我做了如下修改
            1。我把16位驅動中的16位相關都改為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。因為16位的framebuffer可以運行,我沒有修改5個控制寄存器,我修改了地址寄存器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*/);
            編譯后運行,在屏幕上出現了(橫4豎4)共16個小圖象,都是24位的(用示波器檢測過了),

            這是怎么回事呢?是寄存器沒有設置正確,還是在修改驅動時出現了問題呢?
            本人新手,請大家指教,謝謝??!
            [Original] [Print] [Top]
            Subject: Re: 為顯示256級灰度圖,需把16bpp的framebuffer改為24位,請高手指點一二
            Author: gg940231 Posted: 2007-09-24 10:59 Length: 62 byte(s)
            [Original] [Print] [Top]
            好像只有 4級 ,16級灰度 吧,,,還沒有聽說過 256級灰度呢。。。
            ----
            << 發展才是硬道理 >> QQ:77291408 gg940231@163.com
            [Original] [Print] [Top]
            Subject: Re: 為顯示256級灰度圖,需把16bpp的framebuffer改為24位,請高手指點一二
            Author: freeubuntu Posted: 2007-09-24 11:05 Length: 192 byte(s)
            [Original] [Print] [Top]
            這里再做一些補充,和許多TFT屏一樣我的TFT屏上只有18根數據線(R6 G6 B6),framebuffer作成24位的(R8G8B8),TFT上顯示6位的數據(R6G6B6),這樣就能顯示64級灰度了,我的目標就是顯示64級灰度。謝謝大家!
            [Original] [Print] [Top]
            Subject: Re: 為顯示256級灰度圖,需把16bpp的framebuffer改為24位,請高手指點一二
            Author: freeubuntu Posted: 2007-09-24 11:11 Length: 92 byte(s)
            [Original] [Print] [Top]
            24位的圖象約有16M色的圖象(即2的24次方),當RGB的值相等時顯示為灰度,即2的8次方(256級灰度)
            [Original] [Print] [Top]
            Subject: Re: 為顯示256級灰度圖,需把16bpp的framebuffer改為24位,請高手指點一二
            Author: gg940231 Posted: 2007-09-24 11:22 Length: 89 byte(s)
            [Original] [Print] [Top]
            那你就直接用 16位TFT 的就可以了啊,在 gui 里去增加個函數, 轉換 16位真彩色 到 你的 灰度。
            ----
            << 發展才是硬道理 >> QQ:77291408 gg940231@163.com
            [Original] [Print] [Top]
            Subject: Re: 為顯示256級灰度圖,需把16bpp的framebuffer改為24位,請高手指點一二
            Author: freeubuntu Posted: 2007-09-24 11:33 Length: 99 byte(s)
            [Original] [Print] [Top]
            這也行?怎么搞?
            還有那個寫GUI的會砍死我的,他本來任務就重,我還想搞完驅動去幫他一把呢!!
            ----
            qq:554726623
            email:freeubuntu@hotmail.com
            [Original] [Print] [Top]
            Subject: Re: 為顯示256級灰度圖,需把16bpp的framebuffer改為24位,請高手指點一二
            Author: gg940231 Posted: 2007-09-24 11:41 Length: 99 byte(s)
            [Original] [Print] [Top]
            不知道你用什么 GUI ,我的是 microwindows ,通常底層就是些,打點,劃線的函數,看看吧,不復雜的。。。
            ----
            << 發展才是硬道理 >> QQ:77291408 gg940231@163.com
            [Original] [Print] [Top]
            Subject: Re: 為顯示256級灰度圖,需把16bpp的framebuffer改為24位,請高手指點一二
            Author: rocky1972 Posted: 2007-09-24 11:48 Length: 614 byte(s)
            [Original] [Print] [Top]
            **************************************************************************************
            2。因為16位的framebuffer可以運行,我沒有修改5個控制寄存器,我修改了地址寄存器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當然還要修改LCD CON1的BPPMODE=TFT24BPP了,查看datasheet LCDCON1 寄存器一下。
            [Original] [Print] [Top]
            Subject: Re: 為顯示256級灰度圖,需把16bpp的framebuffer改為24位,請高手指點一二
            Author: rockos Posted: 2007-09-24 12:47 Length: 210 byte(s)
            [Original] [Print] [Top]
            暈~~~

            2.6.20內核中包含的s3c24xx framebuffer驅動可以直接支持24位色, copy到你的版本就可以了.

            這個版本的fb把lcdcon的功能基本上都實現了, 1, 2, 4, 8, 12, 16, 24位色模式都支持了.
            ----
            不喜歡GPL, BSD的免費許可不錯.
            [Original] [Print] [Top]
            Subject: Re: 為顯示256級灰度圖,需把16bpp的framebuffer改為24位,請高手指點一二
            Author: freeubuntu Posted: 2007-09-24 14:39 Length: 222 byte(s)
            [Original] [Print] [Top]
            對不起,這個我忘說了,控制寄存器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級灰度圖,需把16bpp的framebuffer改為24位,請高手指點一二
            Author: freeubuntu Posted: 2007-09-24 15:11 Length: 118 byte(s)
            [Original] [Print] [Top]
            有這等好事!原來我用的是2.6.12的內核,我馬上下一個2.6.20的內核看一下,

            要知后事如何,且聽下回分解。
            ----
            qq:554726623
            email:freeubuntu@hotmail.com
            [Original] [Print] [Top]
            Subject: Re: 為顯示256級灰度圖,需把16bpp的framebuffer改為24位,請高手指點一二
            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級灰度圖,需把16bpp的framebuffer改為24位,請高手指點一二
            Author: freeubuntu Posted: 2007-09-24 18:42 Length: 1,647 byte(s)
            [Original] [Print] [Top]
            我已經仔細看過了2.6.20.6內核中的s3c2410fb.c,我發現這個也是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級灰度圖,需把16bpp的framebuffer改為24位,請高手指點一二
            Author: freeubuntu Posted: 2007-09-27 15:44 Length: 91 byte(s)
            [Original] [Print] [Top]
            現在已經確定是寄存器設置的問題了,在bootloader中對logo 進行同樣的寄存器設置也出現了16幅圖象

            posted on 2012-06-16 09:36 erran 閱讀(799) 評論(0)  編輯 收藏 引用
            欧美伊人久久大香线蕉综合| 久久大香萑太香蕉av| 亚洲精品97久久中文字幕无码| 久久综合综合久久狠狠狠97色88 | 无码久久精品国产亚洲Av影片| 久久精品蜜芽亚洲国产AV| 欧美牲交A欧牲交aⅴ久久| 国产精品99久久久久久猫咪| 久久久久久久免费视频| 1000部精品久久久久久久久| 久久99热这里只有精品国产| 亚洲级αV无码毛片久久精品| 精品国产日韩久久亚洲| 久久久SS麻豆欧美国产日韩| 色成年激情久久综合| 欧美精品一本久久男人的天堂| 久久99精品国产一区二区三区| 99精品国产免费久久久久久下载| 日韩欧美亚洲国产精品字幕久久久| 久久国产精品成人片免费| 久久婷婷五月综合97色一本一本 | 久久精品国产精品亚洲精品 | 国产成人久久精品一区二区三区 | 日产精品久久久久久久| 国产精品免费福利久久| 综合久久给合久久狠狠狠97色| 亚洲精品成人网久久久久久| 一本一本久久a久久综合精品蜜桃| 日本人妻丰满熟妇久久久久久| 91久久精品电影| 久久免费高清视频| 久久综合鬼色88久久精品综合自在自线噜噜| 亚洲精品乱码久久久久久蜜桃| 久久久久久国产精品美女| 久久狠狠色狠狠色综合| 青青草原综合久久大伊人导航| 伊人久久综合成人网| 国产A级毛片久久久精品毛片| 久久久久亚洲精品日久生情| 久久免费视频观看| 人妻少妇久久中文字幕一区二区|