C語(yǔ)言實(shí)現(xiàn)24位彩色圖像二值化_第1頁(yè)
C語(yǔ)言實(shí)現(xiàn)24位彩色圖像二值化_第2頁(yè)
C語(yǔ)言實(shí)現(xiàn)24位彩色圖像二值化_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第C語(yǔ)言實(shí)現(xiàn)24位彩色圖像二值化//現(xiàn)將真彩圖灰度化

intLineByte1=(bihead.biWidth*8/8+3)/4*4;//由于灰度化后每像素位數(shù)變?yōu)?,所以每行字節(jié)數(shù)發(fā)生改變,但仍要求為4的整數(shù)倍

FILE*fp2=fopen("鼠2.bmp","wb");

if(fp2==0)

return0;

//更改文件頭,并將其保存

bfhead.bfSize=14+40+sizeof(RGBQUAD)*256+LineByte1*bihead.biHeight;//更改文件大小

bfhead.bfOffBits=14+40+sizeof(RGBQUAD)*256;//更改偏移值

fwrite(bfhead,14,1,fp2);

//更改信息頭并將其保存

bihead.biBitCount=8;//更改每像素位數(shù)

bihead.biSizeImage=LineByte1*bihead.biHeight;//更改數(shù)據(jù)區(qū)大小

fwrite(bihead,40,1,fp2);

//因?yàn)榛叶然瘓D像有顏色表,所以創(chuàng)建顏色表并保存

pColorTable=newRGBQUAD[256];

for(inti=0;ii++)

pColorTable[i].rgbRed=pColorTable[i].rgbGreen=pColorTable[i].rgbBlue=i;//使顏色表中每種顏色的R,G,B分量相等且等于索引值

fwrite(pColorTable,sizeof(RGBQUAD),256,fp2);

//改變數(shù)據(jù)區(qū)

unsignedchar*pBmpBuf1;

pBmpBuf1=newunsignedchar[LineByte1*bihead.biHeight];

for(inti=0;ibihead.biHeight;i++)

for(intj=0;jbihead.biWidth;j++)

unsignedchar*pb1,*pb2;

pb1=pBmpBuf+i*LineByte+j*3;

inty=*(pb1)*0.299+*(pb1+1)*0.587+*(pb1+2)*0.114;

pb2=pBmpBuf1+i*LineByte1+j;

*pb2=y;

//二值化方法一:閾值設(shè)為127,灰度值小于127的置零,其他的置為255;

//for(inti=0;ibihead.biHeight;i++)

//for(intj=0;jbihead.biWidth;j++)

//{

//unsignedchar*pb;

//pb=pBmpBuf1+i*LineByte1+j;

//if(*pb127)//將每個(gè)像素值與127比較

//*pb=0;

//else

//*pb=255;

//}

//方法二:計(jì)算像素的平均值K,掃描圖像的每個(gè)像素值如像素值大于K像素值設(shè)為255(白色),值小于等于K像素值設(shè)為0(黑色)

inty=0;//像素和

intk=0;//像素個(gè)數(shù)

for(inti=0;ibihead.biHeight;i++)

for(intj=0;jbihead.biWidth;j++)

unsignedchar*pb;

pb=pBmpBuf1+i*LineByte1+j;

y=y+*pb;//計(jì)算所有像素灰度值之和

k++;//統(tǒng)計(jì)像素個(gè)數(shù)

y=y/k;//求像素平均值

for(inti=0;ibihead.biHeight;i++)

for(intj=0;jbihead.biWidth;j++)

unsignedchar*pb1;

pb1=pBmpBuf1+i*LineByte1+j;

if(*pb1y)//將每個(gè)像素值與平均值作比較

*pb1=0;

else

*pb1=255;

fwrite(pBmpBuf1,LineByte1*bihead.biHeight,1,fp2);

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論