Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void __fastcall TForm1::LinearFiltr(TObject *Sender)
- {
- int rsume, gsume, bsume, graysume;
- int margin = ((Size-1)/2);
- //filtr dla obrazu kolorowego
- for (int i=margin; i<ObrazKolorowy->Width-margin; i++)
- for (int j=margin; j<ObrazKolorowy->Height-margin; j++)
- {
- rsume = 0;
- gsume = 0;
- bsume = 0;
- for (int k=0; k<Size; k++)
- for (int l=0; l<Size; l++)
- {
- rsume += Filter[k*Size+l]*red[i+k-margin][j+l-margin];
- gsume += Filter[k*Size+l]*green[i+k-margin][j+l-margin];
- bsume += Filter[k*Size+l]*blue[i+k-margin][j+l-margin];
- }
- rsume /= Norm;
- gsume /= Norm;
- bsume /= Norm;
- if (rsume > 255) rsume = 255;
- else if (rsume < 0) rsume = 0;
- if (gsume > 255) gsume = 255;
- else if (gsume < 0) gsume = 0;
- if (bsume > 255) bsume = 255;
- else if (bsume < 0) bsume = 0;
- WynikKolorowy->Canvas->Pixels[i][j] = (TColor)rsume + (gsume << 8) + (bsume << 16);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement