xy365(鹤笔翁)

动态二维数组的生成

windows编程 — 作者 hillohillo @ 09:35

问题:由于二维的数组在声明时其二维的下标必须是常量,所以有很多不便。常量的方式可以如下做:

datatype (*dataname)[const_data] = new datatype[][const_data];

这样生成的dataname是一个指向数组的指针。其析构时,为delete[] dataname即可。

另一个完全的动态决定的二维数组,可以如下生成:

以生成一个int型的二维数组为例。

int **p;

p = new int*[m];

for(int i = 0; i < n; i++)

p[i] = new int[n];

这样就可以生成一个m*n的二维数组,这个二维数组在释放时比较麻烦。

for(int i = 0; i < m; i++)

delete[] p[i];

delete[] p;



粒子群算法

图象处理 — 作者 hillohillo @ 08:29

1. 引言

粒子群优化算法(PSO)是一种进化计算技术(evolutionary computation),有Eberhart博士和kennedy博士发明。源于对鸟群捕食的行为研究PSO同遗传算法类似,是一种基于叠代的优化工具。系统初始化为一组随机解,通过叠代搜寻最优值。但是并没有遗传算法用的交叉(crossover)以及变异(mutation)。而是粒子在解空间追随最优的粒子进行搜索。


详细的步骤以后的章节介绍

同遗传算法比较,PSO的优势在于简单容易实现并且没有许多参数需要调整。目前已广泛应用于函数优化,神经网络训练,模糊系统控制以及其他遗传算法的应用领域

 查看全文

大津法 OTSU的算法

图象处理 — 作者 hillohillo @ 08:03

大津法由大津于1979年提出,对图像Image,记t为前景与背景的分割阈值,前景点数占图像比例为w0,平均灰度为u0;背景点数占图像比例为w1,平均灰度为u1。图像的总平均灰度为:u=w0*u0+w1*u1。从最小灰度值到最大灰度值遍历t,当t使得值g=w0*(u0-u)2+w1*(u1-u)2 最大时t即为分割的最佳阈值。对大津法可作如下理解:该式实际上就是类间方差值,阈值t分割出的前景和背景两部分构成了整幅图像,而前景取值u0,概率为 w0,背景取值u1,概率为w1,总均值为u,根据方差的定义即得该式。因方差是灰度分布均匀性的一种度量,方差值越大,说明构成图像的两部分差别越大, 当部分目标错分为背景或部分背景错分为目标都会导致两部分差别变小,因此使类间方差最大的分割意味着错分概率最小。 查看全文

图像分割概述

图象处理 — 作者 hillohillo @ 07:48

图像分割是将图像划分成若干个互不相交的小区域的过程,小区域是某种意义下具有共同属性的像素的连通集合。如不同目标物体所占的图像区域、前景所占的图像区域等。

连通是指集合中任意两个点之间都存在着完全属于该集合的连通路径。对于离散图像而言,连通有4连通和8连通之分。

四连通指的是从区域内一点出发,可在区域中通过上、下、左、右4个方向的移动,到达区域内的任意像素位置;

八连通指的是从区域中的一点出发,可通过上、下、左、右、左上、右上、左下、右下这8个方向的移动组合来到达区域内的任意像素。

图像分割有三种以不同的途径:

★其一是将各像素划归到相应物体或区域的像素聚类方法,即区域法;

★其二是通过直接确定区域问的边界来实现分割的边界方法;

★其三是首先检测边缘像素,再将边缘像素连接起来构成边界形成分割。

在图像分割技术中,最常用的是利用阈值化处理进行的图像分割。

 查看全文

区域标记算法

图象处理 — 作者 hillohillo @ 05:53

这里介绍区域标记算法,所谓区域标记就是把连续区域作同一个标记,常见的四邻域标记算法和八邻域标记算法。现在就介绍它们的基本思想。

1、 四邻域标记算法:
1) 判断此点四邻域中的最左,最上有没有点,如果都没有点,则表示一个新的区域的开始。

2) 如果此点四邻域中的最左有点,最上没有点,则标记此点为最左点的值;如果此点四邻域中的最左没有点,最上有点,则标记此点为最上点的值。

3) 如果此点四邻域中的最左有点,最上都有点,则标记此点为这两个中的最小的标记点,并修改大标记为小标记。

2、 八邻域标记算法:

