FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 3116|回复: 0
打印 上一主题 下一主题

谁能给翻译成C#?

[复制链接]
跳转到指定楼层
楼主
发表于 2016-3-15 18:02:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
//旋转图像内容不变,尺寸相应变大  
IplImage* rotateImage2(IplImage* img, int degree)   
{   
    double angle = degree  * CV_PI / 180.;   
    double a = sin(angle), b = cos(angle);   
    int width=img->width, height=img->height;  
    //旋转后的新图尺寸  
    int width_rotate= int(height * fabs(a) + width * fabs(b));   
    int height_rotate=int(width * fabs(a) + height * fabs(b));   
    IplImage* img_rotate = cvCreateImage(cvSize(width_rotate, height_rotate), img->depth, img->nChannels);   
    cvZero(img_rotate);   
    //保证原图可以任意角度旋转的最小尺寸  
    int tempLength = sqrt((double)width * width + (double)height *height) + 10;   
    int tempX = (tempLength + 1) / 2 - width / 2;   
    int tempY = (tempLength + 1) / 2 - height / 2;   
    IplImage* temp = cvCreateImage(cvSize(tempLength, tempLength), img->depth, img->nChannels);   
    cvZero(temp);   
    //将原图复制到临时图像tmp中心  
    cvSetImageROI(temp, cvRect(tempX, tempY, width, height));   
    cvCopy(img, temp, NULL);   
    cvResetImageROI(temp);   
    //旋转数组map  
    // [ m0  m1  m2 ] ===>  [ A11  A12   b1 ]  
    // [ m3  m4  m5 ] ===>  [ A21  A22   b2 ]  
    float m[6];   
    int w = temp->width;   
    int h = temp->height;   
    m[0] = b;   
    m[1] = a;   
    m[3] = -m[1];   
    m[4] = m[0];   
    // 将旋转中心移至图像中间   
    m[2] = w * 0.5f;   
    m[5] = h * 0.5f;   
    CvMat M = cvMat(2, 3, CV_32F, m);   
    cvGetQuadrangleSubPix(temp, img_rotate, &M);   
    cvReleaseImage(&temp);   
    return img_rotate;  
}
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-9-30 00:21 , Processed in 0.042847 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表