在c#中转换图像

在c#中转换图像,第1张

概述编辑:已解决!有关详细信息,请参阅下面的答案. 我无法找到原始问题的答案,但我找到了另一种解决方案 这个问题可能会在其他地方被问到,但我一直在寻找几天,找不到任何有用的东西. 问题:我需要一次性将“Stream”转换为“image(bgr,byte)”,是否有一种方法/命令可以直接从System.Drawing.Image.FromStream转换为Emgu.CV.Image(Bgr,Byte)没 编辑:已解决!有关详细信息,请参阅下面的答案.
我无法找到原始问题的答案,但我找到了另一种解决方案

这个问题可能会在其他地方被问到,但我一直在寻找几天,找不到任何有用的东西.

问题:我需要一次性将“Stream”转换为“image(bgr,byte)”,是否有一种方法/命令可以直接从System.Drawing.Image.FromStream转换为Emgu.CV.Image(Bgr,Byte)没有从流到图像转换到位图到图像(bgr,字节)?

信息:我在Visual Studio 2010中使用c#进行编码,这是我的论文项目的一部分.
我正在从网络上的IP摄像机拍摄图像流,并应用许多算法来检测面部/提取面部特征并识别个人面部.在我的笔记本电脑本地相机上我可以实现约25~(给或拿)的FPS,包括算法,因为我不需要转换图像.对于IP摄像机流,我需要多次转换才能达到所需的格式,结果大约为5-8fps.

(我知道我目前的方法是非常低效的,这就是为什么我在这里,我实际上是将图像总共转换5次(甚至是灰度缩放),实际上只使用了我处理器内存的一半(i7,8gb RAM)).它必须是图像(bgr,byte),因为这是算法将使用的唯一格式.

我用来获取图像的代码:

//headersusing System.IOusing System.Threading;using System.Net;//request a connectionreq = (httpWebRequest)httpWebRequest.Create(cameraUrl);//gives chance for timeout for errors to occur or loss of connectionreq.AllowWriteStreamBuffering = true;req.Timeout = 20000;//retrIEve response (if successfull)res = req.GetResponse();//image returnedstream = res.GetResponseStream();

我在后台管理连接,数据,安全等方面有很多东西,我已经缩短到上面的代码.
我目前的代码将图像转换为所需的输出:

//Convert stream to image then to bitmapBitmap bmpImage = new Bitmap(System.Drawing.Image.FromStream(stream));                    //Convert to emgu image (desired goal)currentFrame = new Emgu.CV.Image<Bgr,Byte>(bmpImage);//gray scale for other usesgray = currentFrame.Convert<Gray,Byte>();

我知道有一种方法可以暂时在本地保存图像,但出于安全考虑,我需要避免这种情况.我正在寻找更多直接转换以帮助节省处理能力.
我忽略了什么吗?所有帮助表示赞赏.

谢谢阅读. (如果有人要求更多详细信息,我会更新此信息)
戴夫

解决方法 你有一些潜在的瓶颈,其中最重要的是你可能将流解码为图像然后将其转换为位图然后转换为openCV图像.

解决此问题的一种方法是完全绕过.NET映像.这将涉及尝试直接使用libjpeg.在C#中有一个free port of it here,你可以挂钩它以在每个扫描线的基础上调用它来填充缓冲区.

缺点是你在托管代码中解码JPEG数据的速度至少比C语言低1.5倍,尽管坦率地说我希望网络速度相形见绌.

OpenCV应该能够直接读取jpeg图像(想猜测它们在引擎盖下使用的是什么?调查说:libjpeg),这意味着你可以缓冲整个流并将其交给OpenCV并完全绕过.NET层.

总结

以上是内存溢出为你收集整理的在c#中转换图像全部内容,希望文章能够帮你解决在c#中转换图像所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1249158.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-07
下一篇2022-06-07

发表评论

登录后才能评论

评论列表(0条)

    保存