opencv 物体尺寸测量

1 原图,已知左上角正方形的实际大小为 2cm

2 转为灰度图  + 高斯模糊

gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)    
 cv2.GaussianBlur(gray, (9, 9), 0)

3、边缘检测

edged = cv2.Canny(blur, 50, 100)+ 开运算

4、根据左上角参考物体,计算单位长度中的像素个数、

pixel_per_cm = dist_in_pixel/dist_in_cm

5、计算物体轮廓的最小外接矩形,并获取四个顶点的坐标

cv2.minAreaRect(cnt)   + box = cv2.boxPoints(box)

6、根据4个顶点和单位长度中像素的个数,计算被测量物体的宽、高

wid = euclidean(tl, tr)/pixel_per_cm
ht = euclidean(tr, br)/pixel_per_cm

 

-----------------------------------------------------------------------------------------------------------------------------------------------

这里的物体检测只使用于图像非常简单的情况,对于复杂背景的图像需要更有效的物体检测方法,如下图

参考文献

https://github.com/snsharma1311/object-size

版权声明:本文为CSDN博主「xieshangxin」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xieshangxin/article/details/109098113

xieshangxin

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

Python实现一个简单的目标检测

相关介绍 选择性搜索(Select Search)算法属于候选区域算法,用分割不同区域的办法来识别潜在的物体。在分割的时候,我们要合并那些在某些方面(如颜色、纹理&#xff0

树莓派实现人脸检测

准备工作 先在树莓派上下载好OpenCV3版本 可参考我的上一篇文章。 安装openCV 实现阶段 1.人脸检测和数据收集 2.训练识别器 3.人脸识别 一、人脸检测 1.下载分类器 直接下载xml文件 OpenCV 也包含很多预训

TensorFlow 新手踩坑杂谈

如果可以建议你有个好CPU,有块好显卡才来做这个事情,当然如果你有台矿机最好,因为做过一个测试,GPU 的计算能力是CPU的100倍以上,这还是在我6年前购买的笔记本上测试的结果。 ten