s10-defect-detection
项目目的
对s10产品中间件进行缺陷检测,检测内容包含螺纹、电源线、排线等合规情况,以及包含对光机点亮和成像质量的测试检测。
目录结构描述
├──Readme.md // help
├──doc // 文档
├──light_controller // led控制光源
├──public //C++源码及其相关的依赖库
├──include //头文件
├──lib //封装的12个接口的libdefect.so
├──halcon //依赖halcon封装
├──base64 // 图像转base64编码传输
├──defect // 检测功能实现源码
├──cmake // cmake编译findpakage依赖文件
├──resources //编译所需文件,存取矩形框数据/匹配模板数据/距离阈值数据etc
├──thirdparty //halcon包
├──visual_server // go源码,负责http服务的接口管理
├──build.sh //编译脚本
├──clean.sh //清除历史编译
封装接口libdefect.so功能说明
基于halcon的算法验证在s10-defect-detection\public\halcon\resources\algor_verification目录下
检测区域 | id | 检测项 | 判断依据 | 函数名称 |
---|---|---|---|---|
上 | 1 | 主板固定螺丝 | 检查螺丝是否漏打 | screwDetectMainboard() |
上 | 2 | 电源排线/6pin | 检查电源线是否正确插入 | powerLine6DetectMainboard() |
上 | 3 | 电源排线/8pin | 检查电源线是否正确插入 | powerLine8DetectMainboard() |
上 | 4 | 主板排线/51pin | 检查排线是否正确插入 | flatCableDetectMainboard() |
右 | 5 | 光机散热片螺丝(上) | 检查螺丝是否漏打 | screwUpDetect() |
右 | 6 | 光机散热片螺丝(下) | 检查螺丝是否漏打 | screwDownDetect() |
后 | 7 | 光机电源排线 | 检查电源线按颜色正确插入(绿蓝红) | colcorDetect() |
下 | 8 | 副板排线/51pin | 检查排线是否正确插入 | flatCableDetectSubboard() |
下 | 9 | 副板电源线接入 | 检查电源线是否正确插入 | powerLine8DetectSubboard() |
下 | 10 | 副板固定螺丝 | 检查螺丝是否漏打 | screwDetectSubboard() |
光机 | 11 | 光机开启 | 光机是否点亮 | lightOnTest |
光机 | 12 | 光机投影死点 | 光机坏点个数 | badPointTest |
封装接口libdefect.so测试功能说明
方法一
####本地测试
在/s10-defect-detection/public/halcon/文件夹类,修改test.cpp里面的接口为以上内容测试。
cd ./s10-defect-detection/public/halcon/build
./testrun
方法二
####远程服务请求测试
curl -X POST -H ‘Content-Type: application/json’ 192.168.28.128:17777/badPointTest @data.json
安装环境
apt install cmake
apt-get install libgl1-mesa-dev libglu1-mesa-dev
gcc-6 g+±6的安装说明
sudo apt-get update &&
sudo apt-get install build-essential software-properties-common -y &&
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y &&
sudo apt-get update &&
sudo apt-get install gcc-snapshot -y &&
sudo apt-get update &&
sudo apt-get install gcc-6 g+±6 -y &&
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 60 --slave /usr/bin/g++ g++ /usr/bin/g+±6
安装go环境
参考文档
https://www.runoob.com/go/go-environment.html
流程
go安装包下载和解压
https://golang.google.cn/dl/ar.g
https://www.runoob.com/go/go-environment.html
解压文件
cd ~
mkdir go
tar 文件 到 go
在~/建立一个GOPATH路径
cd ~
mkdir gopath
环境变量配置
配置到当前账户
~/.bashrc
export PATH=$PATH:~/go/go1.13.8.linux-amd64/go/bin
export GOROOT=~/go/go1.13.8.linux-amd64/go
export GOPATH=~/gopath
运行
./clean.sh
./build.sh
单独运行build的可执行文件流程
拷贝build文件夹到工控机中
运行
cd build
./visual_server