OpenCV中文网站

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 安装 配置
查看: 1258|回复: 1

Emgucv里有对应OpenCV中的imread函数嘛?

[复制链接]
发表于 2016-5-7 16:14:55 | 显示全部楼层 |阅读模式
现在在做一个项目:其中有一部分是将存在内存的byte[] 型图像数据保存到自己定义的缓存区。因为后续希望用OpenCV做人脸识别,希望能将byte[]  类型的图片转换成Mat格式,不过C#里MCvMat为这种形式:
public struct MCvMat
    {
        public int cols;
        public IntPtr data;
        public int hdr_refcount;
        public IntPtr refcount;
        public int rows;
        public int step;
        public int type;

        public int height { get; }
        public int NumberOfChannels { get; }
        public int width { get; }
    }

要把byte[] 类型变量转换为MCvMat格式需要将byte[]数组首地址传给IntPtr data,然后图片长度和宽度为预先设好的。不过这里byte[] 里的图像数据是压缩的,不知道对于转换是否有影响。
另外,我查资料好像OPEN CV里的imread 可以直接读取byte[]  格式的数据,然后进行利用imshow进行显示。也可以通过imread 直接得到McvMat变量。
可是我在EMGUCV里没有找到与imread对应的函数。希望有清楚的能交流一下,谢谢!
回复

使用道具 举报

发表于 2016-5-7 21:59:48 | 显示全部楼层
你的engucv版本太低?我用3.1中是有对应的方法
MatTemp = CvInvoke.Imread(openFileDialog.FileName,0);
上面是实例
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|OpenCV中文网站  

GMT+8, 2019-9-17 16:11 , Processed in 0.039430 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表