Witam,pisze program, który z danego prostakata wylicza srednia z pixeli na wzor photoshopa(w opcji image->histogram).Problem w tym, ze wyniki sa troszke inne niz w photoshopie,mimo odczytu z tego samego obszaru rzecz jasna.Zastosowalem algorytm liczacy srednia arytmetyczna, byc moze w w sofcie adobe zastosowano jakas inna srednia.Zalezy mi,zeby te wyniki byly identyczne.Program jest dosc krótki.
Na formie sa 4 pola edit,button,obiekt Image.W buttonie jest ponizszy kodzik
p_x=StrToInt(this->Edit1->Text);
p_y=StrToInt(this->Edit2->Text);
e_x=StrToInt(this->Edit3->Text);
e_y=StrToInt(this->Edit4->Text);
float suma_srednich=0;
float srednia_pixela=0;
float liczba_pixeli=(e_x-p_x)*(e_y-p_y);
for (int x=p_x;x<=e_x;x++)
{
for (int y=p_y;y<=e_y;y++)
{
int kolor=this->Image1->Canvas->Pixels[x][y];
int czerwony=GetRValue(kolor);
int zielony=GetGValue(kolor);
int niebieski=GetBValue(kolor);
srednia_pixela=(czerwony+zielony+niebieski)/3;
suma_srednich+=srednia_pixela;
}
}
float srednia_calk=suma_srednich/liczba_pixeli;
this->Edit5->Text=FloatToStr(srednia_calk);
Dzięki za pomoc