镜像

来源:互联网 发布:中科大网络大学报名 编辑:程序博客网 时间:2024/05/20 05:03
#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.1415926int 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
0 0
原创粉丝点击