vb.net灰度 灰度窗口

几种经典的二值化方法及其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=H0 +HB,选取使W最大的灰度级作为分割图像的阈值,这就是一维最大熵阈值图像分割法 。
关于VB.NET中图像二值化中的阀值法是什么意思呢不要分
灰度图像的像素的取值范围为
0-255,0代表黑,255代表最亮,中间值是不同的亮度
图像二值化,就是通过某个判断标准 , 将灰度图像变成只有两个值的图像,即图像值不是0,就是255
阈值,就是这个判断标准,比如,如果阈值取100,那么图像灰度小于等于100的像素 , 都变成0
图像灰度大于100的,都变成255
vb.net怎么使图像灰度化再输出在web上可以使用HTML5的特效实现 。
在windows forms里面可以直接修改设置图片的属性 。
Try
' 图片位置初始化一个image1
Dim image1 As New Bitmap(
"C:\Documents and Settings\All Users\Documents\My Music\music.bmp",
True)
Dim x, y As Integer
' Loop through the images pixels to reset color.
For x = 0 To image1.Width - 1
For y = 0 To image1.Height - 1
Dim pixelColor As Color = image1.GetPixel(x, y)
Dim newColor As Color =
Color.FromArgb(pixelColor.R, 0, 0)
image1.SetPixel(x, y, newColor)
Next
Next
' Set the PictureBox to display the image.
PictureBox1.Image = image1
' Display the pixel format in Label1.
Label1.Text = "Pixel format: " + image1.PixelFormat.ToString()
Catch ex As ArgumentException
MessageBox.Show("There was an error." _
"Check the path to the image file.")
End Try
【vb.net灰度 灰度窗口】关于vb.net灰度和灰度窗口的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

推荐阅读