Tag: emgucv

如何使用opencv均衡图像的对比度和亮度?

我有一张我扫描过的图像,但白纸在屏幕上不是白色的。 有没有办法平衡合同/亮度,使背景更白? 更新 我尝试过EmguCv中建议的Image._EqualizeHist函数: string file = @”IMG_20120512_055533.jpg”; Image originalColour = new Image(file); Image improved = originalColour.Clone(); improved._EqualizeHist(); 但是得到更糟糕的结果(同样在第一次灰度缩放时): 我错过了其他参数吗?

输入初始化exception

我创建了imageHolder类: public class ImageHolder : Image { private String imagePath; public ImageHolder(String path):base(path) { this.imagePath = path; } public String imgPathProperty { get { return imagePath; } set { imagePath = value; } } } 我创建类的实例并初始化它,如下所示: private ImageHolder originalImageHolder; originalImageHolder = new ImageHolder(openFileDialog.FileName); 在运行时我得到这个例外: ‘Emgu.CV.CvInvoke’的类型初始值设定项引发了exception。 这是Solution Explorer窗口: 任何想法为什么我得到这个例外,我该如何解决它? 先感谢您。

如何获取和设置EmguCV Mat图像的像素值?

我正在使用EmguCV 3.0.0包装器来访问OpenCV 3.0库。 我在几个地方使用Mat类。 以下是单个通道的示例,8×8图像由double值组成: Mat image = new Mat(8, 8, DepthType.Cv64F, 1); Image类提供了获取和设置像素值的合理方法 ,并且该方法对于Matrix类是相同的,但对于Mat类来说它似乎并不明显。 我弄清楚如何设置单个像素的唯一方法是使用掩码: // set two pixel values, (0,0) to 9.0, (2, 3) to 42.0 Matrix mask = new Matrix(8,8); mask.Data[0, 0] = 1; image.SetTo(new MCvScalar(9.0), mask); mask = new Matrix(8,8); mask.Data[2, 3] = 1; image.SetTo(new MCvScalar(42.0), mask); 这感觉它应该是两行,而不是六行,所以我觉得我错过了一些东西。 当Mat不止一个通道时,事情变得更加复杂,因为Matrix只是2D,因此必须使用掩码来设置每个通道上的像素。 我无法承受以这种方式设置像素的时间或内存。 如何通过单个方法调用设置像素?

在IIS上发布时出现EmguCVexception

如果我在本地IIS上调试或运行它,我的ASP.NET应用程序工作正常。 但是如果我将它发布到IIS上,看起来EmguCV就会失去它所需要的dll。 我的VS项目的bin文件夹和IIS上的bin文件夹是相同的。 发生以下exception:’Emgu.CV.CvInvoke’的类型初始值设定项引发exception。 StackTrace:位于Emgu.CV.Image的Emgu.CV.CvInvoke.cvCreateImageHeader(大小,IPL_DEPTH深度,Int32通道) 2.AllocateData(Int32 rows, Int32 cols, Int32 numberOfChannels) at Emgu.CV.Image 2.set_Bitmap(位图)来自CustomerserviceWizard.ImageHelper.DecodeUrl(LuminanceSource source,Bitmap bitmap,List`1方法)in:line 213 任何帮助表示赞赏。

‘Emgu.CV.CvInvoke’的类型初始值设定项引发了exception

我收到了这个错误 ‘Emgu.CV.CvInvoke’的类型初始值设定项引发了exception。 当我尝试使用Emgu CV时。 我已经尝试了所有我能想到的东西来解决这个问题,但它仍然会给出相同的错误,当我点击一个按钮时它会显示 你调用的对象是空的。 这是我正在尝试的代码: void ProcessFunction(object sender, EventArgs e) { imgOrg = capturecam.QueryFrame(); if (imgOrg == null) return; imgProc = imgOrg.InRange(new Bgr(50, 50, 50), new Bgr(255, 255, 255)); imgProc = imgProc.SmoothGaussian(9); imageBox1.Image = imgOrg; imageBox2.Image = imgProc; } 我可能做错了什么,如何进一步调试? 谢谢!

EmguCV TypeInitializationException

我真的是EgmuCV的新手 我尝试使用以下代码从网络摄像头捕获图像: //Program.cs (Winform) using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using Emgu.CV; using Emgu.CV.UI; using Emgu.Util; using Emgu.CV.Structure; namespace EgmuCVTest { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Capture cp = new Capture(); […]