一个关于c# emgucv 内存的问题

请教大家一个问题:emgucv在被调用的时候,发现程序非托管内存增加了大约50M,主要是cvextern.dll这个库。这50M内存是不可避免的吗?有解决办法吗?

2个回答

是不可避免得,图片相似度分析必须要用到的。

好吧,谢谢,最近在看.net的性能和内存优化方面

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
c# 关于内存的问题
定义了两个数组 rnstatic float*[] ptrA =new float*[500000];rn static float[] D = new float[500000];//系数值rn其中 ptrA中存的是D的地址,rnrn请问 d的地址能变化吗?rnrn分配时用rn fixed (float* blacktemp = &D[0])rn rn ptrA[innumindex[m] + rowindex] = blacktemp;rn rnrn我调试的时候发现 blacktemp 中的地址值 和 &D 是不一样的
关于c#内存的问题
c#程序在运行的时候 占用的内存分为代码区 静态区 动态区 等等 有关这方面的知识 有哪位知道 帮忙介绍一下 谢谢 或者 有好的资料也行
C# EMguCV视频监测
C#版OpenCV--EMguCV,实现视频监测实例,基本代码,完美注释
C# Emgucv PCA
This article is designed to be the first in several to explain the use of the EMGU image processing wrapper. For more information on the EMGU wrapper please visit the EMGU website . If you are new to this wrapper see the Creating Your First EMGU Image Processing Project article. You may start with 3 warnings for the references not being found. Expand the References folder within the solution explorer delete the 3 with yellow warning icons and Add fresh references to them located within the Lib folder. If you have used this wrapper before please feel free to browse other examples on the EMGU Code Reference page Face Recognition has always been a popular subject for image processing and this article builds upon the work by Sergio Andrés Gutiérrez Rojas and his original article here[^]. The reason that face recognition is so popular is not only it’s real world application but also the common use of principal component analysis (PCA). PCA is an ideal method for recognizing statistical patterns in data. The popularity of face recognition is the fact a user can apply a method easily and see if it is working without needing to know to much about how the process is working. This article will look into PCA analysis and its application in more detail while discussing the use of parallel processing and the future of it in image analysis. The source code makes some key improvements over the original source both in usability and the way it trains and the use of parallel architecture for multiple face recognition.
C# emgucv人脸识别(最新)
此文章试用于移动的人脸识别,能够选中人脸,眼睛。用的是emgu3.0,如果运行错误的情况下,里面有两点需要修改,Emgu里面X86X64,需要复制到DeBug目录下,Xml文件属性,复制到输出目录更改为-》如果较新则复制。就可以运行了。如有其他问题,请留言,一起探讨。
c# EmguCv定位二维码
c# EmguCv定位二维码 Emgu 和opencv一样,用opencv写的程序当然也可以“翻译”为Emgu版,这里展示一个demo,使用Emgu定位图片中的二维码。 1.载入图像System.Drawing.Image img = System.Drawing.Image.FromFile("E:\\code.jpg"); Bitmap barcodeBitmap = new Bitmap(
C# EMguCV交通标志识别
C#版OpenCV--EMguCV,实现交通标志识别实例,基本代码,完美注释
c# emgucv canny 边缘检测
打开图片 保存图片 自己设置阈值 可运行,c# emgucv canny 边缘检测 ,vs2010.需要自己配置好emgu。版本为2.4.9
C# EmguCV 数据类型转换
简单的介绍C# 版本OpenCV--EMguCV中各种数据类型的转换
C#—EMguCV Marshal
将数据从托管对象封送到非托管内存块,属于.NET Framework 类库
C# EmguCV应用
详细介绍了C#用来实现相关的图像处理,视觉方面的功能,从数据结构 到后来的高级篇,逐层递进,深入浅出
一个关于内存的问题
本人所在公司应用Foxpro2.5在Dos编写的一个支票打印程序,其中调用了ucdos 的打印驱动程序。可是当我将这个程序拷贝到一个P166,32M Memory的机器上运行时,每次到打印的时候就提示内存不足,发现在Dos下只能用640K的内存空间。在config.sys 中我以加入了下面的行:rn device=c:\windows\himem.sysrn device=c:\windows\emm386.exern请问各位高手,有没有什么办法利用剩下的将近31M的内存?谢谢。rn
一个关于内存的问题?
在我的win2000使用了一段时间后,老是出现一个提示小窗口,说虚拟内存太底,需要打开页面设置。而且别的东西都打不开,不知道是怎么会事,怎么解决
一个关于内存的问题!
我想问一下,用VB怎么抓取内存中的东西呢?rn说具体点,例如;某个*。MPG文件或者*。MP3文件在被播放,我想从内存里面把它找出来,复制到剪贴板上面去,可以吗?或者说从内存中取出来另存为另外一个文件,怎么实现,或许有更好的实现办法,请赐教,静侯佳音,谢谢!希望写详细点,最好加上例子,谢谢!rn
一个 关于内存的问题
void GetMemory(char *p)rnrnp = (char *)malloc(100);rnrnvoid Test(void) rnrnchar *str = NULL;rnGetMemory(str); rnstrcpy(str, "hello world");rnprintf(str);rnrnrn请问运行Test函数会有什么样的结果?rnrnrn rn
C#中使用EmguCV的一个小问题
我在2008下用c#写的一个控制台程序如下rnString win = "Test Window";rnCvInvoke.cvNamedWindow(win);rnIntptr ptr = CvInvoke.cvLoadImage("图像文件名", Emgu.CV.CvEnum.LOAD_IMAGE_TYPE.CV_LOAD_IMAGE_ANYCOLOR);rnCvInvoke.cvShowImage(win, ptr);rnCvInvoke.cvWaitKey(0);rnCvInvoke.cvDestroyWindow();rnrn编译没有错误,但是进入调试时会出现rnEmgu.CV.CvInvoke的类型初始值设定项引发异常rn但是我在2005下却没有一点问题,请达人指点,不甚感激rn如果没有相关的dll,可以在这里下载到http://www.emgu.com/wiki/index.php/Download_And_Installation rn
【EmguCV】EmguCV各种调用
后续将不定期补充在使用EmguCV过程中的一些笔记,如何调用api实现相应功能。1、查找对应的轮廓IntPtr Dyncontour = new IntPtr();//存放检测到的图像块的首地址 IntPtr Dynstorage = CvInvoke.cvCreateMemStorage(0);//开辟内存区域 int m = 88; int n = CvInvoke.cvFindCont
C#借助EmguCV控制摄像头
C#借助EmguCV控制笔记本自带的摄像头,实现对摄像头的开关,截图并保存等操作。WIN7对.net4.0的兼容性最好,因此Demo使用VS2010和EmguCV3.0编写。
C# EmguCV多人人脸是
C# EmguCV 能够实时人脸检测和识别。此应用使用了EigenFace,PCB算法提高识别准确率。
c#操作emgucv 鼠标画矩形
各路大神求解答:rn[code=C#]rn//....................//....................................rn Image img=null; rn //rn private bool mouseStatus = false;//鼠标状态,false为松开 rn private Point startPoint;//鼠标按下的点rn private Point endPoint;//rn private Rectangle currRect;//当前正在绘制的举行rn private int minStartX, minStartY, maxEndX, maxEndY;//rnrn private void pictureBox1_MouseDown(object sender, MouseEventArgs e)rn rn if (img != null)rn rn mouseStatus = true;rn startPoint.X = e.X;rn startPoint.Y = e.Y;rn //重新一个矩形,重置最大重绘矩形的上下左右的坐标rn minStartX = e.X;rn minStartY = e.Y;rn maxEndX = e.X;rn maxEndY = e.Y;rn rn rnrn private void pictureBox1_MouseMove(object sender, MouseEventArgs e)rn rn if ( mouseStatus)rn rn endPoint.X = e.X; rn endPoint.Y = e.Y;rn //这一段是获取要绘制矩形的上下左右的坐标,如果不这样处理的话,只有从左上开始往右下角才能画出矩形。rn //这样处理的话,可以任意方向,当然中途可以更换方向。rn int realStartX = Math.Min(startPoint.X, endPoint.X);rn int realStartY = Math.Min(startPoint.Y, endPoint.Y);rn int realEndX = Math.Max(startPoint.X, endPoint.X);rn int realEndY = Math.Max(startPoint.Y, endPoint.Y);rnrn minStartX = Math.Min(minStartX, realStartX);rn minStartY = Math.Min(minStartY, realStartY);rn maxEndX = Math.Max(maxEndX, realEndX);rn maxEndY = Math.Max(maxEndY, realEndY);rn currRect = new Rectangle(realStartX, realStartY, realEndX - realStartX, realEndY - realStartY);rn img.Draw(currRect, new Bgr(Color.Red), 1);rn pictureBox1.Image = img.Bitmap;rn rn rnrn private void pictureBox1_MouseUp(object sender, MouseEventArgs e)rn rn mouseStatus = false;rn endPoint.X = e.X; rn endPoint.Y = e.Y; rn rn rn[/code]rnrn以上是鼠标操作的代码。rn运行后,画矩形时生成了很多重绘的矩形,有什么方法把他们去除掉吗?rn这个以前是用c++作的,那会可以用透明画刷把它重绘掉,到c#里还真不知道怎么搞了。大家有什么号办法不?
C# EmguCV图像处理截取矩形区域
Rectangle rectangle = new Rectangle(10,20,30,40);Image<Gray, byte> Sub = Image.GetSubRect(rectangle); Image<Gray, byte> CropImage = new Image<Gray, byte>(Sub.Size); CvInvoke.cvCopy(S...
C#图像处理例子(使用EMGUCV)
使用额使用VS2008 C# winform框架,采用emgucv(opencv for .net),开发的一个图像处理软件,由本人研究生课程的一个图像处理课程设计改编。包括图像处理基本算法。图像增强、图像分割等内容。注意编译前需要配置emgucv.
【C#】基于Opencv/Emgucv的身份证识别
身份证识别一、tesseract-ocr简介OCR(Optical Character Recognition):光学字符识别,是指对图片文件中的文字进行分析识别,获取的过程。 Tesseract的OCR引擎最先由HP实验室于1985年开始研发,至1995年时已经成为OCR业内最准确的三款识别引擎之一。然而,HP不久便决定放弃OCR业务,Tesseract也从此尘封。 数年以后,HP意识到,与其
Emgucv(opencv)+C#例程集锦
C#是.net平台上的明星语言,可以很容易做出漂亮的界面。EmguCV是将opencv封装的一个.net库可以被VC++,VC#,VB.net调用。网上对于EmguCV的介绍很少,本人整理了一些资料Emgu和C#相结合的一些例子,对大家的学习一定会有帮助
C#视频捕获(Opencv/Emgucv/Aforge)
本文主要详细介绍了使用C# 连接摄像头来进行视频捕获,内容包括opencvhe emgucv的性能比较等
C#与opencv(emgucv)结合例程
实现opencv在C#语言中的开发,以工业摄像头Discovery MH15为例,解决了图片格式转换的问题。
C# 关于内存污染的
下面是代码:rnBitmapData edgedata = edgeBitmap.LockBits(new Rectangle(0, 0, edgeBitmap.Width, edgeBitmap.Height),rn ImageLockMode.ReadWrite, PixelFormat.Format8bppIndexed);rnrn int stride = edgedata.Stride;rn byte* address = (byte*)edgedata.Scan0.ToPointer();rn rn for (int i = 0; i < 40; i++)rn rn testpoint = ImageProcess.ScaleAnalysis.FindPoints(address, stride, new Size(edgeBitmap.Width, edgeBitmap.Height)); //rn resultpoint = randHough(testpoint);rn rn edgeBitmap.UnlockBits(edgedata);rnrn不知为什么,在第二次循环的时候,内存区的数据就被污染了,不知怎么回事?请高手指教
关于C#的内存~
原来是做C++开发的,现在做C#碰到个内存问题:rnrn比如游戏一个关卡分若干场景的,rn由第一个场景到第二个场景的时候,比如游戏流程不会由第二个场景回到第一个场景(游戏可以这么设计,比如第一个场景是一个桥头,到第二个场景的时候,桥发生了坍塌,那么逻辑上玩家就不能回到第一个场景,我们就可以释放第一个场景的内存),那么在从第一个场景到第二个场景的时候就可以释放第一个场景的内存,加载第二个场景的资源到内存。rnrn而在第二个场景到第三个场景的时候,第三个场景是可以回到第二个场景的,这个时候我们不能释放第二个场景的内存,同时还需要加载第三个场景的资源到内存。rnrn所以在上面举的例子中,如果是C++,那么我可以控制何时需要加载内存,何时需要分配内存。rnrn也就是说C++的内存管理比较灵活,我完全可以自己去管理。到了C#,我可以这么做吗?rnrn如果完全不去理会内存释放。那么比如第一个场景内存加载后,再加载第二个第三个场景的话内存不够,C#会那么智能的去释放第一个场景的内存,而不是第二个??
一个关于内存怪怪的问题
我有一个上万次的循环,循环中作了一些简单的操作,比如一条条读取xml文件中的节点记录和简单的字符串操作,我保证中间没有内存泄漏(因为我检查了无数遍了),可是我发现这个应用程序在执行时随着循环次数的增加,内存慢慢的变大,而我最小化该应用程序时,其内存占用情况又变成最初的差不多大小,请问这是什么问题?是不是操作系统来不及自动释放内存?我用F8单步执行,内存好像不会长,怪!rn有什么办法可以解决?应用程序最小化时做了些什么?
关于一个内存读取的问题
[code=C/C++]rnint factorial(int n)rnrn int res=1;rn while(n>=2) res=res*(n--);rn return res;rnrnvoid fullArray(int *a,int n,int **s,int *b)rnrn int total=0,sum=0;//传入的数组本身是一种排列rn for(int t=0;t>n;rn int *p=new int[n],*q=new int[n],**s=new int *[n];rn for(int i=0;i>s[i][j];rn rn rn fullArray(p,n,s,q);rn delete []p;rn for(int m=0;m
急!一个关于内存的问题
请问我想用VB读008BD6A9这个内存地址内的明码内容,请问用VB应该怎么写代码,请各位大家给小弟一个例子好吗?
关于内存的一个傻问题。
我的机器256的SDRAM的HY内存,现加一个128也是HY的SDRAM内存,但是启动以后就有问题了。检测过去,到了win2000的“>>>>>>>>>>>>>>>”出现一半的时候突然闪出:*.*文件不能加载(太快,看不清楚是什么文件。)。单独用128的或256的内存启动都正常,请问这是什么问题,是不是BIOS里面要改动设置?如果改动的话,如何改动?rn 谢谢先……
一个关于强制转换内存的问题
比如说int a;rnunsigned int a=20;rn那a的内存变化会怎么样rnwhile(a--)rn为什么会死循环啊
一个关于内存奇怪的问题
我的一个程序为何总是不能够自动释放内存,要把程序的窗口最小化的时候,内存才能够释放掉,请问这是什么原因?
一个关于内存dc问题
大家好,一般在图像显示时候用到双缓冲方法根据已知的dc创建个内存dc,例如rnHDC MemDC; // memory DC for screen rnHBITMAP Membitmap; // bitmap handle to old DC rnHDC curHdc = GetDC(hWnd);rnMemDC = CreateCompatibleDC(curHdc); rnMembitmap = CreateCompatibleBitmap(curHdc, w, h);rnHBITMAP pOldBitmap = (HBITMAP)SelectObject(MemDC, Membitmap);rnrn现在我没有已知的dc,想直接创建个内存dc和位图,然后写出来,不要求内存位图显示出来。请问怎么做呢?
请教一个关于内存的问题?
我的联想计算机内存为128M(SDRAM,PC-133),我购买了一条128M(8片)的现代内存条装上后,有频繁的死机现象(注:装128M(4片)的现代内存条,系统只是别64M),请教各位仁兄有和解决良策。
一个关于内存空间分配的问题
程序如下:rnrn#include rnrnclass Arnrnprivate:rn int a1;rn double a2; //float a2;rnpublic:rn A(int x1=0, float x2=0): a1(x1), a2(x2)rn rn ~A(void)rn rn;rnrnclass B: public Arnrnprivate:rn int b1;rn double b2; //float b2;rnpublic:rn B(int x1=0, float x2=0, int y1=0, float y2=0):rn A(x1,x2),b1(y1),b2(y2)rn rn ~B(void)rn rn;rnrnvoid main(void)rnrn B MyB;rn cout << "size of B= " << sizeof(B) << endl;rnrnrn当a2、b2为float时,size of B = 16,这个没问题。rn当a2、b2为double时,size of B = 32,为什么不是8(double)×2+4(int)×2 = 24?rn
问一个关于内存的问题
原谅一下,我是新手~rnrn我想问一下:rn 我用TC写一个读BMP图片的程序。rn rn 图片有9M,直接读取然后显示,这些没问题。rnrn 现在的问题是:我读出的数据要放在内存中,XP下还需要加载XMS或EMS吗?rnrn
关于一个洗刷内存的问题
先运行一下下面的程序:rn#includern#include rnint *func()rnrn int a=3;rn int *p;rn p=&a;rn return p;rnrnvoid main()rn rn int *q;rn int * r;rn q=func();rn r=q;rn int i;rn cout<<*q<
请教一个关于内存的问题
在Java中,变量放在栈中,new()放在堆中,那方法放在哪里,类调用方法时在内存中是怎样实现的呢?
相关热词 c# 标准差 计算 c#siki第五季 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池