谁能给我一个图象翻转的算法代码

syoyc 2007-07-20 12:55:14
谁能给我一个图象翻转的算法代码
如90度,180度
...全文
160 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
jixingzhong 2007-07-20
  • 打赏
  • 举报
回复
VC GDI+ 实现旋转

http://www.vckbase.com/document/viewdoc/?id=451
http://www.supercss.com/code/4904.htm
jixingzhong 2007-07-20
  • 打赏
  • 举报
回复
OPENCV 中的图像旋转与缩放

作者:刘瑞祯 文章来源:http://blog.csdn.net/hunnish 点击数:161 更新时间:2007-1-12 下午 03:37:55


在OPENCV中实现图像旋转,可以采用图像的仿射变换形式,下面给出一个样例程序,说明如何实现图像的旋转与缩放。

#include "cv.h"
#include "highgui.h"
#include "math.h"
int main( int argc, char** argv )
{
IplImage* src=0;
IplImage* dst = 0;

/* the first command line parameter must be image file name */
if( argc==2 ) && (src = cvLoadImage(argv[1], -1))!=0)
{
int delta = 1;
int angle = 0;
int opt = 0; // 1: 旋转加缩放
// 0: 仅仅旋转
double factor;

dst = cvCloneImage( src );
cvNamedWindow( "src", 1 );
cvShowImage( "src", src );

for(;;)
{
float m[6];
// Matrix m looks like:
//
// [ m0 m1 m2 ] ===> [ A11 A12 b1 ]
// [ m3 m4 m5 ] [ A21 A22 b2 ]
//
CvMat M = cvMat( 2, 3, CV_32F, m );
int w = src->width;
int h = src->height;
if(opt) // 旋转加缩放
factor = (cos(angle*CV_PI/180.) + 1.0)*2;
else // 仅仅旋转
factor = 1;
m[0] = (float)(factor*cos(-angle*2*CV_PI/180.));
m[1] = (float)(factor*sin(-angle*2*CV_PI/180.));
m[3] = -m[1];
m[4] = m[0];
// 将旋转中心移至图像中间
m[2] = w*0.5f;
m[5] = h*0.5f;
// dst(x,y) = A * src(x,y) + b
cvZero(dst);
cvGetQuadrangleSubPix( src, dst, &M);
cvNamedWindow( "dst", 1 );
cvShowImage( "dst", dst );
if( cvWaitKey(1) == 27 )
break;
angle =(int) (angle + delta) % 360;
} // for-loop
}
return 0;
}


69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