//产生随机噪声图像
void __fastcall TForm1::N5Click(TObject *Sender)
{
int noisepoint;
Graphics::TBitmap *pBitmap;
pBitmap= new Graphics::TBitmap();
pBitmap->Assign(Image1->Picture->Graphic);
unsigned short height,width;
height=pBitmap->Height;
width=pBitmap->Width*3;
Byte *ptr;
int level;
for(int i=0; i<height;i++)
{
ptr= (Byte*)(pBitmap->ScanLine[i]);
for(int j=0;j<width;j++)
{
noisepoint=rand()/1024;
*(ptr+j)=(*(ptr+j))*224/256+(int)noisepoint;
}
}
Image1->Picture->Bitmap->Assign(pBitmap);
delete pBitmap;
}
//产生椒盐噪声图像
void __fastcall TForm1::N6Click(TObject *Sender)
{
Graphics::TBitmap *pBitmap;
pBitmap= new Graphics::TBitmap();
pBitmap->Assign(Image1->Picture->Graphic);
unsigned short height,width;
height=pBitmap->Height;
width=pBitmap->Width;
Byte *ptr;
int level;
for(int i=0; i<height;i++)
{
ptr= (Byte*)(pBitmap->ScanLine[i]);
for(int j=0;j<width*3;j+=3)
{
if(rand()> 31500)
{*(ptr+j) =0;
*(ptr+j+1) =0;
*(ptr+j+2) =0;
}
}
}
Image1->Picture->Bitmap->Assign(pBitmap);
delete pBitmap;
}