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格式..
答案 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。
肯定比你想看到的更多,它还取决于相机能提供什么。毫无疑问,你必须将其设置为配置。