我试图在 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);
}
}
最佳答案
我的对称检测器被(上半部分)弄糊涂了
for(j=0; j < imgur.width/2; j++) {
for(i=0; i < imgur.height; i++) {
和(在下部)
for(i=imgur.height-1; i >= 0; i--) {
for(j=0; j < imgur.width; j++) {
关于c - 图像翻转不正确...为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20498673/