摘要: 目录前言 Otsu 理论 源代码 Kittler 理论 源代码 结果对比 结论 参考文献 前言二值化分为全局二值化和自适应(局部)二值化。在图像分析之前,通常需要将灰度图像二值化,再做进一步的分析。本文仅谈一些常用的全局二值化方法,简要地描述其思想并给出实现源代码(需要Opencv的支持),更为详细地关于原理的讨论可以在本文“参考文献”引用的论文找到。 Otsu(最大类间方差阈值)理论大津阈值又称为最大类间方差法[2],它是由Otsu在1979年提出的一种基于灰度直方图的阈值选取方法。它选取使类间方差最大的灰度级作为分割阈值,其具体思想如下: 设图像有L个灰度级,表示为[0,1, ... , 阅读全文
posted @ 2011-05-17 09:33 枫叶落一地 阅读(3555) 评论(3) 推荐(2) 编辑
摘要: fract数据类型(Fractional Data Type) C类型 用法 fract16 单16位有符号定点数,1.15 fract32 单32位有符号定点数1.31 fract2x16 双16位有符号定点数 这几个数据类型实际上并不是固有的数据类型,而是使用typedef语句将short定义成fract16,long定义成fract32和fract2x16。因此,你不能直接通过fract16*fract16来得到正确的定点相乘结果。对于C++,有两个类”fract”和”shortfract”定义了基本的算术操作。以下仅谈在C中的操作。 内建函数(Built-in Functions) . 阅读全文
posted @ 2011-05-10 15:55 枫叶落一地 阅读(3411) 评论(0) 推荐(2) 编辑
摘要: Blackfin提供了一组数据访问寄存器(DAG)用于提高对数据的访问效率,其中Circular Buffer是其一大特色。在汇编中,我们可以对它轻易地控制,但是在C语言下,并无法显式地使用它们。尽管如此,还是可以通过一些内建函数与编译选项提高数据的访问效率。 Circular Buffer,即循环缓存,也就是指规定一段内存,假设起始地址为B,终止地址为B + L,当指针I大于B+L时,将自动将I... 阅读全文
posted @ 2010-11-29 21:42 枫叶落一地 阅读(1304) 评论(0) 推荐(1) 编辑
摘要: IP与子网掩码配置:ifconfig eth0 192.168.1.100 netmask 255.255.255.0将eth0的IP改为192.168.1.100,掩码设为255.255.255.0,需要注意的是ifconfig的设置是临时的,重启后将恢复为默认配置ifconfig eth0 up/down 开启/关闭 eth0添加DNS:修改/etc/resolv.conf文件,以下是个例子文... 阅读全文
posted @ 2010-10-27 09:52 枫叶落一地 阅读(321) 评论(0) 推荐(1) 编辑
摘要: 参考资料:http://u.115.com/file/f77a47b55f呵,学习DSP,特别是Blackfin系列的,没数据手册简直是没法学的。该系列基本上只有英文资料,而就我目前翻过的所有教材基本上都是从数据手册上摘录一个片段,翻译一下就完事了,连个总结都没有。很多关键的地方(比如中断),要想理解完整,必须同时参考多个数据手册,因此只看教材基本上是云里雾里的。附件里是bf548与bf533的相... 阅读全文
posted @ 2010-09-29 19:20 枫叶落一地 阅读(2066) 评论(3) 推荐(2) 编辑
摘要: 一、 一个例子: 如上图,有两条直线,设L1,L2。L1上有两点(0, 0)、(10,10),L2上有两点(0,10)、(10,0),它们的交点是(5,5)。求解交点有两种效率较高的常用方法,一般方程法与参数方程法,以下将分别描述其原理及实现。 二、 一般方程法: 直线的一般方程为F(x) = ax + by + c = 0。既然我们已经知道直线的两个点,假设为(x0,y0), (x1, y1... 阅读全文
posted @ 2010-09-03 19:42 枫叶落一地 阅读(5717) 评论(0) 推荐(1) 编辑
摘要: 一、 算法原理简介:算法原理的详细描述及部分实现可参考:http://www.cs.helsinki.fi/group/goa/mallinnus/lines/bresenh.html    Fig. 1 假设以(x, y)为绘制起点,一般情况下的直观想法是先求m = dy /dx(即x每增加1, y的增量),然后逐步递增x, 设新的点为x1 = x + j, 则y1 = round(y + j ... 阅读全文
posted @ 2010-08-14 23:19 枫叶落一地 阅读(13052) 评论(2) 推荐(4) 编辑
摘要: 实现了一个改进版本的快速排序,一、递归改为栈;二、当划分比较小时,改用插入排序。本实现注重的是代码的简洁与实现效率 阅读全文
posted @ 2010-08-12 09:27 枫叶落一地 阅读(354) 评论(0) 推荐(1) 编辑
摘要: 这几天学习ARM,实在感受到很多不同的东西,功能相当是强大,但相比于学51、PIC时的配置麻烦了很多,呵。 开始最困惑的自然是ldr与mov这两条指令的区别,还有mov的详细用法, 阅读全文
posted @ 2009-10-23 17:05 枫叶落一地 阅读(1246) 评论(0) 推荐(0) 编辑