IplImage * image=cvLoadImage("C:\\pcl_project\\Imagetest\\test.bmp",0);
IplImage *dst=cvCreateImage(cvSize(image->width,image->height),IPL_DEPTH_8U,1);
///
uchar* data1;
uchar* data2;
data1=(uchar*)image->imageData;
data2=(uchar*)dst->imageData;
灰度反转算法
for(int i=0;i<image->height;i++)
{
for(int j=0;j<image->width;j++)
{
for(int k=0;k<image->nChannels;k++)
data2[i*image->widthStep+j*image->nChannels+k]=255-data1[i*image->widthStep+j*image->nChannels+k];
}
}
水平反转算法
for(int i=0;i<image->height;i++)
{
for(int j=0;j<image->width;j++)
{
for(int k=0;k<image->nChannels;k++)
data2[i*image->widthStep+j*image->nChannels+k]=data1[i*image->widthStep+(image->width-j)*image->nChannels+k];
}
}
垂直反转算法
for(int i=0;i<image->height;i++)
{for(int j=0;j<image->width;j++)
{
//for(int k=0;k<image->nChannels;k++)
data2[i*image->widthStep+j*image->nChannels]=data1[(image->height-i-1)*image->widthStep+j*image->nChannels];
}
}