opencv 纸箱分割_如何检测图像中的纸板箱?

本文介绍了如何使用OpenCV检测图像中的纸箱,特别是在光照变化条件下。通过阈值处理、轮廓检测和尺寸筛选来识别纸箱,并提供代码示例进行优化。对于不同光照情况,建议转换到HSV颜色空间并应用颜色过滤来提高检测准确性。
摘要由CSDN通过智能技术生成

我试过你的代码,它只适用于第二个图像(9个框中的8个),因为你的框有白色标签,与背景形成了很好的对比。然而,它将不适用于第一个上传的图像。在

在第二张图片中,由于光照的变化,你的代码不能识别所有的盒子(这会导致阈值问题,因此只有8个盒子被检测到),所以我建议你读一读计算机视觉的灯光,因为它可以大大简化你的编码。也就是说,我已经对你的代码做了一个改动,也许能给你一个关于如何继续的想法(注释在代码中)…我已经用第二个图像测试了它,它确实识别了所有的框,但它仍然需要进一步测试。如果你想在你发布的这两种图片上检测盒子,那就需要一种不同的方法。在

代码:import cv2

# reading image

img = cv2.imread('boxes.jpg')

# thresholding the image

ret,thresh = cv2.threshold(img, 127, 229, cv2.THRESH_TOZERO)

edged = cv2.cvtColor(thresh, cv2.COLOR_BGR2GRAY)

# ADDED BINARY THRESHOLD

ret,thresh = cv2.threshold(edged,100,255,cv2.THRESH_BINARY)

# collectiong contours

_, contours,h = cv2.findContours(edged, cv2.RETR_TREE,

cv2.CHAIN_APPROX_SIMPLE)

cv2.imshow('img', thresh)

# looping through

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值