Use nvvidconv to flip frame in 2 direction at the same time with Python OpenCV on Jetson Nano

According to docummentation Accelerated_GStreamer_User_Guide_Release_24.2.1, nvvidconv provide 7 method to flip the frame.

I want to do nvvidconv flip-method=4 and nvvidconv flip-method=6 at the same time. How should I write the gstreamer pipeline in Python with cv2 on Jetson Nano?

The Code:

import cv2 width = 640 height = 480 framerate = 30 gs_pipeline = f"v4l2src device=/dev/video0 io-mode=2 " \ f"! image/jpeg, width={width}, height={height}, framerate={framerate}/1, format=MJPG " \ f"! nvv4l2decoder mjpeg=1 " \ f"! nvvidconv flip-method=[4, 6] " \ f"! video/x-raw, format=BGRx " \ f"! videoconvert " \ f"! video/x-raw, format=BGR " \ f"! appsink drop=1" gs_pipeline = gs_pipeline print(f"gst-launch-1.0 {gs_pipeline}\n") v_cap = cv2.VideoCapture(gs_pipeline, cv2.CAP_GSTREAMER) if not v_cap.isOpened(): print("failed to open video capture") v_cap.release() exit(-1) while v_cap.isOpened(): ret_val, frame = v_cap.read() if not ret_val: break cv2.imshow('', frame) input_key = cv2.waitKey(1) if input_key != -1: print(f"input key = {input_key}") if input_key == ord('q'): break v_cap.release() cv2.destroyAllWindows() 

1 Answer

Flipping horizontally and vertically would be equivalent to 180° rotation, so just use:

... ! nvvidconv flip-method=2 ! ... 

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

You Might Also Like