OpenMVG (open Multiple View Geometry) VS OpenCV

Compare OpenMVG (open Multiple View Geometry) vs OpenCV and see what are their differences.

Our great sponsors
  • SonarLint - Deliver Cleaner and Safer Code - Right in Your IDE of Choice!
  • Scout APM - Less time debugging, more time building
  • SaaSHub - Software Alternatives and Reviews
OpenMVG (open Multiple View Geometry) OpenCV
4 102
4,200 61,629
2.3% 1.7%
6.8 9.8
2 days ago 1 day ago
C++ C++
GNU General Public License v3.0 or later GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

OpenMVG (open Multiple View Geometry)

Posts with mentions or reviews of OpenMVG (open Multiple View Geometry). We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-04-20.

OpenCV

Posts with mentions or reviews of OpenCV. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-05-17.
  • Docker multi-architecture, .NET 6.0 and OpenCVSharp
    6 projects | dev.to | 17 May 2022
    FROM debian:bullseye-slim AS build-native-env ARG TARGETPLATFORM ENV DEBIAN_FRONTEND=noninteractive # 4.5.5: released 25 Dec 2021 ENV OPENCV_VERSION=4.5.5 # 4.5.3.20211228: released 28 Dec 2021 ENV OPENCVSHARP_VERSION=4.5.3.20211228 WORKDIR / # install dependencies required for building OpenCV and OpenCvSharpExtern RUN apt-get update && apt-get -y install --no-install-recommends \ # details omitted \ libgdiplus # Get OpenCV and opencv-contrib sources using the specified release. RUN wget https://github.com/opencv/opencv/archive/${OPENCV_VERSION}.zip && \ unzip ${OPENCV_VERSION}.zip && \ rm ${OPENCV_VERSION}.zip && \ mv opencv-${OPENCV_VERSION} opencv RUN wget https://github.com/opencv/opencv_contrib/archive/${OPENCV_VERSION}.zip && \ unzip ${OPENCV_VERSION}.zip && \ rm ${OPENCV_VERSION}.zip && \ mv opencv_contrib-${OPENCV_VERSION} opencv_contrib # configure and build OpenCV optionally specifying architecture related cmake options. RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \ ADDITIONAL_FLAGS='' ; \ elif [ "$TARGETPLATFORM" = "linux/arm64" ]; then \ ADDITIONAL_FLAGS='-D ENABLE_NEON=ON -D CPU_BASELINE=NEON ' ; \ elif [ "$TARGETPLATFORM" = "linux/arm/v7" ]; then \ ADDITIONAL_FLAGS='-D CPU_BASELINE=NEON -D ENABLE_NEON=ON ' ; \ fi && cd opencv && mkdir build && cd build && \ cmake $ADDITIONAL_FLAGS \ # additional flags omitted for clarity \ && make -j$(nproc) \ && make install \ && ldconfig # Download OpenCvSharp to build OpenCvSharpExtern native library RUN git clone https://github.com/shimat/opencvsharp.git RUN cd opencvsharp && git fetch --all --tags --prune && git checkout ${OPENCVSHARP_VERSION} WORKDIR /opencvsharp/src RUN mkdir /opencvsharp/make \ && cd /opencvsharp/make \ && cmake -D CMAKE_INSTALL_PREFIX=/opencvsharp/make /opencvsharp/src \ && make -j$(nproc) \ && make install \ && cp /opencvsharp/make/OpenCvSharpExtern/libOpenCvSharpExtern.so /usr/lib/ \ && ldconfig # Copy the library and dependencies to /artifacts (to be used by images consuming this build) # cpld.sh will copy the library we specify (./libOpenCvSharpExtern.so) and any dependencies # to the /artifacts directory. This is useful for sharing the library with other images # consuming this build. # credits: Hemanth.HM -> https://h3manth.com/content/copying-shared-library-dependencies WORKDIR /opencvsharp/make/OpenCvSharpExtern COPY cpld.sh . RUN chmod +x cpld.sh && \ mkdir /artifacts && \ ./cpld.sh ./libOpenCvSharpExtern.so /artifacts/ RUN cp ./libOpenCvSharpExtern.so /artifacts/ # Publish the artefacts using a clean image FROM debian:bullseye-slim AS final RUN mkdir /artifacts COPY --from=build-native-env /artifacts/ /artifacts WORKDIR /artifacts
  • OpenCV integration in Unreal Engine problem
    1 project | reddit.com/r/unrealengine | 2 May 2022
    I installed opencv version 4.5.5, the latest available to date (02/05/2022), via https://github.com/opencv/opencv/releases (file: opencv-4.5.5-vc14_vc15.exe)
  • Get Started with Face Detection
    1 project | dev.to | 2 May 2022
    Download a pre-trained model (file here) for frontal face detection from the OpenCV GitHub project - to be placed in your working directory.
  • [HELP] Looking for CV2 functions math and implementation details
    1 project | reddit.com/r/computervision | 14 Apr 2022
  • Scanning Barcode and QR Code Using Webcam, OpenCV and Python
    2 projects | dev.to | 13 Apr 2022
    It is known that Python's GIL (Global Interpreter Lock) is a performance bottleneck for multi-threaded applications. Therefore, it is recommended to use Python's multiprocessing library to run barcode and QR code detection algorithm which is CPU-intensive. The sample code video_threaded.py demonstrates how to use Python's multiprocessing library.
  • Processing images in Java with OpenCV and Quarkus
    5 projects | dev.to | 13 Apr 2022
    If you are into Computer vision, you probably are familiar with OpenCV. Its an amazing library that has almost everything one needs to do 2D and 3D processing and much more. Gesture recognition, face detection, Motion tracking, think of anything related to image processing and OpenCV can be your goto. Its based on the BSD license, so you can just download it and start using it.
  • can anyone help with changing my code from tracking with colours to tracking using shape of the ball only. So my program can become more versatile?? Seen something online but cant follow. OPENCV
    1 project | reddit.com/r/learnpython | 11 Apr 2022
  • [Linux] Camera resolution won't save/apply.
    1 project | reddit.com/r/ispyconnect | 2 Apr 2022
    From what I've gathered, it's possible that the GPU [Nvidia 650M] isn't compatible with FFmpeg/NVENC. Resulting in ````Error: ffmpegbase: Main: Couldn't create AV_HWDEVICE_TYPE_NONE decoder. Using CPU instead. Though setting the decoder to use CPU still doesn't allow the resolution to change. It will change in the terminal, IE; opening /dev/video2 with opts video_size=1920x1080 but it doesn't seem to change in the agent as opening /dev/video2 with opts video_size=160x90 looks identical. I'm not sure what I'm missing, what can I do to fix this? Logs Starting... Using default media location Creating temp path for opencv in /tmp/ Get com port list Using default port (8090) Local Server running on port 8090 H264 compatible version of ffmpeg is required to use H264 encoding. Switch to VP8 in settings if unable to record. Accepting http connections at http://*:8090/ Access locally at http://192.168.50.121:8090 Agent (v3.9.0.0) Log start Process is 64 bit Using WorkStation GC Init Webrtc Init FFmpeg Looking for ffmpeg in /usr/local/lib Not in there.. Looking for ffmpeg in /usr/lib/x86_64-linux-gnu ffmpeg path: /usr/lib/x86_64-linux-gnu Initializing devices vdpau ZeroConf: ZeroConf Service Started cuda vaapi drm opencl Found 4 devices List Devices: /dev/video3 call ffplay -nodisp -f v4l2 -list_formats all /dev/video3 [video4linux2,v4l2 @ 0x7f1e50000bc0] ioctl(vidioc_g_input): inappropriate ioctl for device List Devices: /dev/video2 call ffplay -nodisp -f v4l2 -list_formats all /dev/video2 [video4linux2,v4l2 @ 0x7f3304000bc0] raw : yuyv422 : yuyv 4:2:2 : 640x480 160x90 160x120 176x144 320x180 320x240 352x288 432x240 640x360 800x448 800x600 864x480 960x720 1024x576 1280x720 1600x896 1920x1080 2304x1296 2304x1536 List Devices: /dev/video1 call ffplay -nodisp -f v4l2 -list_formats all /dev/video1 [video4linux2,v4l2 @ 0x7f2f7c000bc0] ioctl(vidioc_g_input): inappropriate ioctl for device List Devices: /dev/video0 call ffplay -nodisp -f v4l2 -list_formats all /dev/video0 [video4linux2,v4l2 @ 0x7f6ee8000bc0] raw : yuyv422 : yuyv 4:2:2 : 640x480 384x216 352x288 320x240 176x144 160x120 1280x720 call arecord -l Preloading Images Turn Server accepting connections at 192.168.50.121:3478 using range 50000-50010) MQTT not configured or enabled Loaded 1 cameras and 0 mics from /home/toor/AgentDVR/Media/XML/objects.xml Running at http://localhost:8090 Enable: Main: Enabled opening /dev/video2 with opts video_size=1920x1080 IP addresses: 192.168.50.121 found 192.168.50.1 found 192.168.50.65 found 192.168.50.7 found 192.168.50.43 found 192.168.50.121 found 192.168.50.137 Start Stream: Main: Using software decoder found 192.168.50.136 [ WARN:0] global /home/sean/Desktop/emgucv/opencv/modules/core/src/matrix_expressions.cpp (1334) assign OpenCV/MatExpr: processing of multi-channel arrays might be changed in the future: https://github.com/opencv/opencv/issues/16739 rtc:added servers rtc:inited peer connection (True) rtc:set flag rtc:onsuccessanswer ICE state: Checking ICE state: Connected rtc:ondatachannelstatechange (serverdata: Open) rtc: opened serverdata rtc:ondatachannelstatechange (talk: Open) rtc: opened talk Found 4 devices List Devices: /dev/video3 call ffplay -nodisp -f v4l2 -list_formats all /dev/video3 [video4linux2,v4l2 @ 0x7f4604000bc0] ioctl(vidioc_g_input): inappropriate ioctl for device List Devices: /dev/video2 call ffplay -nodisp -f v4l2 -list_formats all /dev/video2 [video4linux2,v4l2 @ 0x7f2f4c000bc0] raw : yuyv422 : yuyv 4:2:2 : 640x480 160x90 160x120 176x144 320x180 320x240 352x288 432x240 640x360 800x448 800x600 864x480 960x720 1024x576 1280x720 1600x896 1920x1080 2304x1296 2304x1536 List Devices: /dev/video1 call ffplay -nodisp -f v4l2 -list_formats all /dev/video1 [video4linux2,v4l2 @ 0x7faa04000bc0] ioctl(vidioc_g_input): inappropriate ioctl for device List Devices: /dev/video0 call ffplay -nodisp -f v4l2 -list_formats all /dev/video0 [video4linux2,v4l2 @ 0x7fa6b8000bc0] raw : yuyv422 : yuyv 4:2:2 : 640x480 384x216 352x288 320x240 176x144 160x120 1280x720 call arecord -l SourcePlayingFinished: Main: Playing finished (Restart) intervals: Main: Reconnecting intervals: Main: Reconnect Exit opening /dev/video2 with opts video_size=1920x1080 Start Stream: Main: Using software decoder SourcePlayingFinished: Main: Playing finished (StoppedByUser) opening /dev/video2 with opts video_size=1920x1080 Enable: Main: Enabled Start Stream: Main: Using software decoder StartSaving: Main: opening with base codec AV_CODEC_ID_H264 Opening codec mediaWriter: Main: Using CPU encoder
  • [Question] - capturing video
    1 project | reddit.com/r/opencv | 30 Mar 2022
  • Classify a person image is full body or not
    2 projects | reddit.com/r/computervision | 26 Mar 2022
    Another solution could be to run the full body haar cascade https://github.com/opencv/opencv/blob/master/data/haarcascades/haarcascade_fullbody.xml on the output of the yolov5, and let it decide.

What are some alternatives?

When comparing OpenMVG (open Multiple View Geometry) and OpenCV you can also consider the following projects:

VTK - Mirror of Visualization Toolkit repository

libvips - A fast image processing library with low memory needs.

Boost.GIL - Boost.GIL - Generic Image Library | Requires C++11 since Boost 1.68

CImg - The CImg Library is a small and open-source C++ toolkit for image processing

EasyOCR - Ready-to-use OCR with 80+ supported languages and all popular writing scripts including Latin, Chinese, Arabic, Devanagari, Cyrillic and etc.

SimpleCV - The Open Source Framework for Machine Vision

imagick - Go binding to ImageMagick's MagickWand C API

ITK - Insight Toolkit (ITK) -- Official Repository. ITK builds on a proven, spatially-oriented architecture for processing, segmentation, and registration of scientific images in two, three, or more dimensions.

yolov5 - YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite

tesseract-ocr - Tesseract Open Source OCR Engine (main repository)

Kornia - Open Source Differentiable Computer Vision Library

scikit-image - Image processing in Python