扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
图像二值化的目的是最大限度的将图象中感兴趣的部分保留下来,在很多情况下,也是进行图像分析、特征提取与模式识别之前的必要的图像预处理过程。这个看似简单的问题,在过去的四十年里受到国内外学者的广泛关注,产生了数以百计的阈值选取方法,但如同其他图像分割算法一样,没有一个现有方法对各种各样的图像都能得到令人满意的结果。
创新互联是一家集网站建设,忠县企业网站建设,忠县品牌网站建设,网站定制,忠县网站建设报价,网络营销,网络优化,忠县网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
本文针对几种经典而常用的二值发放进行了简单的讨论并给出了其vb点虐 实现。
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=H0 +HB,选取使W最大的灰度级作为分割图像的阈值,这就是一维最大熵阈值图像分割法。
1、Number of cycles表示什么意思?该怎么填写?
2、Fundamental frequency表示基频的意思,但是我该选多大呢?怎么选?Fundamental (60Hz)=0.0471,这又是什么意思?
参考:
以下为十行的杨辉三角输出,根据这个自己做相应修改,都做好了,那你就是伸手党了。
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim i, j As Integer
Dim n As Integer
n = 10
Dim dete(n, n) As Integer
Dim sum As Integer
For i = 0 To n
For j = 0 To i
If i = 0 Then
dete(i, j) = 1
ElseIf j = 0 Then
dete(i, j) = 1
ElseIf i = j Then
dete(i, j) = 1
Else
dete(i, j) = dete(i - 1, j - 1) + dete(i - 1, j)
End If
Next
Next
For i = 0 To n
For j = 0 To i
Debug.Write(dete(i, j) " ")
sum += dete(i, j)
Next
Debug.WriteLine(" ")
Next
End Sub
End Class
'中值滤波:
Dim x As Integer, y As Integer, size As Integer = 3, point(8) As Integer
For x = CInt((size - 1) / 2) To CInt(jpgImage.Width - 1 - (size - 1) / 2)
For y = CInt((size - 1) / 2) To CInt(jpgImage.Height - 1 - (size - 1) / 2)
point(0) = jpgImage.GetPixel(x - 1, y - 1).R
point(1) = jpgImage.GetPixel(x - 1, y).R
point(2) = jpgImage.GetPixel(x - 1, y + 1).R
point(3) = jpgImage.GetPixel(x, y - 1).R
point(4) = jpgImage.GetPixel(x, y).R
point(5) = jpgImage.GetPixel(x, y + 1).R
point(6) = jpgImage.GetPixel(x + 1, y - 1).R
point(7) = jpgImage.GetPixel(x + 1, y).R
point(8) = jpgImage.GetPixel(x + 1, y + 1).R
Array.Sort(point)
jpgImage.SetPixel(x, y, Color.FromArgb(point(4), point(4), point(4)))
Next
Next
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流