Files
2024-02-27 14:55:36 +08:00

94 lines
5.4 KiB
C++

#pragma once
#include <opencv.hpp>
#include <iostream>
#include <functional>
//相应的处理函数说明
//typedef void(*FUNC)(unsigned char* showImg, int width, int height, int channel, char* outstr, char* Res);
typedef std::function<void(unsigned char* showImg, int width, int height, int channel, char* outstr, char* Res)>FUNC;
extern "C" __declspec(dllexport) void RegisterFUNC2D(FUNC func);
extern "C" __declspec(dllexport) void RegisterFUNC3D(FUNC func);
extern "C" __declspec(dllexport) void gen_img(cv::Mat tiffMat);
//Station1
extern "C" _declspec(dllexport) void GetStation1TBThreeD(cv::Mat tiffMat, cv::Mat bmpMat, cv::Mat HikMat,
const char* Dir2D, const char* Dir3D, const char* SN, const char* DateTime);
extern "C" _declspec(dllexport) void GetStation1TRThreeD(cv::Mat tiffMat, cv::Mat bmpMat, cv::Mat HikMat,
const char* Dir2D, const char* Dir3D, const char* SN, const char* DateTime);
extern "C" _declspec(dllexport) void GetStation1DE2ThreeD(cv::Mat tiffMat, cv::Mat bmpMat,
const char* Dir, const char* SN, const char* DateTime);
extern "C" _declspec(dllexport) void GetStation1DE3ThreeD(cv::Mat tiffMat, cv::Mat bmpMat,
const char* Dir, const char* SN, const char* DateTime);
// station2
extern "C" _declspec(dllexport) void GetStation2TFThreeD(cv::Mat tiffMat, cv::Mat bmpMat, cv::Mat HikMat,
const char* Dir2D, const char* Dir3D, const char* SN, const char* DateTime);
extern "C" _declspec(dllexport) void GetStation2TLThreeD(cv::Mat tiffMat, cv::Mat bmpMat, cv::Mat HikMat,
const char* Dir2D, const char* Dir3D, const char* SN, const char* DateTime);
extern "C" _declspec(dllexport) void GetStation2DE1ThreeD(cv::Mat tiffMat, cv::Mat bmpMat,
const char* Dir, const char* SN, const char* DateTime);
extern "C" _declspec(dllexport) void GetStation2DE4ThreeD(cv::Mat tiffMat, cv::Mat bmpMat,
const char* Dir, const char* SN, const char* DateTime);
// station3
extern "C" _declspec(dllexport) void GetStation3TDThreeD(cv::Mat tiffMat, cv::Mat bmpMat, cv::Mat HikMat,
const char* Dir2D, const char* Dir3D, const char* SN, const char* DateTime);
extern "C" _declspec(dllexport) void GetStation3TUThreeD(cv::Mat tiffMat, cv::Mat bmpMat, cv::Mat HikMat,
const char* Dir2D, const char* Dir3D, const char* SN, const char* DateTime);
// station4
extern "C" _declspec(dllexport) void GetStation4ME1ThreeD(cv::Mat tiffMat, cv::Mat bmpMat,
const char* Dir, const char* SN, const char* DateTime);
extern "C" _declspec(dllexport) void GetStation4ME2ThreeD(cv::Mat tiffMat, cv::Mat bmpMat,
const char* Dir, const char* SN, const char* DateTime);
extern "C" _declspec(dllexport) void GetStation4ME3ThreeD(cv::Mat tiffMat, cv::Mat bmpMat,
const char* Dir, const char* SN, const char* DateTime);
extern "C" _declspec(dllexport) void GetStation4ME4ThreeD(cv::Mat tiffMat, cv::Mat bmpMat,
const char* Dir, const char* SN, const char* DateTime);
//Station5 正极柱1,正极柱2,正极柱3,负极柱1,负极柱2,负极柱3,防爆阀1,防爆阀2,防爆阀3
extern "C" _declspec(dllexport) void GetStation5Pos1pic(cv::Mat HikMat, const char* Dir2D, const char* SN, const char* DateTime);
extern "C" _declspec(dllexport) void GetStation5Pos2pic(cv::Mat HikMat, const char* Dir2D, const char* SN, const char* DateTime);
extern "C" _declspec(dllexport) void GetStation5Pos3pic(cv::Mat HikMat, const char* Dir2D, const char* SN, const char* DateTime);
extern "C" _declspec(dllexport) void GetStation5Pos4pic(cv::Mat HikMat, const char* Dir2D, const char* SN, const char* DateTime);
extern "C" _declspec(dllexport) void GetStation5Neg1pic(cv::Mat HikMat, const char* Dir2D, const char* SN, const char* DateTime);
extern "C" _declspec(dllexport) void GetStation5Neg2pic(cv::Mat HikMat, const char* Dir2D, const char* SN, const char* DateTime);
extern "C" _declspec(dllexport) void GetStation5Neg3pic(cv::Mat HikMat, const char* Dir2D, const char* SN, const char* DateTime);
extern "C" _declspec(dllexport) void GetStation5Neg4pic(cv::Mat HikMat, const char* Dir2D, const char* SN, const char* DateTime);
extern "C" _declspec(dllexport) void GetStation5Pro1pic(cv::Mat HikMat, const char* Dir2D, const char* SN, const char* DateTime);
extern "C" _declspec(dllexport) void GetStation5Pro2pic(cv::Mat HikMat, const char* Dir2D, const char* SN, const char* DateTime);
extern "C" _declspec(dllexport) void GetStation5Pro3pic(cv::Mat HikMat, const char* Dir2D, const char* SN, const char* DateTime);
extern "C" _declspec(dllexport) void GetStation5Pro4pic(cv::Mat HikMat, const char* Dir2D, const char* SN, const char* DateTime);
//进程的初始化和关闭,在进程中处理得到的Mat等数据
extern "C" __declspec(dllexport) void InitThreads(int StationNo, int img2D3D);
extern "C" __declspec(dllexport) void CloseThreads(int StationNo, int img2D3D); //关闭进程
//将对应的Mat导入模型中,得到导出的Fail或者Pass,存入对应json文件
extern "C" __declspec(dllexport) bool InitModels(int StationNo, int img2D3D); //初始化模型
extern "C" __declspec(dllexport) void DestroyModels(int StationNo, int img2D3D); //摧毁模型
extern "C" __declspec(dllexport) void ChangeSaveMode(bool mode); //存储模式
extern "C" __declspec(dllexport) void ChangeSaveMode12(bool mode);
extern "C" __declspec(dllexport) void ChangeZoom(int x, int y); //缩放存储
//将对应数据写入对应工站文件中,分为1,2,3
//extern "C" __declspec(dllexport) void WriteJson(int StationNo,std::string pathfold, std::string testresult,std::string SN, std::string Datetime);