The picCOLOR image processing software has been ported for the F64 board of the Canadian board manufacturer CORECO. The F64 board is very similar to the picCOLOR V2.17 board, but has many additional powerful features. Besides of the TMS34020 graphics processor there are different special processors which are optimized for real time processing. |
A special logic processor can do real time logic and arithmetic operations of the life camera image with a reference image in full image frequency. Simple example is the subtraction of the life image from a reference image: all pixel which are different in life image and reference image will be different from zero after the subtraction. A real time check on image differences is possible. |
A histogram processor can calculate the gray level distribution of the life image. The resulting 256 values for the different gray levels can be examined easily within the time of the vertical blanking between two subsequent images. Special events in the life image, like the flashing of a light, can easily be detected in real time. |
A TMS320C40 digital signal processor can be programmed for real time tasks. It has a computing power of 250 MOPS and 40 MFLOPS. With it's 6 very fast 8 bit wide parallel links it is possible to build complex parallel nets. A complete "C"- development toolkit is available from Texas Instruments. |
The software is available as an interactive standalone program "picCOLOR" or as a library for extension of the ODX driver toolkit. |
NEW: Stereo-Display and Stereo-grabbing: |
If the image processing system is equipped with the picCOLOR V2.17 board or with two external frame grabbers, stereo image pairs can be grabbed using two cameras. The cameras have to be adusted geometrically to have a view like the eyes of the observer. Different functions are available to display the stereo image using simple red/green (or red/blue) glasses, or LCD shutter glasses. Color images can be displayed by using the shutter glasses. The video monitor displayes the left and right eye images at very high frequency (up to 140 Hz). The shutter glasses closes the appropriate eye to give the right image to the right eye, producing a 3-dimensional effect. |
Image processing and analysis functions will be implemented on request. Different warping functions are available. |
Macro for 2- or 3-dimensional determination of object position: |
Using one (for 2D) or two (for 3D) cameras, the position of objects can be measured automatically. After calibration the angle and displacement of the object can be calculated with subpixel accuracy and displayed on a special additional screen. |
Macro for Split Screen Frame Grabbing: |
Many applications need the simultaneous grabbing of two or three life camera images. RGB color systems can do this by connecting B/W cameras to the RGB inputs. If grabbing image sequences, however, a very large bandwidth of the system is necessary to grab those images into the main memory. Also, displaying of the 2 or 3 single gray level images is a problem. The color system will always mix the images to produce a RGB real color image. Adjusting the camera positions and focus is hardly possible. |
Much easier would be a split screen application where the first camera puts its image into the first half of the screen image, the second camera into the second half. This can be accomplished by using the picCOLOR V2.17 image processing system and a simple Macro program. By changing the constants of the "wait_scan_line" functions the scan line of switching from camera 1 to camera 2 can be adjusted. Camera 1 and 2 are connected to inputs 2 and 3 for the example below. |
user_message "Start"
IVAR[2] := 250 * 10 seconds life-video display (at 25 Hz frequency)
setup_capture * switch to 50Hz-video mode
cam_sync_inp 2 2 * set camera input 2
camera_type 1 * gray level camera
time_delay 1000 * wait 1 second for synchronization
select_roi 0 0 * ROI 0
roi_size 736 512 4 0 * image size for grabbing
IVAR[11] := 0
WHILE IVAR[11] = 0
* for switching at line 200 use wait_scan_line 70 and 400
* for switching at line 256 use wait_scan_line 126 and 420
* for switching at line 300 use wait_scan_line 170 and 440
bild_on 1 * start grabbing
FOR IVAR[2]
wait_scan_line 126
cam_sync_inp 3 3
wait_scan_line 420
cam_sync_inp 2 2
wait_scan_line 126
cam_sync_inp 3 3
wait_scan_line 420
cam_sync_inp 2 2
ENDFOR
bild_off 0 * stop grabbing
get_mouse_button * mouse test
IF IVAR[11] = 0 * if right button pressed, grab next 10 seconds
functret_ivar0 1
user_message "More?"
IF IVAR[0] < 1
IVAR[11] := 1
ELSE
ENDIF
ELSE
ENDIF
ENDWHILE
scrn_to_buf_ROI 0 0 1 * copy frame buffer into image buffer
close_capture * switch back to 70 Hz working frequency
user_message "End"
Back to FIBUS Home Page