OpenCV中文网站

 找回密码
 立即注册
搜索
热搜: 安装 配置
查看: 6703|回复: 3

C#中使用C++dll的问题(dll内包含opencv)

[复制链接]
发表于 2012-7-3 22:28:06 | 显示全部楼层 |阅读模式
我在C++的dll中调用了opencv的函数,C#端使用DllImport进行引用
但会出现无法加载dll档的问题,如果我将dll中有关opencv的函数删除就正常运行,有人知道这该怎么解吗?
我将build\x86\vc9\bin\ 中的dll档全数复制到.exe的文件夹中依然无解
回复

使用道具 举报

发表于 2013-12-13 20:01:46 | 显示全部楼层
=.  =  我的比你的还麻烦的是自己做的dll调用opencv, 然后自己的dll给cs调用  
=。 =
出错啊
回复 支持 反对

使用道具 举报

发表于 2016-12-28 16:54:26 | 显示全部楼层
一样,捣鼓了半天,可以导出DLL,但是C#那边调用报错: 试图加载格式不正确的程序
回复 支持 反对

使用道具 举报

发表于 2017-1-15 09:36:36 | 显示全部楼层
1、csharp通过非托管的方法调用opencv的c++函数,这种实现方法,如果想以图片作为参数进行传递,很难实现。在以前我都是采用传递string 或者int的方法来实现的。应该说当时为了实现这种结果,想了很多方法;
2、最新我发现,如果使用clr封装自己的opencv 函数,然后采用csharp进行调用的话,效果更好;
3、经过反复查阅stackoverflow等相关资料,我已经实现charp的托管调用opencv编写的dll,并且是直接以图片作为参数;
4、但是,由于opencv自己的问题。比如imdecode函数的实现方法,还是以文件I/O的方法进行调用的,所以现在的方法还是存在性能缺陷的。
结论是处理图片完全没有问题(我试验过20m的图片打开处理),但是处理视频会比较差。实现的效果就是“自己做的dll调用opencv”

但是,这方面的资料非常少,可以说问题比较小众,国内国外都比较少见。但是,我作为一线图像处理工程师,认为这种功能的实现是非常有价值的。我正在整理这方面的资料,肯定是要公布出来。但是这次我希望使用互联网的方式来实现。
如果有这方面需要的人,请mailto jsxyhelu@foxmail.com ,我们讨论一下各自问题细节,看一看如果把这种方法能够宣传出去,让更多真正需要的人能够立刻得到这种结果。



回复 支持 反对

使用道具 举报

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

本版积分规则

手机版|OpenCV中文网站

GMT+8, 2024-4-20 18:05 , Processed in 0.009891 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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