1) 判断此点八邻域中的最左,左上,最上,上右点的情况。 如果都没有点,则表示一个新的区域的开始。

2) 如果此点八邻域中的最左有点,上右都有点,则标记此点为这两个中的最小的标记点,并修改大标记为小标记。

3) 如果此点八邻域中的左上有点,上右都有点,则标记此点为这两个中的最小的标记点,并修改大标记为小标记。

4) 否则按照最左,左上,最上,上右的顺序,标记此点为四个中的一个。

注意:在这个过程中也可以求出每个不同标记点的数量,矩形区域。

 查看全文

模式识别的知识结构图

图象处理 — 作者 hillohillo @ 20:56

 查看全文

概率算法简介

图象处理 — 作者 hillohillo @ 20:53
很多算法的每一个计算步骤都是固定的,而在下面我们要讨论的概率算法,允许算法在执行的过程中随机选择下一个计算步骤。许多情况下,当算法在执行过程中面临一个选择时,随机性选择常比最优选择省时。因此概率算法可在很大程度上降低算法的复杂度。
概率算法的一个基本特征是对所求解问题的同一实例用同一概率算法求解两次可能得到完全不同的效果。这两次求解问题所需的时间甚至所得到的结果可能会有相当大的差别。一般情况下,可将概率算法大致分为四类:数值概率算法,蒙特卡罗(Monte Carlo)算法,拉斯维加斯(Las Vegas)算法和舍伍德(Sherwood)算法。
 查看全文

基于临界灰度值和亚像素的“边缘寻找”算法

图象处理 — 作者 hillohillo @ 20:50
本文将围绕一个实例,主要就测量物体长度的算法加以阐述。 查看全文

VC数字图像处理编程讲座

图象处理 — 作者 hillohillo @ 20:53
  图像处理技术博大精深,不仅需要有很强的数学功底,还需要熟练掌握一门计算机语言,在当前流行的语言中,我个人觉得Visual C++这个开发平台是图像开发人员的首选工具。本讲座只是起到抛砖引玉的作用,希望和广大读者共同交流。 查看全文

批处理图片保存为AVI

图象处理 — 作者 hillohillo @ 09:03
批处理图片,保存成AVI格式,画质不变 查看全文

生成动画

图象处理 — 作者 hillohillo @ 08:29


标 题: Re: 已有200个BMP文件,如何生成movie???

举例:matlab
RGB图象转化为avi:

 查看全文

一生理财的6个阶段!(理财规划篇)

文摘 — 作者 hillohillo @ 11:35

  个人和家庭理财应该根据不同的人生阶段,进行有目的的规划。《财道纵横》提示您:若把人生分为6个阶段,相应的理财规划可遵循以下原则:

 查看全文

数据库设计经验谈

数据库 — 作者 hillohillo @ 10:49

一个成功的管理系统,是由:[50% 的业务 + 50% 的软件] 所组成,而 50% 的成功软件又有 [25% 的数据库 + 25% 的程序] 所组成,数据库设计的好坏是一个关键。如果把企业的数据比做生命所必需的血液,那么数据库的设计就是应用中最重要的一部分。有关数据库设计的材料汗牛充栋,大学学位课程里也有专门的讲述。不过,就如我们反复强调的那样,再好的老师也比不过经验的教诲。所以我归纳历年来所走的弯路及体会,并在网上找了些对数据库设计颇有造诣的专业人士给大家传授一些设计数据库的技巧和经验。精选了其中的 60 个最佳技巧,并把这些技巧编写成了本文,为了方便索引其内容划分为 5 个部分:

第 1 部分 - 设计数据库之前
这一部分罗列了 12 个基本技巧,包括命名规范和明确业务需求等。
第 2 部分 - 设计数据库表
总共 24 个指南性技巧,涵盖表内字段设计以及应该避免的常见问题等。
第 3 部分 - 选择键
怎么选择键呢?这里有 10 个技巧专门涉及系统生成的主键的正确用法,还有何 时以及如何索引字段以获得最佳性能等。
第 4 部分 - 保证数据完整性
讨论如何保持数据库的清晰和健壮,如何把有害数据降低到最小程度。
第 5 部分 - 各种小技巧
不包括在以上 4 个部分中的其他技巧,五花八门,有了它们希望你的数据库开发工作会更轻松一些。

 查看全文

Powered by pLog