c#调用c++动态库实现图像的读入与保存
第一次写,如有问题请多包涵~
1
2
3 添加opencv项目属性表
4 写代码 实现读入图像并保存
5 添加头文件
6 头文件中添加如下内容
7 添加def文件
8 在def文件添加如下内容
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”。
10 建立c#文件
11 将ddll.dll拷贝到 "showimage" 文件夹bin/X64/debug 目录下 (这是因为我的c#文件是在debug X64下工作的 ,如果跟我的不同 可以作相应调整)
12
注意事项:生成dll的c++代码如果在X64位下生成的,那么 c#代码也必须在X64位下面。
1、如果报警告:
这个警告是可以忽略的,如果只报了这个警告,程序也无法往下运行,那一定是程序其他地方出了问题,不是这个警告的问题。
2、封装dll时,方法是可以调用方法的,按照在c++中那样使用就行
3、
“System.AccessViolationException”类型的未经处理的异常在 CoilPosition(钢卷定位).exe 中发生
其他信息: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
检查下是不是文件路径的问题