浅谈HDR

成像过程就是测量自然场景的光照强度,如果把图像传感器比作一把测量光强的尺子,那么成像的Dynamic Range(动态范围)就是这把尺子的量程。如果我们需要测量的自然场景超过了这把尺子的测量范围,我们应该怎么做呢?我们可以用这把尺子多次测量,每次测量不同范围,最后将每次测量的结果拼接起来,相当于用了一把大量程的尺子,这种技术就叫做HDR技术。

我们可以生成一副大动态范围(HDR)的图像,但是我们的显示器显示不了那么大动态范围的图像,同时我们还希望看到更多细节,这就要用到动态范围压缩技术(通常是Tone Mapping)。这篇博客简单介绍HDR技术,正如标题   浅谈~   一下

阅读更多

使用Octave规避Matlab版权问题

Octave,全称GNU Octave。看到GNU三个字母,那么就知道它是自由使用的、免费的、开源的、全平台的。Octave设计的初衷就是提供一套可以提单Matlab的软件。所以严格按照Matlab基础语法编写的代码是可以不经修改直接在Octave运行的。

Matlab是商业软件,所以在一些专业领域的工具箱,以及GUI界面方面比Octave要优秀。Matlab动辄20G,而Octave只有200M,并且Octave已经集成了很多常用的工具箱(信号仿真,滤波器设计,图像处理,计算机视觉等等),如果不是Matlab比较新的功能,Octave在使用上和Matlab是没有差别的。(近年Matlab语法有些小改动,不过无伤大雅)

阅读更多

Matlab调用OpenCV的三种方式

Matlab本身有着出色的图像算法分析工具,但有时我们出于速度和开发的需要,在matlab中调用opencv辅助处理,那么如何在matlab中调用opencv呢?这篇博客介绍三种方式:Matlab嵌入C++,使用mexOpenCV第三方工具,使用Matlab官方提供的Computer Vision Toolbox中的OpenCVInterface。

阅读更多

摩尔纹的产生和消除

现代图像传感器一般为面阵CMOS或CCD,当传感器像素空间频率和条纹空间频率接近时,就会出现摩尔纹。从原理上讲就是两个频率相近的波相互叠加,会产生差拍。

摩尔纹的消除比较困难,目前主要方法分为两类,第一类就是从设计上避免摩尔纹产生,将成像弥散圆设计的比像素要大,这样相当于降低成像的分辨率,来保证采样频率不会到达条纹频率;第二类方法就是后期通过算法来解掉摩尔纹,对于彩色图像,需要结合bayer pattern来处理,photoshop就有这样的功能。

阅读更多

Matlab解析DNG格式图像

DNG是一种很灵活的图像格式,是在Tiff基础上拓展来的,随着传感器技术、后期图像处理能力的增强,我们很多时候直接将ISP采集的图像数据直接Dump下来,不做任何处理,这就是RAW图,同时我们把处理RAW图需要必要信息存下来(Bayer Pattern、白平衡、噪声水平等),然后我们就可以进行后期处理了。总之,DNG是一种RAW图格式,其中除了数据段之外,有很多标签信息。

阅读更多

Matlab与C++混合编译之Matlab版本选择

Matlab中混编C++可以在提高代码效率的同时保持良好的脚本调用,在Matlab中可以用mex来编译C++代码,mex的命令怎么用可以直接doc mex看到。这篇博客主要因为博主需要跨平台编译,刚好遇到Matlab版本不同而产生的一些奇奇怪怪的问题,主要是记录博主自己踩过的坑。

阅读更多

Excel VBA(七)过程与函数

前面讲过,VBA代码有两种组织形式,一种就是过程(前面的示例中都在使用),另一种就是函数。其实过程和函数有很多相同之处,除了使用的关键字不同之外,还有不同的是:

  • 函数有返回值,过程没有
  • 函数可以在Excel表格中像一般的Excel函数那样使用,但过程不可以
  • 过程可以指定给Excel表格中的按钮或者图片等对象,但是函数不可以
  • 函数只能在被调用时执行,比如在过程中调用,或者在另一个函数中调用,或者在Excel表格中调用。但不能直接执行,而过程是可以的

阅读更多

Excel VBA(六)数组和字典

数组和字典也是VBA的常用到数据类型之一。但是我翻了有四五本VBA教程相关的书,里面都没有介绍到字典,数组到是在介绍数据类型时有介绍,而并没有提到字典。
事实上,字典不是VBA内置的类型,它是Windows脚本语言的。但其实字典在VBA中也是非常重要的,它非常适用于需要进行非重复性数据的操作。我多次需要使用到字典,但很少用到数组。

阅读更多

Excel VBA(五)数据类型

与其它的编程语言一样,VBA也有它自己的数据类型。讲到数据类型,就离不开“变量”与“常量”这两个概念,变量与常量,都是用于保存数据的。顾名思义,“变量”是会变的,即它的值是可以改变的;而常量,则它的值通常是固定不变的。

定义数据类型的优点有2个:

  • 便于内存管理
  • 便于程序进行计算(数值型)和其它使用(非数值型)

VBA中的基本数据类型有多种,但常用到的只有其中一半左右。

阅读更多

Excel VBA(一)打开VBE

VBA(visual basic application)是visual basic的一种宏语言,是依附于Microsoft Office系列软件的自动化语言。Excel是作为Microsoft Office系列软件中最常用的程序,被广泛应用于数据存储和处理。

宏是一系列可执行的VBA程序的集合,它可以帮助执行一项或者多项操作。

阅读更多