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
- Does compiler optimize operation on const variable and literal const number?
- What is the point of definnig Asp.net Intrinsic Objects In different places and what is the different betwen them?
- Deleting Orphans with Fluent NHibernate
- IOrderedEnumerable to vb.net IOrderedEnumerable Conversion
- What is this namespace ITypeOfObjectsBoundToListBox ? Couldn't find it
- .net rest service with JSON string and consumed with java client
- What is best way to check if any of the property of object is null or empty?
- Telerik's WPF RadColorPicker NoColorText property not working
- Possible consequences of duplicate ProgId for different classes
- How are multiple requests to Task.Run handled from a resource management standpoint?
- Optimizing C++ call from C#
- Make a per-web-application object available to Web API and SignalR controllers
- System.ComponentModel.DataAnnotations.Schema namespace conflict
- LINQ Except/Distinct based on few columns only, to not add duplicates
- Not displaying content by its URL string - absolute urls
Related Questions in OPENCV
- segmentation fault: 11, extracting data in vector
- Disable OpenCL in OpenCV completely
- Python - Writing your own function with opencv giving an error
- Opengl Augmented Reality in Android from solvepnp
- OpenCv Multispectral Image openCV
- Displaying bitmap image on Android (OpenCV)
- Applying homography on non planar surface
- BackgroundSubtractor getBackgroundImage() function return empty Image
- How to choose good SURF feature keypoints?
- opencv python error: Assertion failed (size.width>0 && size.height>0)
- CIDetector to filter rectangle and get cropped image
- How to detect squares in video with OpenCV?
- Python OpenCV error: (-215) size.width>0 && size.height>0 in function imshow
- OpenCV algorithm of contours searching and creation of bounding rectagle
- OpenCV Opening/Closing shifts the positions of the pixels
Related Questions in OPENCV-STITCHING
- Meaning of the parameters in the function detail::GraphCutSeamFinder in opencv
- Image stitching Python
- How do I access the camera/transform parameters in cv2.Stitcher?
- Affine Stitching Image As Step By Step
- Stitching of video frames from two calibrated CCTV cameras
- How can I get stitched images of same size for all frames from one video?
- Low quality aerial stitching with OpenCV
- (OpenCV Stitching) How to get better performance using OpenCV Stitcher class?
- OpenCV on iOS simple stitching example fails with resize error
- OpenCV Python Stitching: Define custom keypoints / matches skipping feature detector & matcher
- Image stitching with opencvsharp
- To use th OpenCV image Stitcher without the OpenCV library
- Cropping panorama image in OpenCV
- Video to panorama image
- Modify the OpenCV Sticher class for speed
Related Questions in BOOFCV
- How can I use BoofCV to transform a list of vertices so that the center of the polygon they form will be moved to the middle of the image?
- android boofcv ip camera manipulation using videoview
- Calculate gradient directions using java
- KLT Pyramid BoofCV
- Boofcv record from RTSP link
- How to watershed(segment) an image in Java with BoofCV?
- Equivalence of cvMatchTemplate() in BoofCV or pure java computer vision library?
- java.lang.NoClassDefFoundError when running on maven
- How to get target location when using TrackerObjectQuad in Boofcv
- VisualizeMonocularPlaneVisualOdometryApp boofcv calibration
- Video to panorama image
- Error building boofcv calibration app with gradle
- Error after adding boofcv-core to Android: java.lang.RuntimeException: Duplicate class com.google.protobuf
- BoofCV on Android - threshold() returns black image
- How to configure Build.gradle file to include boofcv library in a project for android studio?
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 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