// 6-2.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include"cv.h"
#include"highgui.h"
int main(int argc,char** argv)
{
CvPoint2D32f srcTri[3],dstTri[3];
CvMat* rot_mat=cvCreateMat(2,3,CV_32FC1);
CvMat* warp_mat=cvCreateMat(2,3,CV_32FC1);
IplImage *src,*dst;
if(argc==2&&((src=cvLoadImage(argv[1],1))!=0)){
dst=cvCloneImage(src);
dst->origin=src->origin;
cvZero(dst);
srcTri[0].x=0;
srcTri[0].y=0;
srcTri[1].x=src->width-1;
srcTri[1].y=0;
srcTri[2].x=0;
srcTri[2].y=src->height-1;
dstTri[0].x=src->width *0.0;
dstTri[0].y=src->height *0.33;
dstTri[1].x=src->width *0.85;
dstTri[1].y=src->height *0.25;
dstTri[2].x=src->width *0.15;
dstTri[2].y=src->height *0.7;
cvGetAffineTransform(srcTri,dstTri,warp_mat);
cvWarpAffine(src,dst,warp_mat);
cvCopy(dst,src);
CvPoint2D32f center=cvPoint2D32f(
src->width/2,
src->height/2
);
double angle=-50.0;
double scale=0.6;
cv2DRotationMatrix(center,angle,scale,rot_mat);
cvWarpAffine(src,dst,rot_mat);
cvNamedWindow("Affine_Transform",1);
cvShowImage("Affine_Transform",dst);
cvWaitKey();
}
cvReleaseImage(&dst);
cvReleaseMat(&rot_mat);
cvReleaseMat(&warp_mat);
return 0;
}
求程序的详细注解opencv谢谢
答案:1 悬赏:0 手机版
解决时间 2021-02-04 20:45
- 提问者网友:棒棒糖
- 2021-02-04 03:14
最佳答案
- 五星知识达人网友:时间的尘埃
- 2021-02-04 04:05
#include "stdafx.h"
#include"cv.h"
#include"highgui.h"
int main(int argc,char** argv)
{
CvPoint2D32f srcTri[3],dstTri[3];
CvMat* rot_mat=cvCreateMat(2,3,CV_32FC1);
CvMat* warp_mat=cvCreateMat(2,3,CV_32FC1);
IplImage *src,*dst;
srcTri[0].x=0;
srcTri[0].y=0;
srcTri[1].x=src->width-1;
srcTri[1].y=0;
srcTri[2].x=0;
srcTri[2].y=src->height-1;
dstTri[0].x=src->width *0.0;
dstTri[0].y=src->height *0.33;
dstTri[1].x=src->width *0.85;
dstTri[1].y=src->height *0.25;
dstTri[2].x=src->width *0.15;
dstTri[2].y=src->height *0.7;
cvGetAffineTransform(srcTri,dstTri,warp_mat);
cvWarpAffine(src,dst,warp_mat);
cvCopy(dst,src);
CvPoint2D32f center=cvPoint2D32f(
src->width/2,
src->height/2
);
double angle=-50.0;
double scale=0.6;
cv2DRotationMatrix(center,angle,scale,rot_mat);
cvNamedWindow("Affine_Transform",1);
cvShowImage("Affine_Transform",dst);
cvWaitKey();
}
cvReleaseImage(&dst);
cvReleaseMat(&rot_mat);
cvReleaseMat(&warp_mat);
return 0;
}
#include"cv.h"
#include"highgui.h"
int main(int argc,char** argv)
{
CvPoint2D32f srcTri[3],dstTri[3];
CvMat* rot_mat=cvCreateMat(2,3,CV_32FC1);
CvMat* warp_mat=cvCreateMat(2,3,CV_32FC1);
IplImage *src,*dst;
srcTri[0].x=0;
srcTri[0].y=0;
srcTri[1].x=src->width-1;
srcTri[1].y=0;
srcTri[2].x=0;
srcTri[2].y=src->height-1;
dstTri[0].x=src->width *0.0;
dstTri[0].y=src->height *0.33;
dstTri[1].x=src->width *0.85;
dstTri[1].y=src->height *0.25;
dstTri[2].x=src->width *0.15;
dstTri[2].y=src->height *0.7;
cvGetAffineTransform(srcTri,dstTri,warp_mat);
cvWarpAffine(src,dst,warp_mat);
cvCopy(dst,src);
CvPoint2D32f center=cvPoint2D32f(
src->width/2,
src->height/2
);
double angle=-50.0;
double scale=0.6;
cv2DRotationMatrix(center,angle,scale,rot_mat);
cvNamedWindow("Affine_Transform",1);
cvShowImage("Affine_Transform",dst);
cvWaitKey();
}
cvReleaseImage(&dst);
cvReleaseMat(&rot_mat);
cvReleaseMat(&warp_mat);
return 0;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