使用yolov5检测商店烟柜香烟摆放的整齐程度


前言

提示:这里可以添加本文要记录的大概内容:

有一个有意思的问题:大多数商店都出售香烟,各种香烟摆放在烟柜上,我们用眼睛能够很容易判断出香烟摆放的整不整齐,但是计算机该如何判断摆放的整齐与否?
烟柜的香烟


提示:以下是本篇文章正文内容,下面案例可供参考

一、利用FLD直线检测算法(最终放弃传统图像处理)

首先利用LSD算法找出目标图片里所有的直线,再筛选出长度符合的直线(主要是去除烟盒上复杂的图案,只留下烟盒大概的轮廓)。
处理后的图片
由于烟盒颜色,样式太过复杂,所得到的图片不能完整显示所有烟盒的轮廓,并且价格标签也会影响对烟盒轮廓的判断,想了很多办法但都没有太大作用,所以最终舍弃了这种办法。

二、使用目标检测(yolov5)算法计算整齐度

1.模型的训练

首先我从各种软件和浏览器上找到了大概20张拍的比较规范的烟柜图片,标记出了图片里摆放整齐的所有烟盒,训练后的模型基本可以检测出图片里所有规范的烟盒。

模型检测的烟盒:
检测的烟盒

在这里插入图片描述

2.在detect.py文件中将62行附近的save_txt打开,如图所示。这样就可以得到烟盒的坐标信息。

在这里插入图片描述

3.处理得到的.txt坐标文件

这里我在test.py文件中处理得到的坐标并计算整齐程度。

file = open('runs/detect/exp24/labels/p6.txt')
cig = 0.0
left_x = 10000
left_y = 10000
right_x = 0
right_y = 0
average = 0
count = 0
row1 = 0
row2 = 0
up = 0
arr = []
arr2 = [1, 1, 1, 1, 1, 1, 1, 1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值