驅動 演算法 一種yuv格式轉灰度演算法

2021-10-01 04:59:47 字數 1166 閱讀 8240

for(i=0;i>8)&0x0000ff00);

colorh = (u16)((pbuf[i]<<8)&0x0000ff00);

/*拆分提取yuv格式畫素中的y亮度*/

color_r = colorh&0xf800;//只拆分解析y:亮度

color_b = colorh>>11;

colorh >>= 5;

color_g = colorh&0x07e0;

/*通過轉換為rgb的方式轉為灰度並提取高位元組*/

colorh= (u16)(color_r | color_g | color_b);//此時colorh就是最終的16位的畫素點灰度值

colorh = (u8)((colorh>>8)&0xff);//這裡只利用了16位中高8位的灰度值

/*是否二值化選擇*/

#ifdef binarization //這裡做了是否轉二值化的選擇

if(colorh>throval)colorh = 0xff;

else colorh = 0x00;

#endif

/*新增影象入快取*/

*p++ = colorh;

//到此為止乙個yuv畫素的轉灰度和二值化過程結束並存入了目標快取區

//下面是重複的下乙個yuv畫素的轉換過程

/*拆分提取yuv格式畫素中的y亮度*/

color_r = colorl&0xf800;//只拆分解析y:亮度

color_b = colorl>>11;

colorl >>= 5;

color_g = colorl&0x07e0;

/*通過轉換為rgb的方式轉為灰度並提取高位元組*/

colorl= (u16)(color_r | color_g | color_b);

colorl = (u8)((colorl>>8)&0xff);

/*是否二值化選擇*/

#ifdef binarization

if(colorl>throval)colorl = 0xff;

else colorl = 0x00;

#endif

/*新增影象入快取*/

*p++ = colorl;

}

轉一種連線方式

asp.net mvc3 mysql資料庫,儲存資料庫亂碼 修改資料庫的連線字元器 在連線字串當中增加 charset gb2312 應該就沒有問題了。charset gb2312 persist security info true database databasename providerna...

一種濾波演算法

剛看到要寫濾波演算法的時候懵了,想著是不是要去掉最大值 最小值什麼的,感覺很高大上 於是開始查資料了解,發現濾波演算法其實有很多種方法,如下列舉了一些,當然能起到的濾波作用也是不同的 於是我看了下,選擇了一種最簡單實用的濾波演算法學習了一下,即下面的中位值濾波演算法 簡單來說就是多次取樣,排序,取中...

一種快速排序演算法

using system class program for int l 0 l src.length l src count temp l i 3 0xff temp l static void main string args watch.stop console.writeline quick...