使用emgu cv扫描图像

时间:2012-04-03 14:36:38

标签: c# opencv emgucv

所以我有一张用sobel方法处理的图像,现在我需要提取该图像。

我的问题是如何从中线uo和逐行扫描图像,当边数小于60时,记录该坐标以裁剪图像。

有问题的图像是条形码,此方法仅适用于提取条形图。问题是用emgu cv。

实现

更新

我遵循本文所述的方法:http://bit.ly/HUWdcy

这个问题与C.图像提取章节有关。

1 个答案:

答案 0 :(得分:0)

检查cv::thresholdcv::reduce功能。

首先从边缘图像创建二进制地图,条纹上有黑色,背景上有白色。

就像这个小例子:

边缘后

1 70  0 0 85  128 99  0
1 70  0 0 85  128 99  0
1 70  0 0 85  128 99  0
1 70  0 0 85  120 99  0
1 74  0 0 85  138 99  0
1 80  0 0 85  128 99  0
1 72  0 0 85  128 99  0

阈值后

0 255 0 0 255 255 255 0
0 255 0 0 255 255 255 0
0 255 0 0 255 255 255 0
0 255 0 0 255 255 255 0
0 255 0 0 255 255 255 0
0 255 0 0 255 255 255 0
0 255 0 0 255 255 255 0

第二个函数可用于使用CV_MAXCV_SUMCV_AVG在其中一个维度上“投影”图像,并且您将条形码存储在行

reduce SUM的示例:

0 1785 0 0 1785 1785 1785 0

现在,重新申请一个门槛:

0 1 0 0 1 1 1 0