View Full Version : Real-time Object Detection
Nap Reyes
February 21, 2003, 03:56:25
Dear Sir,
I have downloaded the trial version of your control and tested it on my SONY Mini DV Digital Handycam, DCR-TRV25E (via Firewire connection). It can capture live images, but is not working real-time. I intend to use it for Real-time Object detection, and so I wonder if purchasing the licensed version and generating an executable file of my application would dramatically reduce image capture time.
I am using Visual Basic v.6.0 as my compiler, with some of my computationally intensive routines written in Visual C++ (compiled as DLL). Even without the image processing routines yet, there is an image acquisition delay already. I wonder if my hardware set-up is suitable for Real-time Object detection.
Any information would be tremendous.
Sincerely,
Nap Reyes
Philippines
Johannes Vogel
February 21, 2003, 16:42:36
Hello,
what are the technical features of your computer ?
- processor (type, speed )
- amount of system memory
- PC or Laptop
- OS (WinXP / Win2k)
best regards
Johannes
IC Support
Nap Reyes
February 22, 2003, 08:06:30
Hi Johannes,
I'm running my application on a laptop, Toshiba Satellite (2800 Series), Pentium III - 700Mhz, 320 Mb RAM, 8Mb Video RAM, on a Windows XP (Home edition) platform. Aside from my minimal hardware configuration, I also have trouble getting rid of some captured image frames that queue up. I think that maybe if only I could process the last captured frame to detect an object, and disregard image frames in the buffer until detection is done on that frame, perhaps it would suffice.
Please have a look at a fragment of my code so that maybe you could help me correct and optimize it. I have two primary iterative routines in my program:
1. ICImagingControl1_ImageAvailable event – to update the content of a PictureBox control (Picture1) using the latest captured frame.
2. Timer1_Timer event – to detect an object in the PictureBox.
READY_TO_PROCESS is toggled in this event. It is set to False prior to running the detection routines; True – after detection process is completed.
Private Sub ICImagingControl1_ImageAvailable(ByVal BufferIndex As Long)
Dim Elapsed As Double
Dim CurrentBuffer As ImageBuffer
Dim Buf As ImageBuffer
GetTimeElapsed 0
If Not READY_TO_PROCESS Then GoTo SkipImageBuffer
'ICImagingControl1.ImageBuffers(BufferIndex).Lock
Set CurrentBuffer = ICImagingControl1.ImageBuffers.Item(BufferIndex)
Picture1 = CurrentBuffer.Picture
'ICImagingControl1.ImageBuffers(BufferIndex).Unloc k
SkipImageBuffer:
'ICImagingControl1.ImageBuffers(BufferIndex).Relea seImageData CurrentBuffer
Elapsed = GetTimeElapsed(0)
LblLiveFPS.Caption = "Speed: " & Format(Elapsed, "##0.00") & " sec."
End Sub
---------------------------------------------------------------------------------------------------
Private Sub Timer1_Timer()
READY_TO_PROCESS = False
DetectObject
READY_TO_PROCESS = True
End Sub
Your expert assistance and support is greatly appreciated.
Sincerely,
Nap Reyes
Philippines
Johannes Vogel
February 24, 2003, 17:33:16
Hello,
You can speed up your application a little bit by replacing the following lines:
Set CurrentBuffer = ICImagingControl1.ImageBuffers.Item(BufferIndex)
Picture1 = CurrentBuffer.Picture
with this line:
Picture1 = ICImagingControl1.ImageBuffers.Item(BufferIndex).P icture
This copies the image data only once.
I recognized that you commented out the buffer locking. You should lock the buffer while you are doing something with it (i.e. copy its data).
I need a little more information about your application:
Please tell me how do you access the image in the picture box inside your C++ code.
Best regards
Johannes
IC Support
Powered by vBulletin® Version 4.2.0 Copyright © 2013 vBulletin Solutions, Inc. All rights reserved.