我想用Matlab旋转非平方图像:

>不使用imrotate函数,因为它是图像处理工具箱的一部分,

>使用松散参数,这意味着输出的大小与输入图像的大小不同,

>与imrotate相比,功能不太慢.

为了做到这一点,我已经找到了a function(只是用你自己的函数替换imshow和bestblk以便不使用工具箱),但对于大图像来说它真的很慢.我的方法是尽量避免在interp2上进行循环和尽可能多的依赖.

该功能的签名将是:

imOutput = my_imrotate(imInput,theta_degres,interpolation,bbox)

哪里:

>插值是双线性,双三次或最近的,

> bbox会裁剪或松动.

作物

我已经使用crop参数获得了良好的结果,但我无法找到松散参数的偏移量.

这是crop参数的代码,其中Z是输入,Zi是输出:

Z = double(imInput);

sz = size(Z);

[X,Y] = meshgrid(1:sz(2), 1:sz(1));

%# Center

c = sz(end:-1:1)/2;

%# Angle

t = theta_degres*pi/180;

%# Rotation

ct = cos(t);

st = sin(t);

Xi = c(1) + ct*(X-c(1))-st*(Y-c(2));

Yi = c(2) + st*(X-c(1))+ct*(Y-c(2));

%# Rotation

Zi = interp2(X, Y, Z, Xi, Yi);

疏松

我的想法是计算包含原始图像和旋转图像的帧的大小,然后:

>填充原始图像以使图像的大小与帧的大小相同,

>在填充图像上使用interp2,

>裁剪生成的图像,以使旋转的图像没有填充的剩余部分.

要使用松散参数获取旋转图像的大小,我计算rotation_matrix并在输入图像的角点p的坐标上调用rotate_points:

rotation_matrix = [ct, -st; st, ct];

rotate_points = @(p) bsxfun(@plus, c', rotation_matrix * bsxfun(@minus, p, c)')';

任何帮助将受到高度赞赏.

编辑:使用下面答案中提供的解决方案,以及以下代码,它似乎工作正常:

%# See the answer below

[sz1,sz2] = size(Z);

sz1New = sz1*cos(t)+sz2*sin(t);

sz2New = sz2*cos(t)+sz1*sin(t);

[Xi,Yi] = meshgrid(-(sz2New-1)/2:(sz2New-1)/2,-(sz1New-1)/2:(sz1New-1)/2);

%# now all that's left is rotating Xi,Yi - I have already subtracted the center

%# My little piece of additional code

Xii = (1+sz2)/2 + ct*Xi - st*Yi;

Yii = (1+sz1)/2 + st*Xi + ct*Yi;

Zi = interp2(X, Y, Z, Xii, Yii);

