请问vb.net中如何使用emgucv的remap

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问vb.net中如何使用emgucv的remap相关的知识,希望对你有一定的参考价值。

没看明白remap中的map1,map2是什么意思,这个函数应该怎么用

参考技术A 没有理解
需要贴胡来代码才行。。。。。。。。。。。。。。。。。。。

VB.NET 中的 EMGUCV 面部识别问题

【中文标题】VB.NET 中的 EMGUCV 面部识别问题【英文标题】:EMGUCV facial recognition issue in VB.NET 【发布时间】: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 【参考方案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。

【讨论】:

以上是关于请问vb.net中如何使用emgucv的remap的主要内容,如果未能解决你的问题,请参考以下文章

VB.NET 的 EmguCV 兼容版本

VB.NET + EmguCV实现PCA降维

VB.net中,请问如何将二维数组的数值显示在listview控件中?

需要帮助将 c# 中的 opencv 转换为 vb.net

请问ae中的time remap怎么用,怎么调节就能变速呢?谢了,我看你挺厉害的,慕名而来,嘿嘿

VB.NET程序界面假死如何解决