Kind of new in opencv or any other framework , I have a video from a static camera I would like to create a panorama image out of. I did try splitting the video into frames and then stitching all the frames together but it was too slow. Is there any other solutions ?
Video to panorama image
3.2k Views Asked by sroot At
2
There are 2 best solutions below
0
Y.AL
On
You can split your video into small images by interpolating the frames down using resize() function, and once you have a stitched total image you can interpolate it up by the same ratio.
resize(input /* input image*/, result /*result image */, result.size()/*new dimensions*/, 0, 0, INTER_CUBIC/* interpolation method*/);
To know more interpolation methods, you can check this doc http://docs.opencv.org/modules/imgproc/doc/geometric_transformations.html#resize
Even you can define an area of your images to detect the corresponding keypoints
Related Questions in .NET
- file download method in visual studio 2017
- Repository manager receives the wrong connection string in .net core
- MongoDb not connecting C#
- The current .NET SDK does not support targeting .NET Core 6.0. Brand new WPF Project VS Community 2022 17.9.5
- Why Scanning GSI on DynamoDb doesnt work as fast as expected when using CONTAINS?
- Are "blittable types" really unmanaged types for StructLayout Sequential
- Failed to fetch dynamically imported module on Blazor JS Interop
- Problem to upload several images per one request
- Implementing Azure AD B2C Authentication in .NET 8 Blazor Project (RenderMode: InteractiveAuto)
- Stripe connect payout - throws exceptions
- 'IOException: The cloud file provider is not running', when trying to delete 'cloud' folder
- Azure Application Insights Not Displaying Custom Logs for Azure Functions with .NET 8
- Convert C# DateTime.Ticks to Bigquery DateTime Format
- Socket.io nodejs server .NET connection
- Producer Batching Service Bus Vs Kafka
Related Questions in OPENCV
- Creating multiple instances of a class with different initializing values in Flutter
- OpenCV2 on CLion
- How to Draw Chinese Characters on a Picture with OpenCV
- Python cv2 imwrite() - RGB or BGR
- AttributeError: 'Sequential' object has no attribute 'predict_classes'. Did you mean: 'predict_step'?
- Search for an icon on an image OpenCV
- DJI Tello won't follow me
- Python OpenCV and PyGame threading issue
- Need help in Converting Python script (Uses Yolo's pose estimation) to an android app
- Line Segmentation Problem: How to detect lines and draw bounding box of that line on handwritten letters Using CV2
- Configure CmakeLists.txt to avoid manually copying dlls
- How to detect the exact boundary of a Sudoku using OpenCV when there are multiple external boundaries?
- AttributeError: 'Results' object has no attribute 'box'. can anyone explain this?
- How to generate a VPI warpmap for polynomial distortion correction?
- I am trying to make a project of object detection on kaggle notebook using yolo. and i am facing this error. here is my code and my error
Related Questions in OPENCV-STITCHING
- How to access angle and shift information in cv2-reg (OpenCV)?
- Can I specify areas which should be preserved during OpenCV image stitching?
- Stitching of video frames from two calibrated CCTV cameras
- Affine Stitching Image As Step By Step
- How do I access the camera/transform parameters in cv2.Stitcher?
- Quantifying stitching effects
- The process ended forcefully while designing an interface using Qt and OpenCV
- OpenCV stitcher ignores additional image
- OpenCV 4.7.0 Unhandled Exception - xfeatures2d SURF::create
- OpenCV Python Stitching: Define custom keypoints / matches skipping feature detector & matcher
- OpenCV on iOS simple stitching example fails with resize error
- Why am I missing a picture while using OpenCV Stitching?
- Why does OpenCV Stitcher Class fail for image sub sections?
- How stitch image with cuda?
- 360 Equirectangular Image Stitching
Related Questions in BOOFCV
- BoofCV on Android - threshold() returns black image
- Error after adding boofcv-core to Android: java.lang.RuntimeException: Duplicate class com.google.protobuf
- ThresholdImageOps.threshold() doesn't work(Android)
- Is there a Dilatiing function in BoofCV(Android)?
- Sarxos Webcam-Capture error - "We shouldn't be here..."
- BoofCV: Unresolved Compilation Problems
- Extract video frames on Android with ExtractMpegFramesTest and running a computationally intensive function instead of saving as images
- VisualizeMonocularPlaneVisualOdometryApp boofcv calibration
- How to get already opened camera to add flashlight in Android?
- Boofcv - java.lang.ClassNotFoundException: org.ddogleg.struct.Factory
- How to generate fiducial markers for BoofCV?
- How to detect the number of people in a video using boofcv?
- BoofCV - canny.process() function is taking a lot of time
- How to get Number of bands from a Bitmap in Android Device?
- Read QR code with BoofCV JAR in command line Windows
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
There is no out-of-the-box solution in OpenCV.
To speed it up, you could take only every n-th frame and hope that the camera man doesn't move too fast.
You might try to dive deeper into the stitching pieline. I don't know about your video, but you could do the following:
If your video often has parts with a still camera try to check if there is movement. If there is no movement you don't habe to stitch. To detect the movement fast take a scaled down version of the frames, or only a region of your frames and match these.
If you know the direction of movement you could try and cut a part of your image of. So if the camera is moving to the right you could cut the leftmost part of and still stitch, because the change in videoinformation from frame to frame should be small.
tl;dr no easy way, dive deeper into the stitching pipeline and tailor the algorithm to your source material to gain a speed-up