This chapter shows you how to get started with ActiveUSB control in VB.NET. With just a few mouse clicks and a few lines of code, you will be able to display a live video image in your VB.NET program, access the array of pixel values and display them in a table in real time.
Creating the Project
In the .NET development environment select New -> Project. The New Project Dialog box will appear. Select Visual Basic projects on the left and Windows Application on the right. In the Name filed below type the name of your application, for instance MyActiveUSB and click OK . The project will be created, and the main application form will be displayed for editing.
Creating the Control
In the Toolbox select Components. From the Tools menu select Choose Items... -> COM Components and then select ActiveUSB Class from the list. You will see ActiveUSB icon appear at the bottom of the toolbox.
Click the ActiveUSB icon in the Toolbox and draw a rectangular area on the form. A rectangle with the text "ActiveUSB Control" will appear on the form, and the Properties window on the right will display ActiveUSB's properties.
Selecting the Camera
In the properties window, click the Camera property. The list box will display all USB3 Vision compatible cameras connected to your system. Select the one you intend to use:
Selecting the Pixel Format
In the Properties window, click the Format property. The list box will display all pixel formats available for the chosen camera. Select the one you intend to use:
Adding the Start and Stop buttons
In the Toolbox select Windows Form , click on the Button icon and then draw a rectangular area on the program dialog. A button "Button1" will appear. Go to the Property window and change the Text property to "Start". Double click on the button. A new function Button1_Click will be added to the Form1.vb source code. Insert one line to the function body:
PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
AxActiveUSB1.Acquire = True
Repeat the same procedure for the Stop button adding the following line to the Button2_Click function:
PrivateSub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
AxActiveUSB1.Acquire = False
Adding the Grid
From the Tools menu select Customize Toolbox and then select Microsoft Flex Grid Control from the list. A FlexGrid icon will appear at the bottom of the toolbox. Click the icon and draw a rectangular area on the form. Go to the Property window and set both Cols and Rows property to 5. You will see a corresponding number of rows and columns added to the grid on the main form.
Your final design of the main form will be similar to this:
Adding the FrameAcquired event
Double-click in the ActiveUSB control window. The code window will appear with an empty AxActiveUSB1_FrameAcquired subroutine in it. It is now time to enter the code that will retrieve an image data array and display pixel values in the grid cells:
PrivateSub AxActiveUSB1_FrameAcquired(ByVal sender As System.Object, ByVal e As AxActiveUSBLib._IActiveUSBEvents_FrameAcquiredEvent) Handles AxActiveUSB1.FrameAcquired
Dim A As Array
Dim X AsInteger
Dim Y AsInteger
A = AxActiveUSB1.GetImageData
For y = 1 To 4
For x = 1 To 4
AxMSFlexGrid1.set_TextMatrix(Y, X, A(X, Y))
Running the application
Close the design window. From the Debug menu of the development environment select Start or press F5. This will build and run the application. The application dialog will appear on the screen with a black image window and empty text boxes. Click the Start button to activate the continuous video acquisition. The live image will appear in the control window and the real-time pixel values will be displayed in the table.
Note - make sure to close the form containing ActiveUSB control before running your application, or otherwise the IDE will maintain the exclusive control over the camera and will not allow your application to display the video.