c#调用c++动态库实现图像的读入与保存

第一次写,如有问题请多包涵~

1

c#调用c++动态库实现图像的读入与保存_第1张图片

2

c#调用c++动态库实现图像的读入与保存_第2张图片

3 添加opencv项目属性表

c#调用c++动态库实现图像的读入与保存_第3张图片

4 写代码 实现读入图像并保存

c#调用c++动态库实现图像的读入与保存_第4张图片

5 添加头文件

c#调用c++动态库实现图像的读入与保存_第5张图片

6 头文件中添加如下内容

c#调用c++动态库实现图像的读入与保存_第6张图片

7 添加def文件

c#调用c++动态库实现图像的读入与保存_第7张图片

8 在def文件添加如下内容

c#调用c++动态库实现图像的读入与保存_第8张图片

9 生成解决方案 ,如果报错 “严重性 代码 说明 项目 文件 行 列 禁止显示状态
错误 C4996 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. Ddll e:\opencv2.4.13\build\include\opencv2\flann\logger.h 66 1 ”则在预处理器定义中输入“_CRT_SECURE_NO_WARNINGS”。

c#调用c++动态库实现图像的读入与保存_第9张图片

10 建立c#文件

c#调用c++动态库实现图像的读入与保存_第10张图片

11 将ddll.dll拷贝到 "showimage" 文件夹bin/X64/debug 目录下 (这是因为我的c#文件是在debug X64下工作的 ,如果跟我的不同 可以作相应调整)

c#调用c++动态库实现图像的读入与保存_第11张图片

c#调用c++动态库实现图像的读入与保存_第12张图片

 

12c#调用c++动态库实现图像的读入与保存_第13张图片

注意事项:生成dll的c++代码如果在X64位下生成的,那么 c#代码也必须在X64位下面。

1、如果报警告:

 

这个警告是可以忽略的,如果只报了这个警告,程序也无法往下运行,那一定是程序其他地方出了问题,不是这个警告的问题。

2、封装dll时,方法是可以调用方法的,按照在c++中那样使用就行

3、

“System.AccessViolationException”类型的未经处理的异常在 CoilPosition(钢卷定位).exe 中发生 

其他信息: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。

检查下是不是文件路径的问题

 

你可能感兴趣的:(c#调用c++动态库实现图像的读入与保存)