【问题标题】:EMGUCV facial recognition issue in VB.NETVB.NET 中的 EMGUCV 面部识别问题
【发布时间】:2018-04-12 00:44:31
【问题描述】:

我正在尝试使用 VB.NET 实现一个 Web 应用程序,该应用程序应该使用 EMGUCV 库对文件夹中的图像执行面部识别。无论如何,当我在 facerecognizer 对象上调用方法 train 时,会引发一个奇怪的异常:

'OpenCV: 0

这是我的测试代码:

Imports System.Drawing
Imports Emgu.CV
Imports Emgu.CV.Face
Imports Emgu.CV.Structure
Imports Emgu.CV.Util

Public Class _Default
Inherits Page

Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load

End Sub

Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

    Dim images As New Mat

    Dim Palb0 = "c://IMGDB//Alberto//0.jpg"
    Dim Palb1 = "c://IMGDB//Alberto//1.jpg"
    Dim Pcon0 = "c://IMGCONFRONTO//0.jpg"

    images.PushBack(CvInvoke.Imread(Palb0, CvEnum.LoadImageType.Grayscale))

    images.PushBack(CvInvoke.Imread(Palb1, CvEnum.LoadImageType.Grayscale))

    Dim model = New EigenFaceRecognizer(80, Double.PositiveInfinity)

    Dim labels As New VectorOfInt

    Dim a(0) As Integer
    a(0) = 0

    labels.Push(a)

    model.Train(images, labels)

    Dim imgConf As Mat

    imgConf = CvInvoke.Imread(Pcon0, CvEnum.LoadImageType.Grayscale)

    model.Predict(imgConf)

    Dim PR As FaceRecognizer.PredictionResult

    Dim dst = PR.Distance
    Dim lbl = PR.Label

    MsgBox(dst)


End Sub

End Class

我几乎尝试了所有方法,但无法解决。任何帮助将不胜感激。

【问题讨论】:

  • 引发了一个奇怪的异常,那是什么异常? NullReferenceException?
  • 它只是说 uhandled excepion: 'OpenCV: 0

标签: vb.net emgucv face-recognition


【解决方案1】:

我自己设法找到了解决方案。 这个问题真的和我用于构造函数的对象类型一样简单。它应该是 VectorOfMat 而不是 Mat。该类无法工作,因为它需要一个数组。

Dim images As New VectorOfMat

另一个问题在于构造函数本身。应该是:

Dim model As New EigenFaceRecognizer(80, Double.PositiveInfinity)

还有一条建议:如果 train 方法没有接收到至少包含两个图像的 mat 数组,它将引发另一个异常。图像应该具有相同的大小,否则(奇怪的)对象会再抛出一个异常。

最后预测结果的正确代码是:

    Dim PR As FaceRecognizer.PredictionResult = model.Predict(imgConf)

你得到特征脸预测距离:

    Dim dis = PR.Distance

希望这可以让某人摆脱困境。

Ceers。

【讨论】:

    猜你喜欢
    • 2011-10-13
    • 1970-01-01
    • 2011-02-20
    • 2023-04-06
    • 2022-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-29
    相关资源
    最近更新 更多