需求 : 使用 Python+opencv实现视频中的物体识别,
细节描述 : 用电子设备录制视屏, 对此视频进行识别,里面可能任何物品。
1条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
String name="小吴"; 2021-09-09 00:41最佳回答 专家已采纳#!/user/bin/env python3 # -*- coding: utf-8 -*- import cv2 # 深度学习-图像识别 def getContuors(img): contours, hierarchy = cv2.findContours(img, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE) for cnt in contours: area = cv2.contourArea(cnt) # print(area) if area > 500: cv2.drawContours(imgContour, cnt, -1, (0, 0, 0), 1) peri = cv2.arcLength(cnt, True) # 轮廓长度 approx = cv2.approxPolyDP(cnt, 0.02 * peri, True) objCor = len(approx) # print(objCor) x, y, w, h = cv2.boundingRect(approx) if objCor == 3: objectType = 'Tri' elif objCor == 4: aspRatio = w / float(h) # print(aspRatio) if aspRatio > 0.95 and aspRatio < 1.05: objectType = 'ZFX' else: objectType = 'CFX' elif objCor > 4: objectType = 'YX' else: objectType = 'NONE' cv2.rectangle(imgContour, (x, y), (x + w, y + h), (255, 0, 0), 1) cv2.putText(imgContour, objectType, (x + (w // 2) - 10, y + (h // 5) - 10), cv2.FONT_HERSHEY_COMPLEX, 0.5, (0, 0, 0), 2) img = cv2.imread('ss.png') imgsize = cv2.resize(img, (500, 400)) # 裁剪后 imgContour = imgsize.copy() imgGRAY = cv2.cvtColor(imgsize, cv2.COLOR_BGR2GRAY) imgBlur = cv2.GaussianBlur(imgGRAY, (7, 7), 1) # 模糊度 imgCann = cv2.Canny(imgBlur, 50, 50) getContuors(imgCann) if __name__ == '__main__': cv2.imshow('windows', imgCann) cv2.imshow('window', imgContour) cv2.waitKey(0)
采纳该答案 已采纳该答案 专家已采纳评论解决 无用打赏举报微信扫一扫
分享评论登录 后可回复...
报告相同问题?
提交
相关推荐 更多相似问题
- 2021-09-08 23:58回答 1 已采纳 #!/user/bin/env python3 # -*- coding: utf-8 -*- import cv2 # 深度学习-图像识别 def getContuors(img):
- 2021-12-20 13:37回答 1 已采纳 缩进?你缩进不对的话就会导致你的str——encode是空的,这也就是报错里面提示你说图片为空不能imshow
- 2017-09-29 09:19回答 1 已采纳 http://mp.weixin.qq.com/s/DYCXef_09yFFNR0uHL2Q0Q python 一个接口 你可以研究一下
- 2020-09-20 21:56主要为大家详细介绍了python+opencv实现动态物体识别,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
- 2020-12-25 15:42简单几行就可以实现对动态物体的追踪,足见opencv在图像处理上的强大。 python代码: import cv2 import numpy as np camera=cv2.VideoCapture(0) firstframe=None while True: ret,frame = camera.read() if not...
- 2021-01-06 18:26在应用方面,dlib大多数情况下用于人脸检测与人脸识别,然而,dlib还可以用于物体追踪,通过调用Python API中的dlib.correlation_tracker类可以实现一个初步的跟踪结果,具体分为以下四步: (1) 使用dlib.correla
- 2022-02-09 14:58回答 3 已采纳 先进行边缘检测:假设CANNY_THRESH_1 = 90CANNY_THRESH_2 = 120edges = cv2.Canny(gray, CANNY_THRESH_1, CANNY_THRES
- 2021-12-31 17:33回答 1 已采纳 waitKey就是刷新图像的方法呀,waitKey(30)表示每30毫秒刷新一帧,我们看到的视频其实都是一帧一帧连起来形成的,然后这个方法返回值是当前键盘按下的值。然后第二个问题,因为它本质是一个方法
- 2022-01-25 20:43回答 2 已采纳 frame[60:120, 0:160]表示裁剪截图啊,相当于在frame这张图片上截取一个矩形区域,y从60行到120行,x从0列到160列的一块矩形区域frame[y1:y2, x1:x2]:
- 2018-08-10 12:57手把手教你如何利用Python + opencv opencv实时识别指定(或自定义)物体
- 2020-09-19 21:50今天小编就为大家分享一篇python3+opencv3识别图片中的物体并截取的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
- 2018-04-28 00:02python+opencv识别出物体颜色(红白黑蓝绿...)并二维定位出颜色物体坐标.
- 2021-10-17 16:10回答 1 已采纳 第28行 if ord('b') == cv.waitKey(0): waitKey入参0表示无限时长等待按键,这么写就要求每解析一帧数据就要按下b,程序才会继续下一帧,你可以把这个0改成2
- 2022-02-14 21:55回答 3 已采纳 废话不多说,直接上代码 import cv2 import numpy as np def cv_show(neme, img): cv2.imshow(neme, img)
- 2021-06-28 20:05回答 2 已采纳 这个opencv有个轮廓检测,弱化连接。你去搜一下opencv做玉米粒技术的。这个地址你看一下: https://blog.csdn.net/weixin_43330089/article/deta
- 2022-01-09 16:08liming89的博客 更多python教程请到友情连接: 菜鸟教程...目录任务主要代码效果展示学习了一点opencv的知识于是找了个小项目来实践一下。这里先说明一下,我的实现方法不见得是最好的(因为这只是一个用于练习的项
- 2018-11-21 22:22python+opencv3.4提取图片中的二维码区域,有简单的算法思路介绍。链接 https://blog.csdn.net/kellen_f/article/details/81667315
- 2020-09-20 06:43主要为大家详细介绍了Python+OpenCV目标跟踪实现基本的运动检测,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
- 2019-09-27 22:57回答 3 已采纳 如果只是简单的处理下,比如说根据颜色信息判断然后对特定位置重新赋值,那只会得到很粗糙的效果,比如![图片说明](https://img-ask.csdn.net/upload/201909/29/15
- 2021-02-13 22:57闪电丶教主的博客 Python+OpenCV颜色识别 物体追踪 对于颜色识别和imutils包的用法请浏览我得另一篇博客:OpenCV学习笔记 文章目录Python+OpenCV颜色识别 物体追踪代码原理代码最终效果图 代码原理 这是个比较简单的代码。代码实现的...
- 没有解决我的问题, 去提问