[ros-users] How to encode mono16 data in Image messages?
Jack O'Quin
jack.oquin at gmail.com
Mon May 31 17:04:39 UTC 2010
I am trying to get the "*_mono16" video modes working with camera1394.
If I just copy the two-byte pixels, image_view of camera_raw fails
with an opencv exception. I can't tell if this is a bug in the camera
driver or in image_view.
I've looked at docs and code, but I'm still not clear how 16-bit
monochrome image data should be encoded. The two-byte per pixel copy
is modeled on cameradc1394. Is this snippet of code wrong?
case DC1394_VIDEO_MODE_640x480_MONO16:
case DC1394_VIDEO_MODE_800x600_MONO16:
case DC1394_VIDEO_MODE_1024x768_MONO16:
case DC1394_VIDEO_MODE_1280x960_MONO16:
if (!DoBayerConversion_)
{
image.step=image.width*2;
image_size = image.height*image.step;
image.encoding = enc::MONO16;
image.data.resize(image_size);
memcpy(&image.data[0], capture_buffer, image_size);
}
Could this be a little-endian problem?
--
joq
More information about the ros-users
mailing list