主题
本文使用opencv455来实现切图功能的实现,通过c++生成dll,c#中调用。
前提
本文介绍两种方法,不管何种方法都需要在创建的c++项目中添加opencv,具体方法:
一、C++生成dll
本文使用vs2022,opencv455
生成dll方法一:通过创建动态链接库(DLL)项目
1.创建c++项目:动态链接库(DLL)


2、删除头文件、源文件下包含的文件(移除或删除都行)

3、分别在头文件、源文件添加自定义头文件cropimage.h、源文件文件cropimage.cpp
cropimage.h:
#pragma once
// 函数声明
extern "C" __declspec(dllexport) void cropImage(const char* folderPath, const char* outputFolder, int Width, int Height, const char* savename, const char* imgtype);
cropimage.cpp:
#include "cropimage.h"
#include <iostream>
#include <opencv2/opencv.hpp>
#include <filesystem>
namespace fs = std::filesystem;
void cropImage(const char* folderPath, const char*

本文详细介绍了如何使用OpenCV 4.5.5在C++中创建DLL,并在C#项目中进行调用。首先创建C++动态链接库项目,删除默认文件并添加自定义头文件和源文件。接着,配置编译选项,确保使用C++17标准,并设置为x64平台。然后,在C#项目中引入DLL,确保平台和调试模式一致。最后,注意平台匹配、DLL导出函数的检查以及解决可能出现的异常问题。
2594





