【问题标题】:C# and AForge - Use of unassigned local variable edgePointsC# 和 AForge - 使用未分配的局部变量 edgePoints
【发布时间】:2012-02-18 09:59:23
【问题描述】:

我正在尝试编译这段代码(最后一个): http://www.aforgenet.com/framework/features/blobs_processing.html

但它抛出:使用未分配的局部变量'edgePoints' ..

代码如下:

        BlobCounter blobCounter = new BlobCounter();
        blobCounter.ProcessImage(image23);
        Blob[] blobs = blobCounter.GetObjectsInformation();
        GrahamConvexHull hullFinder = new GrahamConvexHull();
        BitmapData data = image23.LockBits(new Rectangle(0, 0, image23.Width, image23.Height), ImageLockMode.ReadWrite, image23.PixelFormat);
        foreach (Blob blob in blobs)
        {
            List<IntPoint> leftPoints, rightPoints, edgePoints;
            blobCounter.GetBlobsLeftAndRightEdges(blob, out leftPoints, out rightPoints);
            edgePoints.AddRange(leftPoints);
            edgePoints.AddRange(rightPoints);
            List<IntPoint> hull = hullFinder.FindHull(edgePoints);
            Drawing.Polygon(data, hull, Color.Red);
        }
        image23.UnlockBits(data);

这是他有问题的行:

            edgePoints.AddRange(leftPoints);

我绑定了将 Null 分配给 edgePoints 但它失败了:

List<IntPoint> leftPoints, rightPoints, edgePoints= null;

有什么问题?我没有修改源代码,所以一切都应该正常..

【问题讨论】:

  • 该代码确实是错误的,也许应该告诉网站所有者。

标签: c# variables local


【解决方案1】:

你需要给它赋值:

List<IntPoint> leftPoints, rightPoints, edgePoints;
edgePoints = new List<IntPoint>();

在调用该实例的方法之前。

您的 leftPointsrightPoints 可能由

初始化
blobCounter.GetBlobsLeftAndRightEdges(blob, out leftPoints, out rightPoints);

调用(注意 out 关键字),但 edgePoints 不是 - 你需要自己做。

【讨论】:

  • 谢谢它的工作!虽然奇怪的是开发者放了不可编译的代码
  • @Alex:这确实很奇怪。
  • 当我尝试检测字符时,你们能否帮我解决 Blob 检测问题 - “i”被检测为两个对象 - “I”和“dot”
  • @Alex:我相信有人可以 - 如果您有新问题,请继续提问。附带说明一下,如果您要检测字母,您确定斑点检测是正确的方法吗(“i”实际上是 2 个斑点 - 线和点)..?跨度>
  • 是的,我要将每个 blob 作为位图,并将它们中的每一个与“原始”字母进行比较。如果像素颜色匹配 => 字母识别。至于“i”问题——我考虑过合并两个 Blob,它们位于相同的 X 坐标上!!不幸的是,我现在不知道如何实现它。至于“空格”——我可以制定一个规则,如果“blob 之间的空格”>=“some int”,则添加空格。
猜你喜欢
  • 2013-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-03
  • 2014-05-13
  • 2015-03-18
相关资源
最近更新 更多