From: Peter V. <pet...@ya...> - 2005-05-10 15:16:25
|
> /usr/local/vxl/vxl-1.0.0/core/vgui/vgui_section_buffer.cxx:279: > void vgui_section_buffer::apply(const vil1_image&): > Assertion `image.planes() == 1' failed. Apparently, the vil1 VIFF loader created a multi-planar colour image, while the vgui interface to vil1 only supports single-plane (also colour) images. Try using the vil VIFF loader instead. vil1 is no longer actively supported. -- Peter. |
From: Marc A. <yul...@ya...> - 2005-05-12 15:14:25
|
Hi Peter, Thanks for your reply. I tried to use vil classes today and it works. Moreover, I wrote a simple GUI program to display images in the vgui_image_tableau, the issue is that if I put the vil_image_view<T> into the vgui_image_tableau like the sample code in vxl book, nothing will be displayed: vil_image_resource_sptr img = vil_load_image_resource("aqua.viff"); vil_image_view<vil_rgb<vxl_byte> > img_view = img->get_view(); vgui_image_tableau_sptr itab = vil_image_tableau_new(img_view); It however works when the second line is replaced with: vil_image_view<vxl_byte> img_view = img->get_view(); Any comment on this? Marc. --- Peter Vanroose <pet...@ya...> wrote: > > > /usr/local/vxl/vxl-1.0.0/core/vgui/vgui_section_buffer.cxx:279: > > void vgui_section_buffer::apply(const > vil1_image&): > > Assertion `image.planes() == 1' failed. > > Apparently, the vil1 VIFF loader created a > multi-planar colour image, > while the vgui interface to vil1 only supports > single-plane (also > colour) images. > Try using the vil VIFF loader instead. vil1 is no > longer actively > supported. > > > -- Peter. > __________________________________ Yahoo! Mail Mobile Take Yahoo! Mail with you! Check email on your mobile phone. http://mobile.yahoo.com/learn/mail |
From: Ian S. <ian...@st...> - 2005-05-12 15:44:45
|
Marc Anderson wrote: > Hi Peter, > > Thanks for your reply. I tried to use vil classes > today and it works. > > Moreover, I wrote a simple GUI program to display > images in the vgui_image_tableau, the issue is that if > I put the vil_image_view<T> into the > vgui_image_tableau like the sample code in vxl book, > nothing will be displayed: > vil_image_resource_sptr img = > vil_load_image_resource("aqua.viff"); > vil_image_view<vil_rgb<vxl_byte> > img_view = > img->get_view(); > vgui_image_tableau_sptr itab = > vil_image_tableau_new(img_view); > > It however works when the second line is replaced > with: > vil_image_view<vxl_byte> img_view = img->get_view(); > > Any comment on this? vil_image_view<T>::operator= will do cheap conversions only. If your underlying image really is arranged RGBRGBRGB... then your original conversion to vil_image_view<vil_rgb<vxl_byte> > would have been successful. It is very likely that your underlying image is stored RRRR... GGGG... BBBB... and thus cannot be represented by a simple change to the view parameters as an image of RGBs. Operator= will not do expensive conversions of the underlying image layout, and instead returns an empty image to indicate failure. If you need an vil_image_view<vil_rgb<vxl_byte> >, then try vil_image_view<vil_rgb<vxl_byte> > img_view = vil_convert_to_component_order(img->get_view()); Ian. |