# 瓷砖缺陷自动化检测软硬件原型 **Repository Path**: xyh3984/defectdetect ## Basic Information - **Project Name**: 瓷砖缺陷自动化检测软硬件原型 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2021-06-14 - **Last Updated**: 2024-06-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 瓷砖缺陷自动化检测软硬件原型 ## 项目介绍 1. 项目源代码在https://gitee.com/xyh3984/defectdetect 2. 此项目检测算法为项目组原创算法。 3. 此项目为运行在树莓派硬件上面的一个轻量级瓷砖缺陷检测原型系统。 4. 树莓派通过CSI总线接上摄像头OV5647,当按下按钮,则拍照分析照片中是否存在缺陷。如果存在缺陷,则亮红灯和蜂鸣器;否则亮白灯表示通过。 5. 程序将视频流实时网络传输,用户可通过访问http://树莓派IP地址:8080 来观看视频流。 6. 程序还会自动生成一个检测报告,用户可通过访问http://树莓派IP地址/DefectDetection/report/Report.html 来获取报告。 ## 项目Dependencies - 树莓派4B - python 3 - numpy - openCV ## 检测算法简介 1. 利用Canny边缘检测算法找出边缘点。 2. 利用霍夫变换找出点之间的线段。 3. 对于每一个线段的两个端点,我们取一个方形neighborhood,如果在这个neighborhood中出现别的任何线段的任何端点,我们认为这两条线段相临。 4. 对于两条相邻的线段,我们计算其一阶导数(梯度)的欧几里得距离。 5. 遍历所有neighborhood重复上述步骤4,得到所有欧几里得距离后做normalization。 6. 如果步骤5得出的normalization小于一个阈值,则认为无缺陷,否则有缺陷。 ## 软件运行方法 在树莓派下运行``main.py``即可 ```Bash python3 main.py ``` ## 硬件配置和接线方法 1. 本系统电路原理图如下所示: ![接线原理图](https://images.gitee.com/uploads/images/2021/0614/173730_bcc49f68_5048377.png "图片1.png") 2. 实物接线图如下图所示: ![实物接线图](https://images.gitee.com/uploads/images/2021/0614/174119_44bcad9b_5048377.jpeg "2.jpg") ## 检测结果展示 ![样例检测结果展示1](https://images.gitee.com/uploads/images/2021/0614/174718_a22ac249_5048377.png "3.png") ![样例检测结果展示2](https://images.gitee.com/uploads/images/2021/0614/175308_ec77d2bd_5048377.png "4.png") ![样例检测结果展示3](https://images.gitee.com/uploads/images/2021/0614/175422_b4ee2454_5048377.png "5.png") ## 演示视频 [演示视频网站:https://www.bilibili.com/video/BV1jM4y1u74c/](https://www.bilibili.com/video/BV1jM4y1u74c/)