【发布时间】:2021-02-23 06:51:29
【问题描述】:
如何在图片中找到图片?
现在我正在使用 EmguCV,并根据本教程编写了以下代码: https://www.emgu.com/wiki/index.php/Shape_(Triangle,_Rectangle,_Circle,_Line)_Detection_in_CSharp
using (UMat gray = new UMat())
using (UMat cannyEdges = new UMat())
{
CvInvoke.CvtColor(img, gray, ColorConversion.Bgr2Gray);
CvInvoke.GaussianBlur(gray, gray, new Size(3, 3), 2);
CvInvoke.Canny(gray, cannyEdges, 0, 10, 3);
LineSegment2D[] lines = CvInvoke.HoughLinesP(
cannyEdges,
1, //Distance resolution in pixel-related units
Math.PI / 2, //Angle resolution measured in radians.
0, //threshold
40, //min Line width
1); //gap between lines
foreach (LineSegment2D line in lines)
{
CvInvoke.Line(img, line.P1, line.P2, new Bgr(Color.Red).MCvScalar, 1);
}
}
这是迄今为止我最好的结果,但它并不完美,因为我仍然需要一些边缘才能在图像周围创建所有边界框。
我想要的是找到图像中每个图像的所有边缘,这样我就可以像这样制作完美的边界框。
我是 EmguCV/OpenCV 的新手,但我仍然认为我最好的选择是使用这个库来解决这个问题。 我只需要找到正确的工具并正确使用它们,这就是我希望这里有人可以帮助我:)
【问题讨论】: