From: Junaed S. <ju...@ci...> - 2006-04-18 00:28:20
|
Hi again. So I am still working on using vidl2 for image sequences. I can read a sequence successfully, but when I try to convert the next frame (vidl2_frame) to a vil_image_view<vxl_byte>, I get some unexpected results. My images are all RGB color images, with dimensions of 510 pixels by 422 pixels (just an example), 3 bytes per pixel (RGB). I can read them individually using vil_load. I have this code snippet: vil_image_view<vxl_byte> image; vidl2_frame_sptr frame = inputStream.current_frame(); if( !vidl2_convert_to_view( frame, image ) ) { return false; } I hope I'm doing the right thing to convert a vidl2_frame to vil_image_view. If so, then here's the problem: istep (next pixel. row wise) should be at every 3 bytes, and jstep (next row, same column) should be at width*nplanes bytes. But it isn't. With the numbers above, the values of istep should be 3 and jstep should be 1566(3*522) pixels, which is what it is if loaded using vil_load. In the case above with vidl2_convert_to_view, the values are istep=1, jstep=width (522), in the object 'image'. If the above code is wrong, I'd love to know the right way of doing things. Any pointers would be greatly appreciated! Thanks. -J- PS: Debugger shows this when using vil_load: istep_ = 3, jstep_ = 1566, planestep_ = 1. Debugger shows this when using vidl2_convert: istep_ = 1, jstep_ = 522, planestep_ = 214020 |