#if 1
#include <iostream>
#include <cv.h>
#include <highgui.h>
#include <imgproc/imgproc.hpp>
#include <iostream>
#include <math.h>
using namespace std;
using namespace cv;
#define PI 3.1415926
int main(int argc, const char * argv[])
{
//1:load source image
Mat image = imread("/Users/hanoi/Desktop/copy.jpeg");
if(image.empty())
{
printf("it can not load image\n");
return 0;
}
int height = image.rows;
int width = image.cols;
Mat destImage;
destImage.create(height, 2*width, image.type());
memset(destImage.data, 0, 2*height*width*3);
for (int j=0; j<height; j++)
{
for(int i=0; i<width; i++)
{
*(destImage.data + j*destImage.step + 3*i) = *(image.data + j*image.step + 3*i);
*(destImage.data + j*destImage.step + 3*i + 1) = *(image.data + j*image.step + 3*i + 1);
*(destImage.data + j*destImage.step + 3*i + 2) = *(image.data + j*image.step + 3*i +2);
}
}
for (int j=0; j<height; j++)
{
for(int i=0; i<width; i++)
{
if(i == 0)
{
*(destImage.data + j*destImage.step + 3*(i+width)) = *(image.data + j*image.step + 3*(width-1));
*(destImage.data + j*destImage.step + 3*(i+width) + 1) = *(image.data + j*image.step + 3*(width-1) + 1);
*(destImage.data + j*destImage.step + 3*(i+width) + 2) = *(image.data + j*image.step + 3*(width-1) + 2);
}
else
{
*(destImage.data + j*destImage.step + 3*(i+width)) = *(image.data + j*image.step + 3*(width-i));
*(destImage.data + j*destImage.step + 3*(i+width) + 1) = *(image.data + j*image.step + 3*(width-i) + 1);
*(destImage.data + j*destImage.step + 3*(i+width) + 2) = *(image.data + j*image.step + 3*(width-i) + 2);
}
}
}
imwrite("/Users/hanoi/Desktop/镜像.bmp", destImage);
return 0;
}
#endif
镜像
最新推荐文章于 2024-12-12 23:12:21 发布