亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#偽彩色處理的具體方法

2020-01-24 02:48:04
字體:
來源:轉載
供稿:網友

偽彩色處理是指將灰度圖像轉換成彩色圖象。因為人眼對于彩色的分辨能力遠高于對灰度圖像的分辨能力,所以將灰度圖像轉換成彩色可以提高人眼對圖像細節的辨別能力。偽彩色并不能真實的反映圖像像的彩色情況。

效果圖:

強度分層法和灰度級-彩色變換法:

 ?。?)強度分層法是偽彩色處理技術中最簡單的一種。

  在某個灰度級Li上設置一個平行于x-y平面的切割平面,切割平面下面的,即灰度級小于Li的像素分配給一種顏色,相應的切割平面上大于灰度級Li的像素分配給另一種顏色。這樣切割結果可以分成兩層的偽彩色??梢允褂肕個平面去切割,就會得到M個不同灰度級的區域,這樣就是具有M種顏色的為彩色圖像。這種方法雖然簡單,但是視覺效果不理想。

 ?。?)灰度級-彩色變換法可以將灰度圖像變為具有多種顏色漸變的連續彩色圖像。

  主要就是將圖像通過不同變換特性的紅、綠、藍3個變換器,然后將三個顏色通道的輸出合成某種顏色。由于三種顏色變換的不同,使得不同大小灰度級可以合成不同的顏色。一組典型的變換傳遞函數如下圖。

這里面需要注意的地方,代碼只能是處理JPG格式的灰度圖像,因為JPG圖像的顏色深度是24位表示(R,G,B),每像素由3個字節表示即可,然而PNG圖像的顏色深度是32位表示(R,G,B,A)。

下面的代碼是測試代碼,以處理24位深度的圖像為例,同像素不同通道的顏色值要相同,組合表示出是具有一定灰度的顏色。在實際應用中需要修改下面的代碼依據要處理的圖像格式。

復制代碼 代碼如下:

#region 偽彩色圖像處理

/// <summary>
/// 偽彩色圖像處理
/// 博客園-初行 http://www.cnblogs.com/zxlovenet
/// 日期:2014.2.14
/// </summary>
/// <param name="bmp">傳入的灰度圖像</param>
/// <param name="method">使用何種方法,false強度分層法,true灰度級-彩色變換法</param>
/// <param name="seg">強度分層中的分層數</param>
/// <returns>返回偽彩色圖像</returns>
private Bitmap gcTrans(Bitmap bmp, bool method, byte seg)
{
    if (bmp != null)
    {
        if (System.Drawing.Imaging.PixelFormat.Format24bppRgb == bmp.PixelFormat)
        {
            Rectangle rect = new Rectangle(0, 0, bmp.Width, bmp.Height);
            System.Drawing.Imaging.BitmapData bmpData = bmp.LockBits(rect, System.Drawing.Imaging.ImageLockMode.ReadWrite, bmp.PixelFormat);
            IntPtr ptr = bmpData.Scan0;
            int bytes = bmp.Width * bmp.Height * 3;
            byte[] grayValues = new byte[bytes];
            System.Runtime.InteropServices.Marshal.Copy(ptr, grayValues, 0, bytes);
            bmp.UnlockBits(bmpData);

            byte[] rgbValues = new byte[bytes];
            //清零
            Array.Clear(rgbValues, 0, bytes);
            byte tempB;

            if (method == false)
            {
                //強度分層法
                for (int i = 0; i < bytes; i += 3)
                {
                    byte ser = (byte)(256 / seg);
                    tempB = (byte)(grayValues[i] / ser);
                    //分配任意一種顏色
                    rgbValues[i + 1] = (byte)(tempB * ser);
                    rgbValues[i] = (byte)((seg - 1 - tempB) * ser);
                    rgbValues[i + 2] = 0;
                }
            }
            else
            {
                //灰度級-彩色變換法
                for (int i = 0; i < bytes; i += 3)
                {
                    if (grayValues[i] < 64)
                    {
                        rgbValues[i + 2] = 0;
                        rgbValues[i + 1] = (byte)(4 * grayValues[i]);
                        rgbValues[i] = 255;
                    }
                    else if (grayValues[i] < 128)
                    {
                        rgbValues[i + 2] = 0;
                        rgbValues[i + 1] = 255;
                        rgbValues[i] = (byte)(-4 * grayValues[i] + 2 * 255);
                    }
                    else if (grayValues[i] < 192)
                    {
                        rgbValues[i + 2] = (byte)(4 * grayValues[i] - 2 * 255);
                        rgbValues[i + 1] = 255;
                        rgbValues[i] = 0;
                    }
                    else
                    {
                        rgbValues[i + 2] = 255;
                        rgbValues[i + 1] = (byte)(-4 * grayValues[i] + 4 * 255);
                        rgbValues[i] = 0;
                    }
                }

            }
            bmp = new Bitmap(bmp.Width, bmp.Height, System.Drawing.Imaging.PixelFormat.Format24bppRgb);
            bmpData = bmp.LockBits(rect, System.Drawing.Imaging.ImageLockMode.ReadWrite, bmp.PixelFormat);
            ptr = bmpData.Scan0;

            System.Runtime.InteropServices.Marshal.Copy(rgbValues, 0, ptr, bytes);
            bmp.UnlockBits(bmpData);

            return bmp;
        }
        else
        {
            return null;
        }
    }
    else
    {
        return null;
    }
}
#endregion

