Tag: 边缘检测

C#上的边缘检测

我有这样的黑白图像(颜色覆盖是我的,可以删除): 我需要弄清楚所示手的边缘,我该怎么做? 我目前的算法: List edgePoints = new List(); for (int x = 0; x < largest.Rectangle.Width && edgePoints.Count == 0; x++) { //top for (int y = 0; y 3 && edgePoints.Count == 0; y++) { if (colorGrid[x, y].ToArgb() == Color.White.ToArgb() && colorGrid[x, y – 1].ToArgb() == Color.White.ToArgb() && colorGrid[x, y – 2].ToArgb() == Color.White.ToArgb() […]

最快的Sobel边缘检测C#

我想制作一个实现sobel边缘检测的程序。 这是我的代码: private Bitmap SobelEdgeDetect(Bitmap ori) { Bitmap b = original; Bitmap bb = original; int width = b.Width; int height = b.Height; int[,] gx = new int[,] { { -1, 0, 1 }, { -2, 0, 2 }, { -1, 0, 1 } }; int[,] gy = new int[,] { { 1, 2, 1 […]

用C#检测摄像机图像中的对象

我有一个从实时网络摄像头拍摄的图像,我希望能够检测图像中的特定对象并提取其中的一部分以进行进一步处理。 具体来说,图像将是一个游戏板,让我们说这个问题的目的是它是一个数独游戏板。 我最初的方法是寻找对比区域,并从那里开始研究,但我似乎最终有很多潜在的边缘(很多错误),并没有真正的线索,如何找出哪些是我真正想要的! 是否有任何算法,库,代码示例,甚至是那些明智的想法,关于我如何寻找和提取图像的相关部分?

如何最佳地确定图像中的边缘?

我最近被置于裁剪和调整图像大小的问题面前。 我需要裁剪图像的“主要内容”,例如,如果我有一个类似于此的图像: alt text http://sofzh.miximages.com/c%23/ 结果应该是msn内容没有白边(左和右)的图像。 我在X轴上搜索第一个和最后一个颜色变化,在Y轴上搜索相同的东西。 问题是逐行遍历图像需要一段时间…对于2000x1600px的图像,返回CropRect => x1,y1,x2,y2数据需要2秒钟。 我尝试为每个坐标进行遍历并在找到的第一个值上停止,但它在所有测试用例中都不起作用。有时返回的数据不是预期的,并且操作的持续时间类似。 任何想法如何减少遍历时间和发现围绕“主要内容”的矩形? public static CropRect EdgeDetection(Bitmap Image, float Threshold) { CropRect cropRectangle = new CropRect(); int lowestX = 0; int lowestY = 0; int largestX = 0; int largestY = 0; lowestX = Image.Width; lowestY = Image.Height; //find the lowest X bound; for (int y […]