(0)图像处理界面——C#调用C++图像处理的DLL

该项目旨在通过图像技术自动识别木家具加工中的木板位置,以精确控制喷漆设备。图像处理部分采用C++实现,处理后输出木板几何尺寸。C#界面用于调用C++编写的dll,实现参数传递和结果显示。项目包含图像灰度化、C#与dll交互、简单测试代码以及json配置。提供了从读取图像到显示结果的完整流程,适合初学者了解接口调用方法。
摘要由CSDN通过智能技术生成
绪论——项目说明

本项目是一个应用于木家具加工的喷漆自动控制环节,目的是通过图像技术,获得木板在传输带上的几何位置,精确控制喷漆设备,达到自动寻找木板并喷漆的目的。

自动识别寻找木板所在位置,并输出实际几何位置

因为是一个控制系统的一部分,所以界面部分只是为了调试方便,说明问题足以,发布的意义也即是抛砖引玉。

1.结果效果
结果界面(非常简单)
2.思路
2.1各部分介绍

(1)使用C++完成图像处理的过程,实际中可以是任何处理办法,甚至是任何的语言,如MATLAB、python,生成dll的方法因语言有所差别。

图像处理部分

本项目是提取图片中的木板,并输出门板的几何宽(int)及宽的一半(double),对图像 做灰度化处理,并把图像处理参数写在灰度图像上。
(2)C#界面调用C++的dll。实际中,算法的入参需要通过界面传入、输出信息需要在界面中显示(实际项目中,当然是不要输出的,直接传递给喷漆的控制设备就够了)。

界面传入和传出以及显示等功能

(3)在初学者的操作者,为了理解界面与内核的调用方法,做了一个最简单测试代码。
通过一个最简单数据计算(a*b)体现调用的过程
2.图像处理

dllmain.cpp此代码为生成dll的系统代码,勿需修改

// dllmain.cpp : 定义 DLL 应用程序的入口点。
#include "stdafx.h"
BOOL APIENTRY DllMain( HMODULE hModule,
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved
                     )
{
    switch (ul_reason_for_call)
    {
    case DLL_PROCESS_ATTACH:
    case DLL_THREAD_ATTACH:
    case DLL_THREAD_DETACH:
    case DLL_PROCESS_DETACH:
        break;
    }
    return TRUE;
}

Image_Progress.cpp图像处理部分
注:因为用到json的参数传递方法,会用到配置json的内容。我将需要用到的头文件等上传到百度云。

3.C#界面

在界面中至少要完成以下几个内容:读取图像、将读取的图像显示(如果有必要)、将读取到的图像路径传递给dll、读取算法的结果数据并显示之、读取算法的处理结果图像的路径并显该结果的图像、按钮操作、保存算法结果到文件(如txt、xml等)。
(1)读取图像部分
使用按钮打开对应文件夹,为了方便期间,可以预设只显示图像格式的文件(jpg、bmp等);双击打开;弹出对话框显示读取到的图像;显示读取到的图像。
(2)计算部分
计算部分实际的操作是调用dll的内容。并将计算结果的内容从dll中取回,显示在对应位置,处理结果的图像做一显示。
(3)测试部分
通过点击按钮,将另一个“算法”的dll调用,并获取相应内容,显示在界面;用以表明界面和内核的调用没有问题。

4.配置

(1)json环境的配置
在使用了json方法做参数传递时,需要用到json的库。为了方便项目的移植,在此,景相应内容直接放在H:\项目\门板\代码\c++\大轮廓提取\Rectangle\image_progres下。

json内容直接放在图像处理的同一目录下

(2)C#环境配置
vs2017中添加插件
插件管理

项目链接: https://pan.baidu.com/s/1C3wMRK09F-Izfv7c0y-Dqw,提取密码:dq4d。
注:以上项目是较完整的体现参数传递、返回等整个过程。
项目流程图
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

rexinx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值