【问题标题】:How can I programmatically target the application of a logo in an image如何以编程方式定位图像中徽标的应用
【发布时间】:2016-07-20 18:56:48
【问题描述】:

我想定位到在现有图像上放置徽标的位置。所以我有很多不同的衬衫图片。我想获取用户提供的徽标并在衬衫上找到放置徽标的位置。

我已经很好地合成了徽标。但我发现并非每张衬衫照片都是相同或成比例的。所以使用设置坐标并不总是有效。

我摆弄着边缘检测。所以,好吧,现在我的图像是黑色的,衬衫周围有一个白色的边框……我不知道接下来在哪里进行边缘检测以及如何绘制目标区域。或者这是否只是错误的方法。

我正在使用 C#。但我可能可以从任何其他语言的建议中转换过来。

【问题讨论】:

  • 根据边缘检测的干净程度,您可以通过查找白色像素的最低和最高 x 和 y 坐标来计算衬衫周围的边界框。这可以帮助您将徽标居中。

标签: c# image detection


【解决方案1】:

我只是继续并跳过了我正在做的过于详细的边缘检测,并使用 AForge 的 .Net 库来检测衬衫的角,然后获取这些角的绑定矩形。然后我将从那里开始使用标准偏移量。这应该能把我带到我需要去的地方。希望。

        AForge.Imaging.SusanCornersDetector scd = new AForge.Imaging.SusanCornersDetector();
        List<AForge.IntPoint> corners = scd.ProcessImage(FilterMap);
        AForge.IntPoint XYMin, XYMax;
        AForge.Math.Geometry.PointsCloud.GetBoundingRectangle(corners, out XYMin, out XYMax);

        Console.WriteLine("min X: " + XYMin.X.ToString() + " Y: " + XYMin.Y.ToString());
        Console.WriteLine("max X: " + XYMax.X.ToString() + " Y: " + XYMax.Y.ToString());

【讨论】:

    猜你喜欢
    • 2019-09-07
    • 1970-01-01
    • 2018-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-05
    • 1970-01-01
    • 2015-01-04
    相关资源
    最近更新 更多