当前位置: 首页 > news >正文

深圳做网站优化的公司郑州企业招聘

深圳做网站优化的公司,郑州企业招聘,seo1短视频网页入口营销,建设娱乐城网站封装dll 首先使用visual stdio 创建Dll新项目,然后属性管理器导入自己的工程属性表#xff08;如果没有可以参考visual stdio 如何配置opencv等其他环境#xff09; 创建完成后 系统会自动生成一些文件#xff0c;其中 pch.cpp 先不要修改#xff0c;pch.h中先导入自己需…封装dll 首先使用visual stdio 创建Dll新项目,然后属性管理器导入自己的工程属性表如果没有可以参考visual stdio 如何配置opencv等其他环境 创建完成后 系统会自动生成一些文件其中 pch.cpp 先不要修改pch.h中先导入自己需要用到的库下面是我的代码 pch.h #pragma once #include opencv2/opencv.hpp #include opencv2/dnn.hpp #include iostream #include string 现在编写我们的接口代码我封装的是resnet18的代码 首先添加源文件ResNetDll.cpp: ResNetDll.cpp #include pch.h #include ResNetDll.h// 全局变量用于存储模型路径和图像路径 static std::string g_imagePath; static std::string g_modelPath;// 图像预处理函数 cv::Mat transformImage(const std::string imagePath) {cv::Mat image cv::imread(imagePath);if (image.empty()) {throw std::runtime_error(Failed to load image.);}cv::Mat resizedImage;cv::resize(image, resizedImage, cv::Size(224, 224));cv::Mat floatImage;resizedImage.convertTo(floatImage, CV_32F, 1.0 / 255.0);cv::Mat normalizedImage;cv::Scalar mean(0.485, 0.456, 0.406);cv::Scalar stdDev(0.229, 0.224, 0.225);cv::subtract(floatImage, mean, normalizedImage);cv::divide(normalizedImage, stdDev, normalizedImage);// 从 BGR 转换到 RGBcv::Mat rgbImage;cv::cvtColor(normalizedImage, rgbImage, cv::COLOR_BGR2RGB);return rgbImage; }// 推理函数 const char* run_inference() {static std::string result;try {// 加载 ONNX 模型cv::dnn::Net net cv::dnn::readNetFromONNX(g_modelPath);if (net.empty()) {result Failed to load the model.;return result.c_str();}// 预处理图像cv::Mat rgbImage transformImage(g_imagePath);// 创建 blob 并设置为网络输入cv::Mat blob cv::dnn::blobFromImage(rgbImage, 1.0, cv::Size(224, 224), cv::Scalar(), true, false);net.setInput(blob);// 执行推理cv::Mat output net.forward();// 处理输出cv::Mat prob output.reshape(1, 1); // 变换成 1D 张量cv::Point classIdPoint;double confidence;// 用来找到矩阵或图像中元素的最小值和最大值以及它们所在的位置cv::minMaxLoc(prob, 0, confidence, 0, classIdPoint);int classId classIdPoint.x;// 根据预测结果返回相应的标签result Predicted Class ID: std::to_string(classId) with confidence: std::to_string(confidence);return result.c_str();}catch (const std::exception e) {result Error occurred during inference: std::string(e.what());return result.c_str();} }// DLL 暴露的函数用于设置图像路径 extern C RESNETDLL_API void set_image_path(const char* imagePath) {g_imagePath imagePath; }// DLL 暴露的函数用于设置模型路径 extern C RESNETDLL_API void set_model_path(const char* modelPath) {g_modelPath modelPath; }// DLL 暴露的函数运行推理 extern C RESNETDLL_API const char* run_resnet() {return run_inference(); }ResNetDll.h: #pragma once#ifdef RESNETDLL_EXPORTS #define RESNETDLL_API __declspec(dllexport) #else #define RESNETDLL_API __declspec(dllimport) #endifextern C {// 设置图像路径RESNETDLL_API void set_image_path(const char* imagePath);// 设置模型路径RESNETDLL_API void set_model_path(const char* modelPath);// 运行推理RESNETDLL_API const char* run_resnet(); } 点击生成dll,就封装成了windows动态库 制作Demo 创建.NET Framework新项目将之前生成的dll放在Demo文件夹的bin -debug或是 release中看你自己用的什么模式 新建NativeMethods.cs 这个文件用于 导入 dll中的接口函数或类 我的代码如下 NativeMethods.cs using System; using System.Runtime.InteropServices;namespace ResNetApp {public static class NativeMethods{// 导入 DLL 中的 set_image_path 函数[DllImport(ResNetDll.dll, CallingConvention CallingConvention.Cdecl)]public static extern void set_image_path(string imagePath);// 导入 DLL 中的 set_model_path 函数[DllImport(ResNetDll.dll, CallingConvention CallingConvention.Cdecl)]public static extern void set_model_path(string modelPath);// 导入 DLL 中的 run_resnet 函数[DllImport(ResNetDll.dll, CallingConvention CallingConvention.Cdecl)]public static extern IntPtr run_resnet();} } 然后在窗口中拉入你想要的控件这是我的窗口布局 布局完了之后会自动生成Form1.Designer.cs 的窗口设计代码点击控件按F4 还可以修改他们的属性 Form1.cs 这个代码 编写你想要每个控件实现的功能 using System; using System.ComponentModel; using System.Runtime.InteropServices; using System.Windows.Forms;namespace ResNetApp {public partial class Form1 : Form{public Form1(){InitializeComponent();}private void buttonSelectImage_Click(object sender, EventArgs e){OpenFileDialog openFileDialog new OpenFileDialog();openFileDialog.Filter 图像文件|*.bmp;*.jpg;*.jpeg;*.png;if (openFileDialog.ShowDialog() DialogResult.OK){textBoxImagePath.Text openFileDialog.FileName; // 显示选择的图像路径}}private void buttonSelectModel_Click(object sender, EventArgs e){OpenFileDialog openFileDialog new OpenFileDialog();openFileDialog.Filter ONNX 模型文件|*.onnx;if (openFileDialog.ShowDialog() DialogResult.OK){textBoxModelPath.Text openFileDialog.FileName; // 显示选择的模型路径}}private void button1_Click(object sender, EventArgs e){try{string imagePath textBoxImagePath.Text;string modelPath textBoxModelPath.Text;if (string.IsNullOrEmpty(imagePath) || string.IsNullOrEmpty(modelPath)){textBox1.Text 请选择图像和模型路径。;return;}textBox1.Text 开始运行 ResNet ...;// 设置图像路径和模型路径NativeMethods.set_image_path(imagePath);NativeMethods.set_model_path(modelPath);// 调用 DLL 执行推理IntPtr resultPtr NativeMethods.run_resnet();// 将返回的指针转换为字符串string result Marshal.PtrToStringAnsi(resultPtr);// 显示结果textBox1.Text result;}catch (Exception ex){textBox1.Text 错误: ex.Message;}}} } Program.cs 我们还需要一个入口主程序 using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using System.Windows.Forms;namespace ResNetApp {static class Program{/// summary/// 应用程序的主入口点。/// /summary[STAThread]static void Main(){Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.Run(new Form1());}} }完成之后点击生成 就可以在bin中出现的你的.exe文件咯是不是很简单呀~[狗头]
http://www.hkea.cn/news/14276746/

