Tag: emgucv

Emgu CV无法在已部署的项目中加载DLL“cvextern”

我在我的ASP.NET项目中使用EmguCV进行面部检测。 当我从Visual Studio运行项目时,一切正常。 然后我通过Folder profile发布了发布版本,然后将这个发布的版本上传到smarterasp.net。 申请工作一般。 但是当应用程序尝试检测图像中的面时,会抛出exception: System.AggregateException: One or more errors occurred. —> System.TypeInitializationException: The type initializer for ‘Emgu.CV.CvInvoke’ threw an exception. —> System.DllNotFoundException: Unable to load DLL ‘cvextern’: The specified module could not be found. (Exception from HRESULT: 0x8007007E) at Emgu.CV.CvInvoke.RedirectError(CvErrorCallback errorHandler, IntPtr userdata, IntPtr prevUserdata) at Emgu.CV.CvInvoke..cctor() — End of inner exception […]

骰子面值识别

我正在尝试构建一个能识别两个6面骰子值的简单应用程序。 我正在寻找一些通用指针,甚至可能是一个开源项目。 两个骰子将分别为黑色和白色,分别为白色和黑色。 它们与相机的距离将始终相同,但它们在比赛场地上的位置和方向将是随机的。 骰子http://sofzh.miximages.com/c%23/www.freeimagehosting.net (不是最好的例子,表面将是更鲜明的颜色,阴影将消失) 我没有开发这种识别软件的经验,但我认为诀窍是首先通过搜索具有主导白色或黑色的方形轮廓来隔离脸部(图像的其余部分,即桌子/游戏)表面,将以明显不同的颜色),然后隔离点数计数。 自顶向下照明将消除阴影。 我希望所描述的场景如此简单(阅读:常见)它甚至可以用作开发OCR技术或类似计算机视觉挑战的开发人员的“介绍性练习”。 更新: 我做了一些进一步的谷歌搜索,并发现了这个video ,奇怪的是,这正是我正在寻找的。 看来OpenCV项目到目前为止是我最好的选择,我会尝试将它与其他项目,OpenCVDotNet或Emgu CV一起使用 。 更新: 仍在苦苦挣扎,无法让Emgu CV工作。 想法,指针,想法等仍然非常受欢迎!

检测卡车车轮

我目前正在开展一个项目,我们有一组卡车照相机。 我需要检测它是什么类型的卡车(它有多少个轮子)。 所以我正在使用EMGU试图检测到这一点。 我遇到的问题是我似乎无法使用EMGU的HoughCircle检测来检测车轮,它没有检测到所有车轮,也会检测到树叶中的随机圆圈。 所以我不知道接下来应该尝试什么,我尝试实现SURF算法来匹配它们之间的轮子,但这似乎不起作用,因为它们不完全相同,有没有办法我可以实现“松散” SURF算法? 这就是我的开始。 这是Hough Circle检测后得到的结果。 许多错误的检测,有些甚至没有接近圆形,并且由于某种原因后轮被检测为单个。 是否有可能确认检测到的圆圈实际上是使用SURF轮子并在它们之间进行匹配? 我对我接下来要做的事情有点迷茫,任何帮助都会非常感激。 (对不起英语不好) UPDATE 这就是我做的。 我使用blob跟踪能够在我的照片集中找到斑点。 有了这个我有效地可以找到移动卡车。 然后我将blob的矩形分成两部分并从那里取下半部分我知道我得到了应该包含轮子的区域,这大大增加了检测。 然后我会对我得到的轮子进行轻度强度松动检查。 由于它们通常更黑,我应该得到相当低的值,并且可以丢弃太白,180/255及以上的任何东西。 我也知道我的圆半径不能大于检测区的一半除以一半。

在C#中使用Emgu.CV的System.TypeInitializationException

