matlab 柱面投影,matlab练习程序(圆柱投影)
圆柱投影就是将一张二维的图像投影到三维的圆柱体上,不过在显示图像的时候依然是以二维的形式给出。
投影最重要的步骤就是计算投影变换公式,和图像旋转类似,只要得到变换公式,再依照公式进行代码编写就很容易了。
这里就不写投影变换公式的推导过程了,直接给出变换公式。公式分为正变换和反变换,编程时,反变换公式通常更有用。
正变换公式如下:
其中,x,y为原图的坐标,x‘,y‘为变换后图像的坐标,W,H为原图的宽和高,f=W/(2*tan(hfOV/2)),这里hfOV为相机水平视角,我们通过设置这个参数来实现不同的投影效果,hfOV取值为(0,pi)之间。
反变换公式可以通过正变换公式推导出来,其实在程序中已经写出来了。
下面是hfOV为pi/2时得到的变换结果:
原图:
处理后结果:
matlab代码如下:
clear all; close all;clc;
img=imread(‘lena.jpg‘);
[h,w]=size(img);
hfOV=pi/2; %可取区间为(0,pi)
f=w/(2*tan(hfOV/2));
newh=h; %变换后高度不变
neww=floor(f*atan((w-w/2)/f)+f*atan(w/(2*f))); %通过正变换公式计算最大宽度
imgn=zeros(newh,neww);for i=1:newhfor j=1:neww
%反变换公式的应用
x=floor(f*tan(j/f-atan(w/(2*f)))+w/2);
y=floor((i-h/2)*sqrt((x-w/2)^2+f^2)/f+h/2);if x>=1 && x<=w && y>=1 && y<=h
imgn(i,j)=img(y,x);end
end
endimshow(img);
figure;
imshow(imgn,[]);
原文:http://www.cnblogs.com/tiandsp/p/3815119.html
matlab 柱面投影,matlab练习程序(圆柱投影)相关推荐
- matlab 柱面投影,图像拼接(不投影到柱面)(渐入渐出融合) matlab程序
1,先拍摄一组图片,比如两幅图:A.B 我直接用网上的两幅图: 2,分别投影到柱面坐标系 就用自己写的柱面投影程序 matlab里 结果: 3,开始配准第一步:SIFT得到匹配对(直接用OpenCV里 ...
- 柱面投影matlab程序
拼接之前要进行柱面.立方体面或者球面投影,<全景拼接的关键技术研究>选的是柱面投影,根据其理论有: %假设相机市场角为45度 %反投影到柱面时左右有缝隙了 A=imread('F:\fis ...
- matlab中投影,MATLAB在极射赤平投影中的应用
文章编号: 100926825 (2010) 360357202 MATLAB在极射赤平投影中的应用 收稿日期: 20100822 作者简介:潘冀川 (1988) ,男 ,石家庄经济学院本科生 ,河北 ...
- matlab 水平投影,matlab图像处理方面的问题。水平投影和垂直投影!
我在本论坛找了一个程序: I=imread('mp23.jpg'); I1=rgb2gray(I); %转换成灰度图像 Imax=double(max(max(I1) ...
- matlab gui优化,matlabgui优化程序
的优化工具箱提供了各种优化函数,这些优化 函数可以通过在命令行输入相应的函数名加以调用;此外 为了使用方便,MATLAB 还提供了图形界面的优化工具 (GUI Optimization ...... ...
- matlab中提供滤波器的种类有,求MATLAB巴特沃思低通滤波器程序
公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:求MATLAB巴特沃思低通滤波器程序.回答:击响应不变法函数 [bz,az]=impinvar(b,a,Fs) [bz,az]=im ...
- 如何将MATLAB程序发布为独立的不依赖MATLAB环境可执行的程序包(基于Matlab R2015b版 )
如何将MATLAB程序发布为独立的不依赖MATLAB环境可执行的程序包(基于MatlabR2015b版) 关键字:MatlabR2015b,可独立运行,可脱离Matlab环境,m文件,Matlab程序 ...
- matlab的exec程序,C++调用Matlab画图的一段程序
劳动节闲来无事,写了一天程序,just for fun. 看,这是C++调用Matlab画图的一段程序.暂时不想多解释了,有兴趣的话,看看下面的代码吧. 以下几段代码由上到下,越来越旧.最上面的是最新 ...
- matlab 万年历,matlab时钟万年历 matlab时钟万年历(附word说明文档):
程序主要 联合开发网 - pudn.com...
matlab时钟万年历 所属分类:图形图像处理 开发工具:matlab 文件大小:54KB 下载次数:6 上传日期:2018-08-24 21:54:23 上 传 者:小小葡萄123 说明: mat ...
最新文章
- Myeclipse快捷键的使用
- 在jupyter notebook中attr1参数的作用_PID控制中P、I、D参数的作用究竟是什么?
- Java JDBC批处理插入数据操作
- Java设计模式(十三):代理设计模式
- ArcGIS Engine 编辑介绍
- json对象数组按对象属性排序
- 后台服务系统之搭建ZooKeeper注册中心
- netflix 工作原理_Netflix如何在屏幕后面工作?
- Angular5 *ngIf 和 hidden 的区别
- 别做码农了,去做一名工程师
- Qt5.8 Windows端 关于 Style Plugin Example 官方实例中的错误
- Argument list too long 文件数过多
- Web开发小结 - 2
- Spark Streaming之updateStateByKey和mapWithState比较
- DBGrid 应用全书
- cornerstone图标含义
- html状态栏透明,HTML – 如何使我的导航栏略微透明?
- 2021-03-11
- FPGA:verilog实现直接型巴特沃斯高通IIR滤波器
- 第一周:半导体器件基础(一)