雷霆万钧 杜兰特

OpenCV中文網站

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
熱搜: 安裝 配置
查看: 179|回復: 0
打印 上一主題 下一主題

【求助】c++封裝opencv成為dll給c#調用

[復制鏈接]
跳轉到指定樓層
1#
發表于 2019-11-6 20:29:45 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最后由 Harpery 于 2019-11-6 20:46 編輯

c++封裝opencv的imread函數,作為一個測試調用案例,但是,在c#調用的時候,始終無法調用imread函數讀取圖片,問一下,有沒有大牛知道?謝謝啦!
這是c++中封裝的代碼dll2.cpp
  1. #include "pch.h"
  2. #include "Dll2.h"
  3. #include<Windows.h>
  4. #include"opencv2/opencv.hpp"
  5. #include"opencv2/core/eigen.hpp"
  6. #include<iostream>
  7. #include<stdlib.h>
  8. #pragma comment(lib,"opencv_world310.lib")

  9. using namespace cv;
  10. using namespace std;
  11. using namespace Eigen;

  12. extern "C" __declspec(dllexport) int getReadPic()
  13. {
  14.         Mat readImage = imread("D:\\pic\\pic1.jpg");
  15.         int rowPic = 111111;
  16.         rowPic = readImage.rows;
  17.         return rowPic;
  18. }
復制代碼
在c#里面調用
  1. public sealed partial class MainPage : Page
  2.     {
  3.     [DllImport("Dll2.dll", CharSet = CharSet.Unicode)]
  4.     extern static int getReadPic();
  5.     public MainPage()
  6.     {
  7.         this.InitializeComponent();
  8.     }

  9.     private void Button_Click(object sender, RoutedEventArgs e)
  10.     {
  11.         unsafe
  12.         {
  13.               int num = getReadPic();
  14.               textBox.Text = num.ToString();
  15.         }
  16.     }
  17.     }
復制代碼


分享到:  QQ好友和群QQ好友和群
收藏收藏
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|OpenCV中文網站  

GMT+8, 2019-11-18 20:33 , Processed in 0.043870 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回復 返回頂部 返回列表
雷霆万钧 杜兰特 19028236023962114651685070404481823629663316239945962317471448389409429331348326613621296280597648 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();