用emgu cv扫描图像

本文关键字:图像 扫描 cv emgu | 更新日期: 2023-09-27 18:29:47

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

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

有问题的图像是条形码,这种方法应该只适用于提取条形图。问题在于emgu cv.的实现

更新:

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

这个问题参考C.图像提取章节

用emgu cv扫描图像

检查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将图像"投影"到其某个维度上,并且您将把条形码存储在一行中

带有SUMreduce示例:

0 1785 0 0 1785 1785 1785 0

现在,重新应用一个阈值:

0 1 0 0 1 1 1 0