zbar :: Image :: Image()接受“Y800”以外的图像格式是什么?

时间:2015-10-15 07:50:43

标签: c++ zbar

zbar::Image::Image()的文档没有说明接受的图片格式:

  

zbar :: Image :: Image(无符号宽度= 0,无符号高度= 0,常量   std :: string& format =“”,const void * data = NULL,unsigned long     length = 0)[inline]构造函数。

     

使用指定参数创建新图像

由于format是一个字符串,而不是一个枚举,我无法知道可能的值。我所知道的唯一值是来自zbar附带的scan_image.cpp示例中的Y800

Image image(width, height, "Y800", raw, width * height);

还有其他可能的值吗?如果我在没有ImageMagick支持的情况下编译它(我将--without-imagemagick传递给./configure)也很重要吗?

修改:我在另一个问题的an answer中找到了另一种可能的格式:

  

顺便说一下:zbar也接受GRAY格式..

1 个答案:

答案 0 :(得分:4)

通过库代码挖掘,支持的fourcc格式取决于您需要使用的视频捕获API:

  • zbar / video / v4l1.c,Video4Linux,v4l1_formats []列出了GRAY,HI24(HI240),RGBP(RGB565),BGR3(RGB24),BGR4(RGB32),RGBO(RGB555),YUY2(YUV422) ),YUYV,UYVY,Y41P(YUV411),422P(YUV422P),411P(YUV411P),YU12(YUV420P),YUV9(YUV410P)。

  • zbar / video / vfw.c,Video for Windows,vfw_formats []列出I420,YV12,NV12,UYVY,YUY2,BGR3,BGR4,YVU9,GRAY,Y800,JPEG。

肯定比你想看到的更多,它还取决于相机能提供什么。毫无疑问,你必须将其设置为配置。