C#和A-未分配局部变量边点的使用
我正在尝试编译这段代码(最后一段): 但它抛出:使用未分配的局部变量“edgePoints” 代码如下:C#和A-未分配局部变量边点的使用,c#,variables,local,C#,Variables,Local,我正在尝试编译这段代码(最后一段): 但它抛出:使用未分配的局部变量“edgePoints” 代码如下: BlobCounter blobCounter = new BlobCounter(); blobCounter.ProcessImage(image23); Blob[] blobs = blobCounter.GetObjectsInformation(); GrahamConvexHull hullFinder = ne
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分配Null,但失败:
List<IntPoint> leftPoints, rightPoints, edgePoints= null;
列出leftPoints、rightPoints、edgePoints=null;
问题出在哪里?我没有修改源代码,所以一切都应该正常运行。您需要为它指定一个值:
List<IntPoint> leftPoints, rightPoints, edgePoints;
edgePoints = new List<IntPoint>();
调用(请注意
out
关键字),但是edgePoints
不是-您需要自己执行此操作。您需要为它指定一个值:
List<IntPoint> leftPoints, rightPoints, edgePoints;
edgePoints = new List<IntPoint>();
打电话(注意
out
关键字),但是edgePoints
不是-你需要自己去做。谢谢它成功了!尽管开发人员将不可编译code@Alex:这真的很奇怪。当我试图检测角色时,你们能帮我解决斑点检测问题吗?“我”被检测为两个物体——“我”和“点”@Alex:我相信有人可以-如果你们有新问题,尽管问吧。另一方面,如果你试图检测字母,你确定斑点检测是正确的方法(“我”实际上是2个斑点-线和点)…是的,我将把每个斑点作为位图,并将它们与“原始”字母进行比较。如果像素颜色匹配=>识别字母。至于“i”问题,我考虑过合并两个位于相同X坐标上的斑点!!不幸的是,我现在还不知道如何实现它。至于“空格”-我可以制定一个规则,如果“blob之间的空格”>=“some int”,那么就添加空格。谢谢,成功了!尽管开发人员将不可编译code@Alex:这真的很奇怪。当我试图检测角色时,你们能帮我解决斑点检测问题吗?“我”被检测为两个物体——“我”和“点”@Alex:我相信有人可以-如果你们有新问题,尽管问吧。另一方面,如果你试图检测字母,你确定斑点检测是正确的方法(“我”实际上是2个斑点-线和点)…是的,我将把每个斑点作为位图,并将它们与“原始”字母进行比较。如果像素颜色匹配=>识别字母。至于“i”问题,我考虑过合并两个位于相同X坐标上的斑点!!不幸的是,我现在还不知道如何实现它。至于“空格”-我可以制定一个规则,如果“blob之间的空格”>=“some int”,然后添加空格。该代码确实错误,可能应该告诉网站所有者。该代码确实错误,可能应该告诉网站所有者。
blobCounter.GetBlobsLeftAndRightEdges(blob, out leftPoints, out rightPoints);