主要内容

readBarcode

检测和解码图像中的1-D或2-D条形码

描述

例子

味精= readBarcode (检测并解码输入图像中的1-D或2-D条形码,并返回与该条形码相关的消息。

如果输入图像包含多个条形码,则readBarcode函数只解码检测到的第一个条码。

味精= readBarcode (roi指定一个矩形感兴趣区域(ROI),以减少函数搜索条形码的区域。ROI必须完全包含在输入图像中。

味精= readBarcode (___格式指定条形码格式,以减少函数搜索的条形码类型。在前面语法中的任何输入参数组合之外指定此参数。

味精detectedFormat疯狂的) = readBarcode (___另外,返回格式:detectedFormat和位置,疯狂的,检测到的条码。

例子

全部折叠

将包含条形码的图像读入工作空间。

我= imread (“barcode1D.jpg”);

检测条形码并解码其信息。

味精= readBarcode(我);

显示解码的条码信息。

disp (“解码条形码信息:”+味精)
解码的条码信息:1234567890128

将包含条形码的图像读入工作空间。

我= imread (“barcode1D.jpg”);

在图像中搜索1-D条形码,返回其消息、格式和位置。

(味精、detectedFormat loc) = readBarcode(我“一维”);

显示检测到的条码格式。

disp (条形码格式:“+ detectedFormat)
条形码格式:EAN-13

用解码的条形码消息注释图像。

: xyBegin = loc (1);Imsg = insertText(我xyBegin、味精、“BoxOpacity”, 1“字形大小”, 30);

插入一行以显示扫描行。

imSize =大小(Imsg);Imsg = insertShape (Imsg,“行”,[1 xyBegin(2) imSize(2) xyBegin(2)],“线宽”5);

显示图像。

imshow (Imsg)

图中包含一个坐标轴。轴包含一个image类型的对象。

读取包含条形码的图像。

我= imread (“barcodeQR.jpg”);

在包含条形码的图像中定义ROI。

ROI = [470, 300, 720, 620];

在ROI内搜索二维码。

(味精,~,loc) = readBarcode (roi,我“二维码”);

使用来自检测到的条形码的解码消息对图像进行注释。

xyText = loc (2);Imsg = insertText(我xyText、味精、“BoxOpacity”, 1“字形大小”25);

在图像上插入红色圆圈,以表示发现者模式的位置。

Imsg = insertShape (Imsg,“FilledCircle”疯狂的,...repmat(10、长度(loc), 1)),“颜色”“红色”“不透明度”,1);

显示图像。

imshow (Imsg)

图中包含一个坐标轴。轴包含一个image类型的对象。

输入参数

全部折叠

输入图像,指定为真彩色或灰度图像。

感兴趣的区域,指定为形式为[xy宽度高度].矩形感兴趣区域必须完全包含在输入图像中。[xy]指定相对于图像左上角的感兴趣区域的起点。

如果一个图像包含多个条形码,指定ROI可以帮助该功能检测特定的条形码。有关更多信息,请参见本地化和读取图像中的多个条形码

条形码格式,指定为这些选项之一。表格列出了有效的条码格式。

  • “所有”—使用此选项指定所有有效的条码格式。如果没有指定格式,该函数将使用此选项。

  • “一维”—使用此选项指定所有有效的1-D条码格式。

  • “二维”—使用此选项指定所有有效的2d条码格式。

  • 有效格式的字符向量或字符串标量-使用此选项指定一种条码格式。

  • 有效格式的字符向量或字符串向量单元格数组-使用此选项可指定多种条码格式。该函数根据数组中元素的顺序对特定条形码格式的搜索进行优先级排序。

通过限制条形码搜索,指定格式可以减少函数的运行时间。

一维格式 二维格式
UPC-A 二维码
UPC-E 数据矩阵
EAN-8 阿兹特克
EAN-13 pdf - 417
39码
代码- 93
代码- 128
CODABAR
ITF
RSS-14
RSS-EXPANDED

输出参数

全部折叠

条码消息,作为字符串标量返回。

已检测的条码格式,作为本表中任一格式的字符串标量返回。

一维格式 二维格式
UPC-A 二维码
UPC-E 数据矩阵
EAN-8 阿兹特克
EAN-13 pdf - 417
39码
代码- 93
代码- 128
CODABAR
ITF
RSS-14
RSS-EXPANDED

条码的位置,返回为- × 2矩阵用于二维条形码,或2 × 2矩阵用于一维条形码。矩阵元素表示finder模式位置。

条形码 疯狂的价值 仪模式位置
二维 2矩阵。代表[xy发现者模式的位置。

一维 形式的2 × 2矩阵[x1日元x2y2,其中每一行表示查找器模式的位置。

提示

  • 该功能只检测清晰可见的条形码。

  • 通过限制条形码搜索,指定格式可以减少函数的运行时间。

  • 对于有噪声且条码不清晰的图像,可以使用图像预处理功能,如imsharpen

  • 该功能仅检测水平或垂直对齐的条形码。使用imrotate修正排列不良的条形码。

介绍了R2020a