相关文章:

  • 网站制作什么品牌好市场营销策划方案
  • 备案空壳网站通知怎样做安居客网站
  • 门户网站建设探究货代网站建设
  • html5的网站设计企业建网站开发
  • wordpress网站模板下载失败广州企业网站哪家好
  • 网站服务器地址在哪里看建设部网站一级建造师报名
  • 品牌词类的网站怎么做优化网上购物哪个商城好
  • 域名等于网站网址吗网络运维工程师招聘信息
  • 网站开发和软件开发那个简单广州市公司网站建设企业
  • 网站建设竞价托管网站建设企业免费咨询
  • 对购物网站建设的建议商圈数据app
  • 中山移动网站建设报价北京网络维护公司
  • 网站建设展板vi设计说明
  • 计算机机应用网站建设与维护泉州做网站优化多少钱
  • 廊坊网站建设廊坊网络公司驻梦网站维护要求
  • 为网站生成rss江北区城乡建设部网站首页
  • 百度网站怎么用wordpress中的搜索
  • 舟山高端网站设计滕州网站制作哪家好
  • 做网站撘框架西部数码 成品网站
  • 深圳公司网站改版通知wordpress 数据喵
  • 网站建设服务商推荐seo排名点击器原理
  • 上海网站se0优化做导航网站有发展吗
  • 昆明建设公司网站hefei 网站制作
  • 武清做网站的公司wordpress没法登陆
  • 陕西省建设银行分行互联网互联网站洛阳免费网站建设
  • 自己编程怎么做网站教程网站推广平台怎么做
  • 商城系统平台有哪些极限优化wordpress
  • 做效果图挣钱的网站深圳高端网站设计公司
  • 可以注册免费网站小公司做网站赚钱
  • 网站 手机版 电脑版 怎么做的江门移动网站建设报价