python3.5+opencv3.4+yolov3实现的目标检测--------------部分代码!

近期项目要求,要做一个基于python+yolov3+opencv的目标检测,实际上是针对工业上的工业齿轮的检测。
那在这里我对我整个项目的介绍就不多了,主要是分享一波在写项目的过程中,利用opencv3.4针对视频流按帧截取并对图像进行识别的处理。贴个代码,大家了解一下~~~
@app.route(’/detection’, methods=[‘POST’])
def detection():
#结果集合
resultDatas = []
start_time=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
print(start_time) #设置一个开始时间,便于记录

rtmpAddr = request.json["rtmpAddr"]  #这一步是获取视频流地址
rtmpAddr = cv2.VideoCapture(rtmpAddr)   #cv2的 VideoCapture() 方法
shottime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())  #设置一个截取时间
flag = 0
if rtmpAddr.isOpened():
    flag = 1
    open_time=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
    print(open_time)
else:
    flag = 0
i = 0
if flag == 1:
    while True:
        ret, frame = rtmpAddr.read()  # 读取视频帧
        read_time=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
        print(read_time)
        if ret == True:  # 判断是否读取成功
            if i > 0:
                break
        i += 1
        # 截图时间
        end_time=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
        origin_img = "/usr/local/darknet/saveImage/"+shottime+".jpg" # 存储图片的路径
        cv2.imwrite(origin_img, frame)  # 将提取的视频帧存储进imgPath

在这个过程中,我认为对cv2的认识一定要深刻,要对它的方法有很深的了解,因为他确实能在学习python的机器学习中,提供很好、很便利的的途径。cv2很强大,python很强大!!!
那么以上这些就是我个人的一些方法和技巧,欢迎大家交流,批评指正!

你可能感兴趣的:(原创,实用)