网站建设资讯

NEWS

网站建设资讯

vb.net图像处理库 vbnet imagelist

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

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

创新互联专注为客户提供全方位的互联网综合服务,包含不限于做网站、成都网站制作、双流网络推广、重庆小程序开发公司、双流网络营销、双流企业策划、双流品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供双流建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com

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,VC和.NET中使用halcon

HALCON对于机器视觉的学习者、开发者而言并不陌生,称其为机器视觉领域第一软件,亦无可厚非。

HALCON对于视觉系统的控制、图像的处理和分析都能够较好的实现,尤其是各种图像处理算法。但就其本身而言,开发用户界面并不理想。用户界面以及对于其他底层的控制,比如和底层电路板、PLC等的控制和通信,可通过VC++、VB等进行开发。方便的是,HALCON恰恰能够被这些开发工具所调用,它支持C、C++、VB、JAVA等等。

刚开始结合VC++结合HALCON进行学习和开发时,因为软件方面的薄弱,对如何在VC++中如何调用HALCON感到不知所措,也在网上找了一些资料,资料较少,基本内容相同,或许能用,但始终对于笔者个人而言不太灵光。后来在一位软件同事的指导下,对其有了较为深刻的了解,其实说到底对软件工程师而言这是一件很简单的事,也就是将HALCON的库导入VC++。

以下,针对初学者一步步介绍,以MFC作为开发工具。

在Visual Studio中新建项目选择Visual C++下的MFC,其中的MFC应用程序,建立过程不赘述。本文以Visual Studio 2005为例。

打开HALCON安装目录(以HALCON7.0为例,后面的版本也相同),如下图1所示:

将其中的include文件夹整个拷贝至所建MFC项目工作目录下,如下图2所示:

同样,将HALCON的LIB文件拷贝到所建MFC项目工作目录下,因使用C++进行开发,所以选择X:Program FilesMVTecHALCONlibi586-nt4下的halconcpp.lib,这里X:为安装盘符

打开stdafx.h,在文件中空白位置处,加入

#include "include/cpp/HalconCpp.h"

#prama comment(lib,"halconcpp.lib")

下一步,点击项目下的属性,如下图6所示:

点开配置属性中的C/C++,如下图7所示:

当点在附加包含目录右侧空白框时,会出现的图标,点开,如下图8所示:

点击新建行,将所建MFC项目工程目录下的include文件夹的地址输入,也就是刚才我们拷贝过去的那个文件夹

最后一步,在需要使用HALCON库的地方,将其头文件导入,以****Dlg.cpp为例

这样我们就算成功在VC++/MFC中导入了HALCON库文件,就可以调用HALCON的函数,使用其强大的算法。另外,单纯执行上述步骤后,按F5启动调试,应该是不会有任何的ERROR和WARNING的。此方法同样适用于VB,在此不赘述,VB的开发者可自行尝试。

在VB.net中如何将图片转换成二进制保存到Accees中

在access数据库里将字段的类型设置为ole对象

Public img As Byte() '图片处理用的字节数组

img=My.Computer.FileSystem.ReadAllBytes(filePath)'filePath是你图片文件的路径

剩下的就是数据库插入操作了

Dim cn As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Data.mdb")

Dim comm As OleDb.OleDbCommand

comm = New OleDb.OleDbCommand( _

"INSERT INTO Photo(BuFan_F,PhotoNo,Photo) Values('"  Me.CobBuFan.Text.Trim  "','"  Me.txtNo.Text.Trim  "',@image)", cn)

'向数据库添加存储了图片数据的二进制数组

comm.Parameters.Add("@image", _

OleDb.OleDbType.Binary, img.Length).Value = img

If cn.State = ConnectionState.Closed Then cn.Open() '打开数据库连接

comm.ExecuteNonQuery() '执行数据库命令

If cn.State = ConnectionState.Open Then cn.Close() '关闭数据库连接

MessageBox.Show("图片成功保存到数据库", "完成", MessageBoxButtons.OK, MessageBoxIcon.Information)


名称栏目:vb.net图像处理库 vbnet imagelist
文章转载:http://cdweb.net/article/dopdcoi.html