PDA

View Full Version : Processing Imagebuffers



Seitron
November 14, 2007, 16:16:38
Hi there!

I am quit new to your library. I have a problem. I have an application running, which uses C#, MDX and ICImaging 3.0.1.1 (dll). I am using your library to grab a Picture, Deinterlace it an then render it to a Texture. Therefor i am using Pointers on the Imageactivebuffer. It all works fine and looks quite great, but now i have to save an avi File parallely to what i am doing. Always when i try to save an AVI parallely i can NOT acces the Imagebuffers anymore. Why!? I get something like "Option not available". But i HAVE to access the buffer continiuosly (60 times per second) to get a flicker free full frame deinterlaced live picture. The Picture is NOT the problem... it runs VERY fine but i do NOT manage to save a AVI and access buffers parallely. Do you have any suggestions or any sample codes on how i would be able to do Imagebuffer accessing AND AVI-capturing together!? This would be VERY important for me. Thanks.

Greetings Seitron.

Stefan Geissler
November 15, 2007, 08:27:25
Hi Seitron,

Imageprocessing and AVI Capture is not possible together with the standard functionality of IC Imaging Control. The solution is the use of a frame filter, that does your texture creation and use IC Imaging Control for AVI capture. The "Image and AVI Capture" sample does this. You would only have to rewrite the frame filter to your needs. You can download the sample from following link:
http://www.imagingcontrol.com/library/dotnet/section/video-aquisition/example/image-and-avi-capture/

Frame Filters can also be written in C#, but not in VB, because VB does not provide pointer access.

Seitron
November 15, 2007, 09:28:54
Hi Stefan!

Thanks for the quick answer. I will try to write my own Framefilter, to deinterlace and create my Texture. I will let you know, if it worked! :) Is it also possible to create an AVI with a Framefilter and THEN parallely access the Imagebuffer with the standard IC Imaging Control? And maybe you also have a sample in C#? If I have to change the Texturerendering to a rendering over a Framefilter I would have to change my whole System because of timings.

Seitron.

Stefan Geissler
November 15, 2007, 10:39:16
Hi Seitron,


I will let you know, if it worked!
Thank you!


In principle it is possible to write AVI files in a frame filter, but you would have to write the complete DirectShow stuff on your own. I did it some time ago in a C++ project and it worked not as well as I wanted. At least, I was not able to rebuild this project after a computer crash.

But there is a possibilty to use an old AVIDLL, that uses Video for Windows and 24bit image buffers. You may send an email to support@imagingcontrol.com and I could send you this DLL. I never tested it in a frame filter, but in some VB6 programs.

Seitron
November 15, 2007, 11:51:41
Hi Stefan!

Yes... that sounds great to me. I hate to write that DirectShow thing on my own. It is very complicated and not very user friendly! :p I will write an E-Mail later. Thanks.

Seitron!