我有一个自行车劫案的闭路电视录像,视频不清楚。我正在努力改进视频,以查找有关车辆或面部的详细信息,或从中获取任何其他信息。
https://drive.google.com/file/d/0B8ZjiDWHZ1j-QkVKZFV4ZkV1ODA/view?usp=sharing
opencv - 正在处理抢劫案夜间CCTV录像?-LMLPHP原始opencv - 正在处理抢劫案夜间CCTV录像?-LMLPHP直方图均等化opencv - 正在处理抢劫案夜间CCTV录像?-LMLPHP CLAHE

到目前为止,我在python opencv中所做的工作

  • 基本的直方图均衡化,因为它是一个夜间镜头。
  • 由于影片中存在热点,因此我应用了对比度受限的自适应历史均衡(CLAHE),并尝试了cliplimit 1至10和4至32的网格大小。
  • 我一直在玩gabor过滤器,以减少自行车的前灯闪光,但无法将其调整为正确的参数。
  • 由于视频中存在一些噪音,因此可以考虑使用fastNlDenoising对其进行降噪,但没有结果。
  • 由于图像很小,我尝试使用SeRanet SeRanet on github对图像进行超分辨率。但是,即使在单个图像上运行,其速度也很慢,结果不足以验证视频中的人脸。 (至少在我运行SeRanet的框架上)。

  • 关于如何继续从视频中收集更多信息的任何帮助(或者由于某些限制而死胡同)
    import numpy as np
    import cv2
    import time
    cap = cv2.VideoCapture('./bike_robbery.mp4')
    clahe = cv2.createCLAHE(clipLimit=3.0, tileGridSize=(32,32))
    count=0
    sig = 1
    th = 0
    lm = 1.0
    gm = 0.02
    ps = 0;
    ksize =31
    gaborKernel=cv2.getGaborKernel((ksize,ksize), sig, th, lm, gm, ps);
    sleeptime=0.001
    while(cap.isOpened()):
        ret, frame = cap.read()
        gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
        cl1 = clahe.apply(gray)
        equ = cv2.equalizeHist(gray)
        #denoise=cv2.fastNlMeansDenoising(cl1,None,3,90,2)
        ths=cv2.threshold(equ, 230, 255, cv2.THRESH_BINARY)[1]
        gab=cv2.filter2D(cl1,0 , cv2.CV_32F, gaborKernel);
        kernel = np.array([[-1,-1,-1], [-1,18,-1], [-1,-1,-1]])
        im = cv2.filter2D(equ, -1, kernel)
        res = np.hstack((gray,equ,cl1)) #stacking images side-by-side
        cv2.imwrite("./clahe_pics/frame%d.jpg" % count, cl1)
        cv2.imwrite("./hist_pics/frame%d.jpg" % count, equ)
        count = count + 1
        cv2.imshow('frame',res)
        time.sleep(sleeptime)
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break
        if cv2.waitKey(1) & 0xFF == ord('s'):
            sleeptime+=0.05
        if cv2.waitKey(1) & 0xFF == ord('f'):
            sleeptime-=.05
    cap.release()
    cv2.destroyAllWindows()
    

    最佳答案

    根据问题,如果要查找人和自行车的存在,可以使用一些分类器,例如人体检测和车辆检测。对于人类检测,您可以轻松找到预训练的哈尔分类器模型。对于检测自行车,您可以训练模型。好像是一个实时问题。
    但是,如果您担心照明问题,则可以使用LAB图像并增强图像的L通道并调整图像的亮度。
    为了进行人工检测,您可以在opencv的以下路径中找到模型:directory:opencv\sources\data\haarcascades

    10-07 19:21
    查看更多