首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GrayScale图像翻转在c中还是在c++中?

GrayScale图像翻转在c中还是在c++中?
EN

Stack Overflow用户
提问于 2012-10-09 03:23:20
回答 1查看 1.1K关注 0票数 0

我正在尝试水平翻转灰度图像。指针fp指向原始图像,指针fp1创建水平翻转的图像。程序执行正常,但输出图像最差...

代码语言:javascript
复制
    for( i =0 ;i<width ; i++)
     for(j=0; j <height; j++)
              idata[i][height - 1 -j] = ( (unsigned char)fgetc(fp));
    //flipping image          
for( i =0 ;i<width ; i++)
     for(j=0; j <height; j++)
              putc(idata[i][j] , fp1);                

镜像的头部副本没有问题。我认为问题出在for循环中...请帮帮我

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-09 03:35:37

你确定你没有把宽度和高度搞混了吗?代码似乎假定数据是按列顺序读取的,而数据很可能是按行顺序读取的。尝试翻转for循环和用于翻转的尺寸,如下所示:

代码语言:javascript
复制
for(j = 0; j < height; j++)
    for(i = 0; i < width; i++)
        idata[width - 1 - i][j] = ( (unsigned char)fgetc(fp));

//flipping image          

for(j = 0; j < height; j++)
    for(i = 0; i < width; i++)
        putc(idata[i][j] , fp1);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12788132

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档