Automation 如何以编程方式检测图像边框?

Automation 如何以编程方式检测图像边框?,automation,Automation,我在找一个能检测图像边界的程序, 例如,我有一个正方形,程序检测X/Y坐标 例如: 听上去,你只需要一个。之后,x/y的最低/最高值将为您提供角点的坐标。从它的声音来看,您只需要一个。然后,x/y的最低/最高值将给出角点的坐标。这取决于您想对边界做什么,如果您只想获得区域边缘的值,请使用称为的算法。在使用算法之前,必须知道区域的值。这将在边界周围导航并收集外部区域。如果你只想检测外线,你可以得到图像的梯度,它会显示线的位置。要执行此操作,请使用诸如Prewitt、Sobel等边缘检测过滤器对图像

我在找一个能检测图像边界的程序, 例如,我有一个正方形,程序检测X/Y坐标

例如:


听上去,你只需要一个。之后,x/y的最低/最高值将为您提供角点的坐标。

从它的声音来看,您只需要一个。然后,x/y的最低/最高值将给出角点的坐标。

这取决于您想对边界做什么,如果您只想获得区域边缘的值,请使用称为的算法。在使用算法之前,必须知道区域的值。这将在边界周围导航并收集外部区域。如果你只想检测外线,你可以得到图像的梯度,它会显示线的位置。要执行此操作,请使用诸如Prewitt、Sobel等边缘检测过滤器对图像进行卷积。

这取决于您想对边界执行什么操作,如果您只想获取区域边缘的值,请使用称为的算法。在使用算法之前,必须知道区域的值。这将在边界周围导航并收集外部区域。如果你只想检测外线,你可以得到图像的梯度,它会显示线的位置。要执行此操作,请使用诸如Prewitt、Sobel等边缘检测过滤器卷积图像。

您可以使用任何图像处理库,如。这是在C++或Python中。 您应该寻找边缘检测功能,如Canny边缘检测。 当然,这需要深入研究图像处理。
您给出的示例图像应该直接检测,图像的噪声/变化程度如何?

您可以使用任何图像处理库,如。这是在C++或Python中。 您应该寻找边缘检测功能,如Canny边缘检测。 当然,这需要深入研究图像处理。
您给出的示例图像应该直接检测,图像的噪音/变化程度如何?

A可能会帮助您,前提是它有某种实心边框,背景颜色是实心边框。

A可能会帮助您,前提是它有某种实心边框,背景颜色是纯色。

这是一个非常简单的边缘检测器。它适用于二值图像。它只计算水平和垂直像素之间的差异,如image.pos[1,1]=image.pos[1,1]-image.pos[1,2],垂直差异也是如此。请记住,还需要在值0..255的范围内对其进行规格化

但是!如果您只需要一个程序,请使用Adobe Photoshop

用C#编写的代码

public void simpledgedetection()
{
BitmapData data=Util.SetImageToProcess(图像);
if(image.PixelFormat!=PixelFormat.format8bpappindexed)
回来
不安全的
{
字节*ptr1=(字节*)data.Scan0;
字节*ptr2;
int offset=data.Stride-data.Width;
int height=data.height-1;
int-px;
对于(int y=0;yUtil.maxgrayelevel)px=Util.maxgrayelevel;
ptr1[0]=(字节)px;
}
ptr1+=偏移量;
}
}
图像。解锁位(数据);
}
来自Util类的方法

静态公共位图数据SetImageToProcess(位图图像)
{
如果(图像!=null)
返回image.LockBits(
新矩形(0,0,image.Width,image.Height),
ImageLockMode.ReadWrite,
图像(像素格式);
返回null;
}

如果您需要更多的解释或算法,只需询问更多的信息,而不要过于笼统

这是一个非常简单的边缘检测器。它适用于二值图像。它只计算水平和垂直像素之间的差异,如image.pos[1,1]=image.pos[1,1]-image.pos[1,2],垂直差异也是如此。请记住,还需要在值0..255的范围内对其进行规格化

但是!如果您只需要一个程序,请使用Adobe Photoshop

用C#编写的代码

public void simpledgedetection()
{
BitmapData data=Util.SetImageToProcess(图像);
if(image.PixelFormat!=PixelFormat.format8bpappindexed)
回来
不安全的
{
字节*ptr1=(字节*)data.Scan0;
字节*ptr2;
int offset=data.Stride-data.Width;
int height=data.height-1;
int-px;
对于(int y=0;yUtil.maxgrayelevel)px=Util.maxgrayelevel;
ptr1[0]=(字节)px;
}
ptr1+=偏移量;
}
}
图像。解锁位(数据);
}
来自Util类的方法

静态公共位图数据SetImageToProcess(位图图像)
{
如果(图像!=null)
返回image.LockBits(
新矩形(0,0,image.Width,image.Height),
ImageLockMode.ReadWrite,
图像(像素格式);
返回null;
}

如果您需要更多的解释或算法,只需询问更多的信息,而不要过于笼统

边界!=xy坐标。请澄清你的问题。还有,你在问什么语言和平台?它更像SVG,它希望有图形元素的外部坐标/边框![alt text][1][1]:注意:我不想要代码,我想要更多的程序!你能提供更多关于你想要dea的图片的细节吗