网站建设资讯

NEWS

网站建设资讯

vb.net图片灰度的简单介绍

vb.net 打印问题

可以将打印机默认打印设置改为黑白打印,如果打印对象是RGB配色,打印机驱动转换为CMYK颜色时,黑色都是由彩色墨水组成的

创新互联公司是专业的坪山网站建设公司,坪山接单;提供网站制作、成都网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行坪山网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

2.可以试一下图片从一个标准灰度图片格式化而来,这样图片自身只有黑白色,也许可以

vb.net 怎么样用bitmap.setpixel()

位图本来就是一个二维的位数组,此数组的每一个元素与图像的像素一一对应。位图中的每个像素值指明了一个单位网格内图像的平均颜色。

直接把数组循环输出,每组值的(x,y)分别对应的是setpixel中此点的x坐标与y坐标。再把color设定成Color.Gray即可。

小示例(转载)

Dim m As New Bitmap("D:\temp\1.png")‘随便改成个啥,要存在的图片

For i As Integer = 0 To 99

For j As Integer = 0 To 99

m.SetPixel(i, j, Color.Gray)

Next

Next

Me.PictureBox1.BackgroundImage = m

关于VB.NET中图像二值化中的阀值法是什么意思呢

不要分

灰度图像的像素的取值范围为

0-255,0代表黑,255代表最亮,中间值是不同的亮度

图像二值化,就是通过某个判断标准,将灰度图像变成只有两个值的图像,即图像值不是0,就是255

阈值,就是这个判断标准,比如,如果阈值取100,那么图像灰度小于等于100的像素,都变成0

图像灰度大于100的,都变成255

几种经典的二值化方法及其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怎么使图像灰度化再输出

在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怎么实现图像的处理

这问题有点笼统,软糖来说说把:

图像处理由System.Drawing命名空间负责。

主要是Bitmap类和Graphics类。

Bitmap表示一个位图,可以是BMP,JPG,PNG等文件。

装载位图

Dim 位图 As Bitmap = Bitmap.FromFile("C:\Image1.PNG")

Graphics表示一张画纸,能够进行绘制操作。

它可以被窗体、控件、位图调用CreateGraphics()方法来创建。

然后调用Graphics.Draw开头的一系列函数来绘制图像和图形,Fill开头的填充图形。

创建画纸并绘制位图

Dim 画纸 As Graphics = Me.CreateGraphics()

画纸.DrawImage(位图, 100, 100, 256, 256)

可以将上面三行放到Form1_Load中测试,把路径改一下,

还可以把Me改为能在上面绘图的控件的名称。

更多内容请看MSDN的System.Drawing命名空间。

如满意,请采纳,谢谢。


本文题目:vb.net图片灰度的简单介绍
文章路径:http://njwzjz.com/article/hdhdio.html