C++如何使图片水平颠倒

来源:百度知道 编辑:UC知道 时间:2024/05/21 16:29:13
#define WIDTH 640 /* Image width */
#define HEIGHT 480 /* image height */

void HFlip(unsigned char R[WIDTH][HEIGHT], unsigned char G[WIDTH][HEIGHT], unsigned char B[WIDTH][HEIGHT])
{
int x,y,o;
o=640-x;
for(x=0;x<WIDTH;x++)
for(y=0;y<HEIGHT;y++)
{
R[x][y]=R[o][y];
G[x][y]=G[o][y];
B[x][y]=B[o][y];
}

就是这样一个情况,我自己写的那个不好用,出错了…………有什么好办法么,谢谢大家了
按照我这个函数出来的图片变成一个中间对称的图片了,不是那种左右颠倒的

int x,y,o;
unsigned char ctmp;
o=640-x;
for(x=0;x<WIDTH/2;x++) //注意这里/2
for(y=0;y<HEIGHT;y++)
{
ctmp= R[x][y];R[x][y]=R[o][y];R[o][y]=ctmp;
ctmp= G[x][y];G[x][y]=G[o][y];G[o][y]=ctmp;
ctmp= B[x][y];B[x][y]=B[o][y];B[o][y]=ctmp;

}

出啥错误了?
函数的参数不对?