Making a video with opencv and ffmpeg. How to find the right color format?

前端 未结 5 1744
天涯浪人
天涯浪人 2021-02-08 13:18

I have a webcam video recorder program built with python, opencv and ffmpeg

It works ok except that the color of the video is more blue than the reality. The problem see

5条回答
  •  Happy的楠姐
    2021-02-08 13:34

    I've already answered this here. But my VidGear Python Library automates the whole process of pipelining OpenCV frames into FFmpeg and also robustly handles the format conversion. Here's a basic python example:

    # import libraries
    from vidgear.gears import WriteGear
    import cv2
    
    output_params = {"-vcodec":"libx264", "-crf": 0, "-preset": "fast"} #define (Codec,CRF,preset) FFmpeg tweak parameters for writer
    
    stream = cv2.VideoCapture(0) #Open live webcam video stream on first index(i.e. 0) device
    
    writer = WriteGear(output_filename = 'Output.mp4', compression_mode = True, logging = True, **output_params) #Define writer with output filename 'Output.mp4' 
    
    # infinite loop
    while True:
    
        (grabbed, frame) = stream.read()
        # read frames
    
        # check if frame empty
        if not is grabbed:
            #if True break the infinite loop
            break
    
    
        # {do something with frame here}
            gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    
        # write a modified frame to writer
            writer.write(gray) 
    
            # Show output window
        cv2.imshow("Output Frame", frame)
    
        key = cv2.waitKey(1) & 0xFF
        # check for 'q' key-press
        if key == ord("q"):
            #if 'q' key-pressed break out
            break
    
    cv2.destroyAllWindows()
    # close output window
    
    stream.release()
    # safely close video stream
    writer.close()
    # safely close writer
    

    Source: https://github.com/abhiTronix/vidgear/wiki/Compression-Mode:-FFmpeg#2-writegear-classcompression-mode-with-opencv-directly

    You can check out full VidGear Docs for more advanced applications and exciting features.

    Hope that helps!

提交回复
热议问题