Image processing 消除另一个blob中的blob
我目前正在使用C#和AForge.NET开发一个字符识别程序,现在我正在努力处理斑点 这就是我创建blob的方式:Image processing 消除另一个blob中的blob,image-processing,character,ocr,aforge,blobs,Image Processing,Character,Ocr,Aforge,Blobs,我目前正在使用C#和AForge.NET开发一个字符识别程序,现在我正在努力处理斑点 这就是我创建blob的方式: BlobCounter bcb = new BlobCounter(); bcb.FilterBlobs = true; bcb.MinHeight = 30; bcb.MinWidth = 5; bcb.ObjectsOrder = ObjectsOrder.XY;
BlobCounter bcb = new BlobCounter();
bcb.FilterBlobs = true;
bcb.MinHeight = 30;
bcb.MinWidth = 5;
bcb.ObjectsOrder = ObjectsOrder.XY;
bcb.ProcessImage(image);
我还用矩形标记了它们:
Rectangle[] rects;
rects = bcb.GetObjectsRectangles();
Pen pen = new Pen(Color.Red, 1);
Graphics g = Graphics.FromImage(image);
foreach (Rectangle rect in rects)
{
g.DrawRectangle(pen, rect);
}
执行后,我的参考图像如下所示:
如您所见,几乎所有字符都可以识别。不幸的是,有些字符在blob中包含blob,例如“g”、“o”或“d”
我想消除另一个blob中的blob
我试图调整矩形的绘制以实现我的目标:
foreach (Rectangle rect in rects)
{
for (int i = 0; i < (rects.Length - 1); i++)
{
if (rects[i].Contains(rects[i + 1]))
rects[i] = Rectangle.Union(rects[i], rects[i + 1]);
}
g.DrawRectangle(pen, rect);
}
foreach(矩形中的矩形)
{
对于(int i=0;i<(rects.Length-1);i++)
{
if(rects[i].包含(rects[i+1]))
rects[i]=Rectangle.Union(rects[i],rects[i+1]);
}
g、 DrawRectangle(笔、矩形);
}
……但它一点也不成功
也许你们中的一些人可以帮助我?你们可以通过检查矩形的角索引来检测矩形中的矩形, 我有一个MATLAB代码,我为类似的问题编写了: 下面是代码片段:
function varargout=isBoxMerg(参考框、测试框、isNewBox)
X=ReferenceBox;Y=测试盒代码>
X1=X(1);Y1=X(2);W1=X(3);H1=X(4)代码>
X2=Y(1);Y2=Y(2);W2=Y(3);H2=Y(4)代码>
if((X1+W1)>=X2&&(Y2+H2)>=Y1&&(Y1+H1)>=Y2&&(X1+W1)>=X2&(X2+W2)>=X1)
Intersection=true代码>
else
`Intersection = false;`
end
- 其中X和Y是边界矩形的左上角索引;W和H分别为宽度和高度李>
在上面的if Intersection变量变为true时,表示框具有交集。您可以使用此代码进行进一步的自定义
谢谢您可以通过检查矩形的角点索引来检测矩形中的矩形,
我有一个MATLAB代码,我为类似的问题编写了:
下面是代码片段:
function varargout=isBoxMerg(参考框、测试框、isNewBox)
X=ReferenceBox;Y=测试盒代码>
X1=X(1);Y1=X(2);W1=X(3);H1=X(4)代码>
X2=Y(1);Y2=Y(2);W2=Y(3);H2=Y(4)代码>
if((X1+W1)>=X2&&(Y2+H2)>=Y1&&(Y1+H1)>=Y2&&(X1+W1)>=X2&(X2+W2)>=X1)
Intersection=true代码>
else
`Intersection = false;`
end
- 其中X和Y是边界矩形的左上角索引;W和H分别为宽度和高度李>
在上面的if Intersection变量变为true时,表示框具有交集。您可以使用此代码进行进一步的自定义
谢谢形态填充怎么样?形态填充怎么样?效果很好!谢谢你工作得很好!非常感谢。