图像vb.net 图像分割

如何正确掌握VB.NET操作缩放图像

在VB.NET操作缩放图像中的显示和保存缩放图像,用到Image和Graphics类,在VSDotNet2K3下面Reference里自动添加了引用System.Drawing,直接用就行。

创新互联主营兴安盟乌兰浩特网站建设的网络公司,主营网站建设方案,app开发定制,兴安盟乌兰浩特h5成都小程序开发搭建,兴安盟乌兰浩特网站营销推广欢迎兴安盟乌兰浩特等地区企业咨询

实现VB.NET操作缩放图像代码如下:DimimgAsImageImage=Image.FromFile

(D:\Image\tstImage.jpg)

''tstImage是原先的图片DimgrfxAsGraphics=Me

.CreateGraphics

grfx.DrawImage(img,0,0,img.Width*

3,img.Height*3)''在Form里显示

DimimgnewAsNewSystem.Drawing.Bitmap

(img,img.Height*3,img.Width*3)

''新建一个放大的图片

imgnew.Save(D:\Image\tstNewImage.jpg,

System.Drawing.Imaging.ImageFormat.Jpeg)

''保存放大后图片

你可以建一个Form,然后在Form里拖进一个Button,把上面的代码放在Button_Click事件里面源码天空

,执行就行了。

对上面VB.NET操作缩放图像代码的解释:

1.要获取Graphics对象只能从某一事件的参数中获取或者使用窗体和控件对象的CreateGraphics方法来获取-----上面代码使用Me.CreateGraphics来引用这个对象。

2.加载一个图片用Image类的FromFile或者FromStream方法

3.用DrawImage来显示一个图片,该方法有30多个重载方法,可以查MSDN了解细节。

4.保存时的一个问题:我们必须先建一个对象,用于存缩放图像。

在vb.net环境下图像处理,用什么建立3D

首先,还是谈谈图像像素时数据获取方面吧,.net中的图像相关类基本上都是基于GDI+的,因此,图像数据的获取其实也是调用GDI+的一些函数。这个函数就是LockBits,在vb.net中彩色图像数据的快速获取 一文中,我们是调用了Marshal.Copy把LockBits锁定的内存数据拷贝到数据中,然后对数组中的值进行处理。这样做主要的原因是VB.NET不好直接访问内存(Marshal.ReadByte之类的函数不适合用于大型的循环中)。那么,这就造成了2个不好的事情,第一:在同一时间需要2倍于图像数据量的内存,第二:内存数据拷贝到数据,以及处理后再把数组的数据拷贝会内存中都是会减低速度的。作为一种改进,我们应该充分利用LockBits的功能。LockBits中的LockMode中有一种模式为ImageLockMode.UserInputBuffer,该模式下需要用户先申请内存,然后在把图像数据按照相关格式填充如这个内存中。这样,就可以先定义个数组,然后把图像数据填充到这个数组中,就避免了来回拷贝的耗时了,简单示例代码如下:

Dim BmpData As New BitmapData

Stride = ((Bmp.Width * 3 + 3) And HFFFFFFFC)

Dim PixleValue(Stride * Bmp.Height) As Byte

Dim Hanlde As GCHandle = GCHandle.Alloc(PixleValue, GCHandleType.Pinned)

BmpData.Scan0 = Hanlde.AddrOfPinnedObject()

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中图像二值化中的阀值法是什么意思呢

不要分

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

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

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

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

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

在VB.NET下面如何显示和保存缩放图像

实现代码如下:

Dim img As Image = Image.FromFile("D:\Image\tstImage.jpg") 'tstImage是原先的图片

Dim grfx As Graphics = Me.CreateGraphics

grfx.DrawImage(img, 0, 0, img.Width * 3, img.Height * 3) '在Form里显示

Dim imgnew As New System.Drawing.Bitmap(img, img.Height * 3, img.Width * 3) '新建一个放大的图片

imgnew.Save("D:\Image\tstNewImage.jpg", System.Drawing.Imaging.ImageFormat.Jpeg) '保存放大后图片

你可以建一个Form,然后在Form里拖进一个Button,把上面的代码放在Button_Click事件里面,执行就行了。

对上面代码的解释:

1.要获取Graphics对象只能从某一事件的参数中获取或者使用窗体和控件对象的CreateGraphics方法来获取-----上面代码使用Me.CreateGraphics来引用这个对象。

2.加载一个图片用Image类的FromFile或者FromStream方法

3.用DrawImage来显示一个图片,该方法有30多个重载方法,可以查MSDN了解细节。

4.保存时的一个问题:我们必须先建一个对象,用于存缩放图像。

VB.net 旋转图像时,如何指定填充色

绘制线条采用Draw开头的方法,颜色参数用Pen类;

绘制有填充色的封闭图形采用Fill开头的方法,颜色参数用Brush类;

例如:

'绘制一个实心圆,该圆在:直线x=200,y=200,x=200+100,y=200+100所划矩形区域内

Me.CreateGraphics.FillEllipse(New SolidBrush(Color.Orange), 200, 200, 100, 100)

'绘制一个空心圆,该圆在:直线x=200,y=200,x=200+100,y=200+100所划矩形区域内

Me.CreateGraphics.DrawEllipse(New Pen(Color.Black), 200, 200, 100, 100)


网站栏目:图像vb.net 图像分割
文章转载:http://pwwzsj.com/article/hipoeo.html