顏色映射:

顏色映射的方法需要做一個顏色映射表,不同灰度級都會有對應的顏色。這個跟強度分層法相似,可以分成不同的層次,對應的顏色可以根據實際情況做映射。

在實際應用中,熱成像測溫系統所產生的紅外圖像為黑白灰度級圖像,灰度值動態范圍不大,人眼很難從這些灰度級中獲得豐富的信息。為了更直觀地增強顯示圖像的層次,提高人眼分辨能力,對系統所攝取的圖像進行偽彩色處理,從而達到圖像增強的效果,使圖像信息更加豐富。例如對受熱物體所成的像進行偽彩色時,將灰度低的區域設置在藍色附近(或藍灰、黑等),而灰度級高的區域設置在紅色附近(或棕紅、白等),以方便人們對物體的觀察。

下面幾張圖片是在實際應用中的情況(圖片來源網絡):

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
97视频色精品| 国产精品专区一| 亚洲电影免费观看| 日韩精品在线免费| 亚洲欧洲国产伦综合| 亚洲国产成人av在线| 日韩av色在线| 国产日本欧美在线观看| 精品国产一区二区三区久久狼5月| 久久久国产一区二区| 国产精品白丝av嫩草影院| 欧美激情精品久久久久| 国产福利精品av综合导导航| 久国内精品在线| 性欧美在线看片a免费观看| 美女扒开尿口让男人操亚洲视频网站| 亚洲国产高清福利视频| 日韩在线视频观看正片免费网站| 亚洲精品国产精品国自产在线| 精品久久久久久久久久ntr影视| 国产精品对白刺激| 亚洲日韩欧美视频一区| 亚洲精品成a人在线观看| 亚洲国产精品99| 成人美女免费网站视频| 欧美日韩国产精品一区二区不卡中文| 久热99视频在线观看| 欧美国产日本在线| 亚洲美女喷白浆| 亚洲最大福利视频| 在线成人中文字幕| 亚洲人成网站777色婷婷| 18一19gay欧美视频网站| 日韩欧美中文第一页| 精品人伦一区二区三区蜜桃网站| 精品国偷自产在线| 国产自产女人91一区在线观看| 亚洲香蕉av在线一区二区三区| 欧洲s码亚洲m码精品一区| 中文字幕国产精品| 亚洲国产精品va在线观看黑人| 国产精品视频网站| 91在线观看免费观看| 97av在线播放| 69国产精品成人在线播放| 日韩精品在线观看一区二区| 日本不卡高字幕在线2019| 国产精品视频网| 国产97色在线| 97在线看免费观看视频在线观看| 久久人人爽人人爽人人片亚洲| 久久久久久久国产精品| 最新中文字幕亚洲| 国产精品视频播放| 国产成人精品国内自产拍免费看| www.日韩.com| 色爱av美腿丝袜综合粉嫩av| 久久91精品国产91久久跳| 亚洲天堂男人天堂| 国产精品第一页在线| 日韩免费电影在线观看| 久久久av亚洲男天堂| 欧美一区三区三区高中清蜜桃| 日韩中文字在线| 日日摸夜夜添一区| 国产精品吴梦梦| 日韩av电影在线网| 国产激情综合五月久久| 亚洲加勒比久久88色综合| 日韩av手机在线| 欧美黑人巨大xxx极品| 亚洲一区二区久久久久久| 97精品久久久中文字幕免费| 欧美做受高潮1| 亚洲自拍偷拍在线| 亚洲激情视频在线播放| 中文字幕欧美日韩在线| 日韩中文综合网| 丝袜美腿亚洲一区二区| 久久久国产精品免费| 人体精品一二三区| 亚洲一区第一页| 成人黄色短视频在线观看| 国产精品扒开腿做爽爽爽男男| 久久久久久成人精品| 亚洲天堂免费观看| 国产91在线播放九色快色| 国产v综合v亚洲欧美久久| 日韩av色综合| 日韩电视剧在线观看免费网站| 色天天综合狠狠色| 最近更新的2019中文字幕| 88国产精品欧美一区二区三区| 久久亚洲综合国产精品99麻豆精品福利| 69av视频在线播放| 色悠久久久久综合先锋影音下载| 性欧美视频videos6一9| 国产精品自产拍在线观看| 亚洲精品不卡在线| 91chinesevideo永久地址| 亚洲wwwav| 26uuu国产精品视频| 色婷婷av一区二区三区久久| 69国产精品成人在线播放| 一本一道久久a久久精品逆3p| 97在线精品视频| 日韩国产精品亚洲а∨天堂免| 国产精品日韩一区| 欧美一级电影久久| 国产区亚洲区欧美区| 久久成人这里只有精品| 欧美在线观看www| 国产美女高潮久久白浆| 日韩av在线一区二区| 久久久久久久网站| 亚洲女同性videos| 伦伦影院午夜日韩欧美限制| 日韩在线一区二区三区免费视频| 日韩高清中文字幕| 亚洲国产精品久久久久秋霞蜜臀| 欧美天堂在线观看| 国产日韩精品综合网站| 欧洲精品在线视频| 亚洲黄色片网站| 久久久久久久久久久免费| 久久综合亚洲社区| 韩国美女主播一区| 92看片淫黄大片欧美看国产片| 97超级碰碰人国产在线观看| 91手机视频在线观看| 激情懂色av一区av二区av| 国产午夜一区二区| 欧美激情网友自拍| 日韩免费av一区二区| 日韩中文在线观看| 久久亚洲精品一区二区| 日韩精品中文字幕在线观看| 亚洲影影院av| 亚洲欧美国产日韩中文字幕| 日韩精品免费在线播放| 九九热精品在线| 97视频在线播放| 国产精品高清网站| 久久亚洲精品毛片| 国产精品18久久久久久麻辣| 91精品国产色综合久久不卡98| 亚洲一区制服诱惑| 亚洲激情国产精品| 高清欧美性猛交xxxx| 国产日产久久高清欧美一区| 欧美高清第一页| 欧美成在线视频| 欧美成人精品激情在线观看| 18性欧美xxxⅹ性满足| 精品久久久久久中文字幕| 精品久久久久久久中文字幕| 蜜臀久久99精品久久久久久宅男| 色中色综合影院手机版在线观看| 国产69精品久久久久9999| 久久6精品影院| 97超碰蝌蚪网人人做人人爽| 精品国产视频在线| 午夜精品免费视频| 久久久国产91|