vb.net 1.1中如何提高循环计算速度运用多线程技术把一个任务分配到几个线程上让它们同时处理,这样会比单线程快很多,不过多线程技术不是一两话能说清的,你可以查一下相关的资料.
几种经典的二值化方法及其vb.net实现图像二值化的目的是最大限度的将图象中感兴趣的部分保留下来,在很多情况下,也是进行图像分析、特征提取与模式识别之前的必要的图像预处理过程 。这个看似简单的问题 , 在过去的四十年里受到国内外学者的广泛关注,产生了数以百计的阈值选取方法,但如同其他图像分割算法一样,没有一个现有方法对各种各样的图像都能得到令人满意的结果 。
本文针对几种经典而常用的二值发放进行了简单的讨论并给出了其vb.net 实现 。
1、P-Tile法
Doyle于1962年提出的P-Tile (即P分位数法)可以说是最古老的一种阈值选取方法 。该方法根据先验概率来设定阈值 , 使得二值化后的目标或背景像素比例等于先验概率 , 该方法简单高效,但是对于先验概率难于估计的图像却无能为力 。
2、OTSU 算法(大津法)
OSTU算法可以说是自适应计算单阈值(用来转换灰度图像为二值图像)的简单高效方法 。1978 OTSU年提出的最大类间方差法以其计算简单、稳定有效,一直广为使用 。
3、迭代法(最佳阀值法)
(1).求出图象的最大灰度值和最小灰度值,分别记为Zl和Zk,令初始阈值为:
(2).根据阈值TK将图象分割为前景和背景,分别求出两者的平均灰度值Z0和ZB:
式中,Z(i,j)是图像上(i,j)点的象素值 , N(i,j)是(i,j)点的权值,一般取1 。
(3).若TK=TK 1,则所得即为阈值,否则转2,迭代计算 。
4、一维最大熵阈值法
它的思想是统计图像中每一个灰度级出现的概率 ,计算该灰度级的熵 ,假设以灰度级T分割图像,图像中低于T灰度级的像素点构成目标物体(O),高于灰度级T的像素点构成背景(B),那么各个灰度级在本区的分布概率为:
O区: i=1,2……,t
B区: i=t 1,t 2……L-1
上式中的 ,这样对于数字图像中的目标和背景区域的熵分别为:
对图像中的每一个灰度级分别求取W=H0HB,选取使W最大的灰度级作为分割图像的阈值,这就是一维最大熵阈值图像分割法 。
VB.NET怎么位运算?注意只能对整型执行按位运算 。浮点值必须转换为整型后,才能执行按位运算 。按位运算采用二进制(以 2 为基)形式计算两个整数值 。它们比较对应位置上的位,然后基于比较的结果赋值 。下面的示例演示了 And 运算符 。复制Dim x As Integerx = 3 And 5前面的示例将 x 的值设置为 1 。发生这种情况的原因如下:这些值以二进制形式处理:二进制格式的 3 为 011二进制格式的 5 为 101And 运算符比较这些二进制表示方式,一次比较一个二进制位置(位) 。如果给定位置的两个位都为 1,则将 1 放在结果中的该位置 。如果任何一个位是 0,则将 0 放在结果中的该位置 。在前面的示例中,按如下所示计算结果:011(二进制格式的 3)101(二进制格式的 5)001(二进制格式的计算结果)计算结果以十进制形式处理 。值 001 是 1 的二进制表示形式,因此 x = 1 。除了在任何一个比较位是 1 或两个比较位都是 1 的情况下将 1 赋予结果位以外 , 按位 Or 运算与此类似 。Xor 在比较的位正好只有一个是 1(而不是两者都是 1)时将 1 赋给结果位 。Not 采用单个操作数并反转所有位(包括符号位),然后将该值赋予结果 。这意味着,对于有符号正数,Not 始终返回负值 , 而对于负数,Not 始终返回正值或零 。AndAlso 和OrElse 运算符不支持按位运算 。追问: 好复杂啊...还是不会,还有整数怎么转换为二进制数? 回答: 为什么一定要用位运算呢,你那个乘法只能通过左移操作符“”来进行,而左移一次代表乘以2 , 要是乘以一个小数,就必须先化成2的n次方,不够再用加减法调整,很麻烦啊 , 没必要用位运算啊 。。。追问: 因为我要进行大量的运算,但速度要快,所有用位运算...我也不想啊.. 回答: 那就不该用VB ?。琧/c在执行效率上是没话说的 。追问: 问题就是不会嘛... 回答: 那你上csdn上发帖效果应该不错 追问: CSDN发了,我发在高性能运算,没人... 回答: 耐心一些,或者你应该发到VB.NET论坛那里 。。。追问: 额..只能这样了... 提问者 的感言: 太复杂了..算了 2010-11-08
vb.net 排列组合算法看了你说递归的效率低 。那么你可以不用的 。
给出的方法就是先生成第一个排列,然后每次调用下面的函数给出下一个排列 , 这样生成的效率很高,这个函数可以内联 。
这个是很经典的排列组合算法?。吭谕夏芩训揭淮蠖?。
大概是那种带指向的移动的算法 。我给你搜一个吧 。
我找了几个,这个是我觉得说的比较清楚的 , 你可以仔细参考一下,看不懂的话再搜点别的好了 。。
全排列的算法跟这个不太一样的 。需要有点改动的 。
至于语言的话,应该不会有太大问题吧 。。basic版的确实比较少,现在我也比较懒不想动手写 。。还是要靠你自己啦 。
推荐阅读
- wordpress字体编辑器,wordpress文章编辑
- 蓝天服务器,蓝天服务器笔记本电脑
- phpcmsv9如何安装,php安装教程详解
- php读数据库方法 php读取数据表内容
- 查询oracle有外键的表,oracle怎么查询外键所在的表
- 图纸pdf格式转cad格式,图纸pdf格式怎么转成cad格式
- 小程序开发哪个商家好,小程序开发平台哪个好
- oracle怎么备份恢复 oracle数据
- 拍摄低的东西叫什么,什么是低角度拍摄