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://abwzjs.com/article/hdhdio.html