此时我有一个function,需要从我的相机界面调用图像。 然后,此映像将保存到硬盘驱动器,并显示在Windows窗体GUI中。 返回图像的摄像机界面内的function如下:高度和宽度都是整数,它们是摄像机接口类的一部分。 在这种情况下,它们被设置为800×600。 public Image QueryFrame() { Image temp; lock (key) { using (Capture cap = new Capture()) { cap.SetCaptureProperty(Emgu.CV.CvEnum.CAP_PROP.CV_CAP_PROP_FRAME_HEIGHT, height); cap.SetCaptureProperty(Emgu.CV.CvEnum.CAP_PROP.CV_CAP_PROP_FRAME_WIDTH, width); temp = cap.QueryFrame().Copy(); } } return temp; } 多次调用该函数首先显示捕获帧需要相当长的时间,将程序锁定不使用几秒钟。 然后,在使用Visual C#2010在Debug中运行程序时捕获几帧后,弹出了vshost.exe的Windows错误: Faulting application DashboardGUI.vshost.exe, version 10.0.30319.1, time stamp 0x4ba2084b, faulting module MSVCR90.dll, version 9.0.30729.6161, time stamp 0x4dace5b9, exception code 0xc0000005, fault […]

EmguCV – 面部识别 – 使用Microsoft Access数据库中的训练集时,“对象引用未设置”exception

我一直在使用EmguCV(C#)开发人脸识别应用程序。 如果我将脸部图像(训练集)存储在简单的Windows文件夹中,我就可以完成所有工作。 但是,在我尝试迁移面部图像以存储在Microsoft Access数据库中之后,当应用程序尝试时,经常会发生“未设置为对象实例的对象引用”exception消息(并非总是如此,但大部分时间)从videoFeed中识别脸部。 有趣的是,如果不发生exception,识别实际上仍然可以正常工作。 这是我的程序代码的片段,使用Windows文件夹和数据库: 从Windows文件夹中读取存储的图像 private void FaceRecognition_Load(object sender, EventArgs e) { //if capture is not created, create it now if (capture == null) { try { capture = new Capture(); } catch (NullReferenceException excpt) { MessageBox.Show(excpt.Message); } } if (capture != null) { if (captureInProgress) { Application.Idle -= ProcessFrame; } else { […]

使用EigenObjectRecognizer

我正在尝试使用EmguCV进行一些面部识别。 我想知道我是否可以使用EigenObjectRecognizer进行此任务? 有人可以解释我如何使用它吗? 因为如果没有不匹配的照片,它也会返回一个值。 这是一个例子: Image[] trainingImages = new Image[5]; trainingImages[0] = new Image(“brad.jpg”); trainingImages[1] = new Image(“david.jpg”); trainingImages[2] = new Image(“foof.jpg”); trainingImages[3] = new Image(“irfan.jpg”); trainingImages[4] = new Image(“joel.jpg”); String[] labels = new String[] { “Brad”, “David”, “Foof”, “Irfan” , “Joel”} MCvTermCriteria termCrit = new MCvTermCriteria(16, 0.001); EigenObjectRecognizer recognizer = new EigenObjectRecognizer( trainingImages, labels, […]

如何创建直方图

我想在使用EMGU的C#程序中创建直方图。 EMGU中包含一个名为MCvHistogram的类,但我不知道如何使用它。

无法在ac #project中加载cvextern

我正在尝试调试我的程序,在c#中使用emgu和HaarCascade。 我这样得到一个例外: 无法加载DLL’cvextern’:找不到指定的模块。 (HRESULTexception:0x8007007E) 我已将文件cvextern.dll添加到我的项目中,并尝试在文件属性上“复制始终”和“复制如果更新”选项。 此外,构建在平台x64中。 这部分是我写的: private void Load_Click(object sender, EventArgs e) { OpenFileDialog dlg = new OpenFileDialog(); dlg.Filter = “Photo Files (*.jpg)|*.JPG”; dlg.CheckFileExists = true; if (dlg.ShowDialog() == DialogResult.OK) { Image My_Image = new Image(dlg.FileName); HaarCascade face = new HaarCascade(“haarcascade_frontalface_alt.xml”); 而例外是在最后一行。

使用Kinect和Emgu CV

使用EmguCV,我们使用以下网络摄像头捕获图像: Capture cap = new Capture(0); Image nextFrame = cap.QueryFrame(); … … 但是我不知道如何从我的Kinect中捕获图像,我已经尝试过kinectCapture类,但它不适用于我。 谢谢

使用C#中的按钮调用屏幕键盘

我正在使用C#创建一个Windows应用程序,单击GUI上的按钮时,应显示屏幕键盘。 如果获得任何帮助,将不胜感激。 谢谢。 此外,由于我主要在我的应用程序的其余部分使用Emgu Cv库,我们可以简单地使用它来调用屏幕键盘吗?