怎么生成BMP图象在离焦情况下的模糊图片
发布时间:2011-06-27 20:40:22 文章来源:www.iduyao.cn 采编人员:星星草
如何生成BMP图象在离焦情况下的模糊图片?
假设给定一个照片,再给一个放大镜,当照片不在焦点上时,得到的图象就是模糊的.
现在我想把这个物理发生的过程通过程序来模拟一下.
给出一个BMP文件,假定这是在某个放大镜下焦点处的图像,然后,再假定BMP图像离开焦点一段距离,或者BMP图片以一定的角度摆放.则得到的图象就是模糊的,或者是清淅,模糊不均匀的.
用什么样的算法能得到这个模糊的图象呢?
它的实际用途主要是在一些模拟软件使用的场合.
我感觉这应该就利用1/u+1/v=1/f之类的基本的光学公式就可得到的东西.但那只是中学的一些有限的光学知识,恐怕还不够用.
------解决方案--------------------
图像距焦平面越远,离焦半径越大,用该离焦半径构建点扩散模板,将该模板和bmp清晰图像作卷积即可实现。其中找出图像距焦平面距离和离焦半径的关系是关键。
------解决方案--------------------
你需要建立一个数学模型,需要考虑放大镜的几个特点:
1.几何变换
越接近中心的物体,就需要越大的放大范围,这需要放大镜的弧度来决定。在运算坐标值后,需要使用插值算法对图像进行运算。远接中心的物体,也会产生另一种变换,具体我也说不清楚,你要自己去观察和总结。
2.清晰度变换
准确聚焦的物体的清晰度可能比插值算法所能返回的清晰度要高,所以需要一点增加锐度的算法,跑焦区域的清晰度会降低,需要模糊化的算法,而且这两个算法之间的过度是平稳的,也就是说,你最好用一个算法,通过不同的参数来实现。
3.当图像远离滤镜时,会发生上下颠倒的情况,而且这时的清晰度还真的比较高,具体原理和公式已经忘了,这个东东就只能自己从光学上找到公式才能实现了
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
关于opengl源码的问题
gluPickMatrix函数的实现在哪?我在glut源码中找了半天没有找到
------解决方案--------------------
这是...
-
关于傅立叶变换的数字水印嵌入算法的问题
需求:
首先对图像和水印图像进行傅里叶变换;
讲数字水印嵌入到图像中;
逆变换显示潜入水印...
-
Matlab和OpenCV的处理速度问题
大家好!我正准备用Windows下的OPENCV实现MSR算法来处理图像,目前已经有在Matlab下面的处理的程序,但...
-
问一个Ghostscript的问题!
我用Ghostscript API将eps转换成pdf,在其他的环境下都能很好的执行。但是在windows server 2008上却不行...
-
求教D3D9.DLL为什么没有被游戏进程加载?
我本来想wrap一下D3D9.DLL给一个3D游戏搞点破坏,但用IcdSword监视一下游戏使用模块,发现连D...
-
请教几个DirectX的问题
1:切线贴图就是法线贴图的意思么?
如果不是,那两者有什么区别?
2:The NPatch mode segments 是什么意思?
原文:
...
-
用OpenCV作的一个车牌识别程序
新手用OpenCV作的一个车牌识别程序,目前只能处理黄底黑字
的车牌图像,供大家交流学习之用。如果感...
-
求助:用matlab实现图像的dct变换
如题
用matlab实现图像的dct变换
不要用自带的dct2函数
多谢了
------解决方案----------------...
-
建了一个群,OCR字符识别技术,欢迎大家加入!
欢迎大家讨论各种字符的识别技术,从图像的预处理到最后分类识别的过程都可以讨论。
qq...
-
Matlab下怎么才能把封闭曲线作为边界判断区域内外
大家好!我对一幅图进行边缘分割,得到了边缘(是一条曲线),下一步想要用得到的边缘曲...