|
我在NI视觉开发模块软件中查找了很多Vision的范例,但是我不知道在VB.NET中如何来创建一个新的图片缓存区。我看到采集到的相关图片存在CWIMAQViewer1.image缓冲区中,但是我想要处理另外一张图片同时希望可以访问CWIMAQViewer1.image缓存区中的旧图片。这种情况下我如何用VB.NET创建一个新图片的缓冲区?如何设置图片的数据类型和表示法?
大部分的传输例子只是针对一张图片,但是如果例程使用两张图片,那么当程序运行起来时就会有两个CWIMAQViewer来观察这两张图片。但是如果你想要在没有多张图片的情况下建立多个可以访问的图片缓冲区,那么你要使用CreatCWIMAQImage函数。你也可以建立一个变量,数据类型为CWIMAQImage数据类型。一旦你建立变量的数据类型,你就可以使用CreatCWIMAQImage函数,建立这种类型的图片在图片缓冲区中。
下面是一个可以加入ReadImage shipping example例子里的部分代码(例子路径如下 C:\Program Files\National Instruments\Vision\Examples\MSVB.NET\1. Getting Started)这部分代码简单的创建了一个新的图片缓冲区,用来存储一个RGB32位的图片,在彩色图片上执行简单的ExtractSingleColorPlane函数并且在CWIMAQViewer1中以8位图像显示出来。
Private Sub ReadImage()
Dim MyImage As CWIMAQControls.CWIMAQImage
MyImage = CWIMAQVision1.CreateCWIMAQImage
MyImage.Type = CWIMAQControls.CWIMAQImageTypes.cwimaqImageTypeRGB32
If imageDialog.FileName <> "" Then'Read the file into the image attached to the viewer
CWIMAQVision1.ReadImage(MyImage, imageDialog.FileName)
CWIMAQVision1.ExtractSingleColorPlane(MyImage, CWIMAQViewer1.Image, CWIMAQControls.CWIMAQColorPlanes.cwimaqLuminancePlane)End If
End Sub
|