Próbuję XOR niektóre wartości z wartościami RGB mojego obrazu, zapisz go i wykonaj z powrotem kroki, aby uzyskać oryginalny obraz. Problem polega na tym, że nie wiem, dlaczego obraz nie jest wyraźny (z pewnym hałasem). Oto mój kod, a obraz poniżej:Uzyskiwanie niewłaściwych kolorów po manipulacji obrazami
Bitmap original = new Bitmap("D:\\img\\1.jpg");
Bitmap inp_bmp = new Bitmap("D:\\img\\1.jpg");
int width = inp_bmp.Width;
int height = inp_bmp.Height;
Color pixel;
for (int y = 0; y < height; y += 1)
{
for (int x = 0; x < width; x += 1)
{
pixel = inp_bmp.GetPixel(x, y);
int a = pixel.A;
int r = (pixel.R^(1000))%256;
int g = (pixel.G^(185675))%256;
int b = (pixel.B^(78942))%256;
inp_bmp.SetPixel(x, y, Color.FromArgb(a, r, g, b));
}
}
pictureBox2.Image = inp_bmp;
pictureBox1.Image = original;
inp_bmp.Save("D:\\img\\4.jpg");
Po obraz został zapisany, zmieniam
Bitmap inp_bmp = new Bitmap("D:\\img\\1.jpg");
dla
Bitmap inp_bmp = new Bitmap("D:\\img\\4.jpg");
i usunąć
//inp_bmp.Save("D:\\img\\4.jpg");
i otrzymuję obraz podobny
(lewa oryginał, po prawej - wynik); Jak widać, na obrazie 4 dostaję złe kolory, dlaczego? Podsumowując, jest zbliżony do oryginału, ale nadal nie jest w porządku.
Mam edytowany tytuł. Zobacz, "[Czy w tytułach pytania powinny znaleźć się" znaczniki "?] (Http://meta.stackexchange.com/questions/19190/)", gdzie konsensus brzmi "nie, nie powinien". –
Twój kod działa dobrze tutaj z prawdziwymi jpegami. Czy możesz opublikować oryginalny obraz? – TaW
Tutaj jest Sir - http://i62.tinypic.com/20jqrea.jpg –