level 1
木紫拉
楼主
#include "highgui.h"
#include "windows.h"
void JingXiang(IplImage* srcImage, IplImage* dstImage)
{
BYTE*lpSrc;
BYTE*lpDst;
BYTE* p_data;
BYTE* temp;
//图像的高与宽
long height=srcImage->height;
long wide=srcImage->width;
p_data=(BYTE*)srcImage->imageData;
temp = new BYTE[wide*height];
for(int j = 0; j < height; j++)
{
for(int i = 0; i < wide;i++)
{
lpSrc = (BYTE*)p_data +wide *j + i;
lpDst = (BYTE*)temp + wide* j+ wide - i;
*lpDst = *lpSrc;
}
}
memcpy(p_data,temp, wide*height);
delete temp;
dstImage = cvCreateImage(cvSize(wide,height),IPL_DEPTH_8U,1);
cvSetData(dstImage,p_data,wide);
}
int main(int argc, char** argv){
IplImage* img = cvLoadImage("1.bmp");
cvNamedWindow("ShowImage",CV_WINDOW_AUTOSIZE);
cvShowImage("ShowImage",img);
int width = img->width;
int height = img->height;
IplImage* dstImage = cvCreateImage(cvSize(width,height),IPL_DEPTH_8U,1);
JingXiang(img,dstImage);
cvNamedWindow("TransImage",CV_WINDOW_AUTOSIZE);
cvShowImage("TransImage",dstImage);
cvWaitKey(0);
cvReleaseImage(&img);
cvReleaseImage(&dstImage);
cvDestroyWindow("ShowImage");
cvDestroyWindow("TransImage");
}
初学opencv,也正好看到VC++图像处理程序设计这本书里有很多例子,想用起来,结果一直出错,编程能力有待提高。求助求助。
2017年09月06日 10点09分
1
#include "windows.h"
void JingXiang(IplImage* srcImage, IplImage* dstImage)
{
BYTE*lpSrc;
BYTE*lpDst;
BYTE* p_data;
BYTE* temp;
//图像的高与宽
long height=srcImage->height;
long wide=srcImage->width;
p_data=(BYTE*)srcImage->imageData;
temp = new BYTE[wide*height];
for(int j = 0; j < height; j++)
{
for(int i = 0; i < wide;i++)
{
lpSrc = (BYTE*)p_data +wide *j + i;
lpDst = (BYTE*)temp + wide* j+ wide - i;
*lpDst = *lpSrc;
}
}
memcpy(p_data,temp, wide*height);
delete temp;
dstImage = cvCreateImage(cvSize(wide,height),IPL_DEPTH_8U,1);
cvSetData(dstImage,p_data,wide);
}
int main(int argc, char** argv){
IplImage* img = cvLoadImage("1.bmp");
cvNamedWindow("ShowImage",CV_WINDOW_AUTOSIZE);
cvShowImage("ShowImage",img);
int width = img->width;
int height = img->height;
IplImage* dstImage = cvCreateImage(cvSize(width,height),IPL_DEPTH_8U,1);
JingXiang(img,dstImage);
cvNamedWindow("TransImage",CV_WINDOW_AUTOSIZE);
cvShowImage("TransImage",dstImage);
cvWaitKey(0);
cvReleaseImage(&img);
cvReleaseImage(&dstImage);
cvDestroyWindow("ShowImage");
cvDestroyWindow("TransImage");
}
初学opencv,也正好看到VC++图像处理程序设计这本书里有很多例子,想用起来,结果一直出错,编程能力有待提高。求助求助。
