Я пытаюсь перевернуть мое изображение на оси Y, и оно действительно переворачивается, но оно оставляет нечетные промежутки в середине и на правой стороне, оно не будет полностью переворачивать изображение целиком, я ограничу изображения до 450 на 450 и P3 ... Кто-нибудь есть какие-либо идеи, потому что мой алгоритм является правильнымИзображение переворачивается неправильно ... Почему?
for(j=0; j < imgur.width/2; j++)
{
for(i=0; i < imgur.height; i++)
{
temp.red = imgur.image[i][j].red;
imgur.image[i][j].red = imgur.image[i][imgur.height-j-1].red;
imgur.image[i][imgur.height-j-1].red = temp.red;
temp.green = imgur.image[i][j].green;
imgur.image[i][j].green = imgur.image[i][imgur.height-j-1].green;
imgur.image[i][imgur.height-j-1].green = temp.green;
temp.blue = imgur.image[i][j].blue;
imgur.image[i][j].blue = imgur.image[i][imgur.height-j-1].blue;
imgur.image[i][imgur.height-j-1].blue = temp.blue;
}
}
Вот мой алгоритм ... До этого я распечатав P3, комментарий, ширину и высоту, и maxColor. Я использую две структуры для получения данных и чтения в файле из терминала ... Вот как я распечатываю данные. У кого-нибудь есть идеи?
for(i=imgur.height-1; i >= 0; i--)
{
for(j=0; j < imgur.width; j++)
{
printf("%i\n", imgur.image[i][j].red);
printf("%i\n", imgur.image[i][j].green);
printf("%i\n", imgur.image[i][j].blue);
}
}
Нормально ли читать изображение при переворачивании при печати? Вы читаете от последней строки до первой. – Bentoy13
@ Печать и сканирование Bentoy13 (в которые я не включал), я сканирую и печатаю с наивысшей точки в столбце 0 и строке 0 и увеличивая скорость при печати/сканировании данных. Моя цель - в конечном счете перевернуть изображение, перемещая пиксели с правой стороны, влево. –
Хм, для меня самая высокая точка изображения находится на 'image [0] [0]'. Здесь вы начинаете печатать на 'image [imgur.height-1] [0]'. Это действительно то, что вы хотите сделать? – Bentoy13