Я пытаюсь XOR некоторые значения с значениями RGB моего изображения, сохранять это изображение и делать шаги назад, чтобы получить исходное изображение. Проблема в том, что я не знаю, почему я получаю непонятный (с некоторым шумом) образ. Вот мой код, и изображение ниже:Получение неправильных цветов после манипуляций с изображениями
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");
После изображение было сохранено, меняю
Bitmap inp_bmp = new Bitmap("D:\\img\\1.jpg");
для
Bitmap inp_bmp = new Bitmap("D:\\img\\4.jpg");
и удалить
//inp_bmp.Save("D:\\img\\4.jpg");
, и я получаю изображение, подобное
(слева оригинал, справа - результат); Как вы можете видеть, я получаю неправильные цвета на рисунке 4, почему? В целом это близко к оригиналу, но все же это не так.
Я редактировал свой титул. Пожалуйста, смотрите: «Если вопросы включают« теги »в их названиях?] (Http://meta.stackexchange.com/questions/19190/), где консенсус« нет, они не должны ». –
Ваш код отлично работает здесь с реальными jpeg. Можете ли вы опубликовать исходное изображение? – TaW
Здесь сэр - http://i62.tinypic.com/20jqrea.jpg –