matlab 中没有imrotate,matlab – 在没有图像处理工具箱的情况下旋转图像相关推荐

  1. matlab中插入希腊,matlab中希腊字母打法

    如何在matlab中输入希腊字母_数学_自然科学_专业资料.matlab数据可视化处理,绘图技巧 如何在 matlab 中输入希腊字母 matlab 中用转义符来输入希腊字母的方法 上标用 ..... ...

  2. matlab excel导入矩阵,如何将excel中数据导入到matlab中!Excel导入matlab生成矩阵

    如何将excel中数据导入matlab并存入数组中 使用Matlab中的Excel Link就可以了. 如果使用Excel 2003版本,操作如下: 1 打开Excel. 2 在菜单栏中选择→加载项→ ...

  3. matlab中特殊字符6,matlab中特殊字符

    matlab特殊字符_工学_高等教育_教育专区.本文说明了matlab中如何输入特殊字符,如希腊字母字符映射表 C:\\WINDOWS\\system32\\charmap.exe M 文件里是可以输 ...

  4. windows10 中 python3 离线 安装包,没有 网络 的 情况下 安装 whl包

    windows10中python3离线 安装包,没有 网络 的 情况下 安装 包 下载whl文件 cd python.exe文件路径 pip download 包名 举例 whl 文件 复制到 没有 ...

  5. Chrome 插件:自己写的插件提示请停用以开发者模式运行的插件处理方法,该拓展程序未列在chrome网上应用商店中,并可能是在您不知情的情况下添加的解决办法

    Chrome 浏览器插件问题处理 第一章:问题描述 ① 问题一:请停用以开发者模式运行的插件 ② 问题二:该拓展程序未列在 chrome 网上应用商店中,并可能是在您不知情的情况下添加的 第二章:Ch ...

  6. 解决:该扩展程序未列在 Chrome 网上应用店中,并可能是在您不知情的情况下添加的

    直接使用.crx安装或者不是从Chrome应用商店中安装的插件,插件在扩展列表中会被禁用,启用按钮无法勾选并且提示: "该扩展程序未列在 Chrome 网上应用店中,并可能是在您不知情的情况 ...

  7. matlab中读入sav,matlab数据读取与存入详解

    matlab数据读取与存入详解 在编写一个程序时,经常需要从外部读入数据,或者将程序运行的结果保存为文件.MATLAB使用多种格式打开和保存数据.本章将要介绍 MATLAB中文件的读写和数据的导入导出 ...

  8. MATLAB中hough反变换,matlab中hough变换

    hough 变换提取直线(Matlab 实现) Hough 变换提取直线一.实验目标实现用 Hough 变换检测直线的算法二.实验内容 1.读入图像选取有较多直线及部分曲线以作对比的...... j= ...

  9. matlab中的routte,matlab外文翻译外文文献英文文献MATALAB混合仿真平台控制算法的概述...

    <matlab外文翻译外文文献英文文献MATALAB混合仿真平台控制算法的概述>由会员分享,可在线阅读,更多相关<matlab外文翻译外文文献英文文献MATALAB混合仿真平台控制算 ...

  10. matlab中的histc,Matlab histc与矢量箱

    如果我有两个矩阵A和B,大小为[m×n]和[p×n],并且我想要找出B中每行出现在A中的次数,例如: >> A = rand(5,3) A = 0.1419 0.6557 0.7577 0 ...

最新文章

  1. gcc离线安装 ubuntu 不用编译_Ubuntu快速搭建C++开发环境(VS Code编辑器)
  2. 动态矩阵控制matlab程序_【实时关注】你了解MATLAB吗?
  3. python中property方法有用_python中@property和property函数常见使用方法示例
  4. 学术前沿 | DeepMind最新成果:图表示学习算法推理~46页ppt
  5. 解释抽象类继承实体类的前提是这个实体类必须明确构造函数
  6. 程序员应该收藏哪些资讯类网站
  7. Java课程设计-基于Swing的文本编辑器
  8. SQL行列转换-sum函数的妙用
  9. 共享hp无线扫描到计算机,共享HP / HP扫描仪的OpenWrt路由器
  10. iOS面试 swift篇
  11. 企业信用等级重不重要?看看各地招标文件就知道了。
  12. 使用Flink Metric Reporter 对flink任务指标进行监控
  13. JavaScript 每日一题---LeetCode 121. 买卖股票的最佳时机
  14. VUE记录用户切屏次数并弹出提示
  15. 微信小程序-001-抽签功能-006-我的抽签-主界面
  16. 不当程序员,你会干什么
  17. java linux解压_在LINUX下 用JAVA如何解压rar文件
  18. 【推荐系统】4种推荐引擎预测你的电影品味
  19. 人人都爱写总结,却少有人做计划
  20. C程序|实现使用OPENSSL库 发送HTTPS请求,并接收数据|例如请求12306获取高铁、动车、火车车次信息的方法

热门文章

  1. 2.5 js格式化时间库
  2. 文件后缀名批量修改工具
  3. centos7自动获取ip命令_如何设置CentOS 7开机自动获取IP地址详解
  4. 【老生谈算法】matlab实现Dijkstra最短路算法源码——Dijkstra算法
  5. 2022华为机试真题 C++ 实现【最大股票收益】
  6. 计算机无法添加本地策略组,电脑打不开本地组策略编辑器,求破~!
  7. CATIA V5实战培训设计视频教程-基础建模 逆向造型A面 装配工程图
  8. 详解会员积分营销系统的作用
  9. 企业运用通兑吧数字会员卡进行营销的优势
  10. xz1刷Android10,索尼xz1国行版安卓9.0固件