Automated CI toolchain to produce precompiled opencv-python, opencv-python-headless, opencv-contrib-python and opencv-contrib-python-headless packages.

Overview

Downloads

OpenCV on Wheels

Pre-built CPU-only OpenCV packages for Python.

Check the manual build section if you wish to compile the bindings from source to enable additional modules such as CUDA.

Installation and Usage

  1. If you have previous/other manually installed (= not installed via pip) version of OpenCV installed (e.g. cv2 module in the root of Python's site-packages), remove it before installation to avoid conflicts.

  2. Make sure that your pip version is up-to-date (19.3 is the minimum supported version): pip install --upgrade pip. Check version with pip -V. For example Linux distributions ship usually with very old pip versions which cause a lot of unexpected problems especially with the manylinux format.

  3. Select the correct package for your environment:

    There are four different packages (see options 1, 2, 3 and 4 below) and you should SELECT ONLY ONE OF THEM. Do not install multiple different packages in the same environment. There is no plugin architecture: all the packages use the same namespace (cv2). If you installed multiple different packages in the same environment, uninstall them all with pip uninstall and reinstall only one package.

    a. Packages for standard desktop environments (Windows, macOS, almost any GNU/Linux distribution)

    • Option 1 - Main modules package: pip install opencv-python
    • Option 2 - Full package (contains both main modules and contrib/extra modules): pip install opencv-contrib-python (check contrib/extra modules listing from OpenCV documentation)

    b. Packages for server (headless) environments (such as Docker, cloud environments etc.), no GUI library dependencies

    These packages are smaller than the two other packages above because they do not contain any GUI functionality (not compiled with Qt / other GUI components). This means that the packages avoid a heavy dependency chain to X11 libraries and you will have for example smaller Docker images as a result. You should always use these packages if you do not use cv2.imshow et al. or you are using some other package (such as PyQt) than OpenCV to create your GUI.

    • Option 3 - Headless main modules package: pip install opencv-python-headless
    • Option 4 - Headless full package (contains both main modules and contrib/extra modules): pip install opencv-contrib-python-headless (check contrib/extra modules listing from OpenCV documentation)
  4. Import the package:

    import cv2

    All packages contain Haar cascade files. cv2.data.haarcascades can be used as a shortcut to the data folder. For example:

    cv2.CascadeClassifier(cv2.data.haarcascades + "haarcascade_frontalface_default.xml")

  5. Read OpenCV documentation

  6. Before opening a new issue, read the FAQ below and have a look at the other issues which are already open.

Frequently Asked Questions

Q: Do I need to install also OpenCV separately?

A: No, the packages are special wheel binary packages and they already contain statically built OpenCV binaries.

Q: Pip install fails with ModuleNotFoundError: No module named 'skbuild'?

Since opencv-python version 4.3.0.*, manylinux1 wheels were replaced by manylinux2014 wheels. If your pip is too old, it will try to use the new source distribution introduced in 4.3.0.38 to manually build OpenCV because it does not know how to install manylinux2014 wheels. However, source build will also fail because of too old pip because it does not understand build dependencies in pyproject.toml. To use the new manylinux2014 pre-built wheels (or to build from source), your pip version must be >= 19.3. Please upgrade pip with pip install --upgrade pip.

Q: Import fails on Windows: ImportError: DLL load failed: The specified module could not be found.?

A: If the import fails on Windows, make sure you have Visual C++ redistributable 2015 installed. If you are using older Windows version than Windows 10 and latest system updates are not installed, Universal C Runtime might be also required.

Windows N and KN editions do not include Media Feature Pack which is required by OpenCV. If you are using Windows N or KN edition, please install also Windows Media Feature Pack.

If you have Windows Server 2012+, media DLLs are probably missing too; please install the Feature called "Media Foundation" in the Server Manager. Beware, some posts advise to install "Windows Server Essentials Media Pack", but this one requires the "Windows Server Essentials Experience" role, and this role will deeply affect your Windows Server configuration (by enforcing active directory integration etc.); so just installing the "Media Foundation" should be a safer choice.

If the above does not help, check if you are using Anaconda. Old Anaconda versions have a bug which causes the error, see this issue for a manual fix.

If you still encounter the error after you have checked all the previous solutions, download Dependencies and open the cv2.pyd (located usually at C:\Users\username\AppData\Local\Programs\Python\PythonXX\Lib\site-packages\cv2) file with it to debug missing DLL issues.

Q: I have some other import errors?

A: Make sure you have removed old manual installations of OpenCV Python bindings (cv2.so or cv2.pyd in site-packages).

Q: Function foo() or method bar() returns wrong result, throws exception or crashes interpreter. What should I do?

A: The repository contains only OpenCV-Python package build scripts, but not OpenCV itself. Python bindings for OpenCV are developed in official OpenCV repository and it's the best place to report issues. Also please check {OpenCV wiki](https://github.com/opencv/opencv/wiki) and the official OpenCV forum before file new bugs.

Q: Why the packages do not include non-free algorithms?

A: Non-free algorithms such as SURF are not included in these packages because they are patented / non-free and therefore cannot be distributed as built binaries. Note that SIFT is included in the builds due to patent expiration since OpenCV versions 4.3.0 and 3.4.10. See this issue for more info: https://github.com/skvark/opencv-python/issues/126

Q: Why the package and import are different (opencv-python vs. cv2)?

A: It's easier for users to understand opencv-python than cv2 and it makes it easier to find the package with search engines. cv2 (old interface in old OpenCV versions was named as cv) is the name that OpenCV developers chose when they created the binding generators. This is kept as the import name to be consistent with different kind of tutorials around the internet. Changing the import name or behaviour would be also confusing to experienced users who are accustomed to the import cv2.

Documentation for opencv-python

Windows Build Status (Linux Build status) (Mac OS Build status)

The aim of this repository is to provide means to package each new OpenCV release for the most used Python versions and platforms.

CI build process

The project is structured like a normal Python package with a standard setup.py file. The build process for a single entry in the build matrices is as follows (see for example .github/workflows/build_wheels_linux.yml file):

  1. In Linux and MacOS build: get OpenCV's optional C dependencies that we compile against

  2. Checkout repository and submodules

    • OpenCV is included as submodule and the version is updated manually by maintainers when a new OpenCV release has been made
    • Contrib modules are also included as a submodule
  3. Find OpenCV version from the sources

  4. Build OpenCV

    • tests are disabled, otherwise build time increases too much
    • there are 4 build matrix entries for each build combination: with and without contrib modules, with and without GUI (headless)
    • Linux builds run in manylinux Docker containers (CentOS 5)
    • source distributions are separate entries in the build matrix
  5. Rearrange OpenCV's build result, add our custom files and generate wheel

  6. Linux and macOS wheels are transformed with auditwheel and delocate, correspondingly

  7. Install the generated wheel

  8. Test that Python can import the library and run some sanity checks

  9. Use twine to upload the generated wheel to PyPI (only in release builds)

Steps 1--4 are handled by pip wheel.

The build can be customized with environment variables. In addition to any variables that OpenCV's build accepts, we recognize:

  • CI_BUILD. Set to 1 to emulate the CI environment build behaviour. Used only in CI builds to force certain build flags on in setup.py. Do not use this unless you know what you are doing.
  • ENABLE_CONTRIB and ENABLE_HEADLESS. Set to 1 to build the contrib and/or headless version
  • ENABLE_JAVA, Set to 1 to enable the Java client build. This is disabled by default.
  • CMAKE_ARGS. Additional arguments for OpenCV's CMake invocation. You can use this to make a custom build.

See the next section for more info about manual builds outside the CI environment.

Manual builds

If some dependency is not enabled in the pre-built wheels, you can also run the build locally to create a custom wheel.

  1. Clone this repository: git clone --recursive https://github.com/opencv/opencv-python.git
  2. cd opencv-python
    • you can use git to checkout some other version of OpenCV in the opencv and opencv_contrib submodules if needed
  3. Add custom Cmake flags if needed, for example: export CMAKE_ARGS="-DSOME_FLAG=ON -DSOME_OTHER_FLAG=OFF" (in Windows you need to set environment variables differently depending on Command Line or PowerShell)
  4. Select the package flavor which you wish to build with ENABLE_CONTRIB and ENABLE_HEADLESS: i.e. export ENABLE_CONTRIB=1 if you wish to build opencv-contrib-python
  5. Run pip wheel . --verbose. NOTE: make sure you have the latest pip version, the pip wheel command replaces the old python setup.py bdist_wheel command which does not support pyproject.toml.
    • this might take anything from 5 minutes to over 2 hours depending on your hardware
  6. You'll have the wheel file in the dist folder and you can do with that whatever you wish
    • Optional: on Linux use some of the manylinux images as a build hosts if maximum portability is needed and run auditwheel for the wheel after build
    • Optional: on macOS use delocate (same as auditwheel but for macOS) for better portability

Manual debug builds

In order to build opencv-python in an unoptimized debug build, you need to side-step the normal process a bit.

  1. Install the packages scikit-build and numpy via pip.
  2. Run the command python setup.py bdist_wheel --build-type=Debug.
  3. Install the generated wheel file in the dist/ folder with pip install dist/wheelname.whl.

If you would like the build produce all compiler commands, then the following combination of flags and environment variables has been tested to work on Linux:

export CMAKE_ARGS='-DCMAKE_VERBOSE_MAKEFILE=ON'
export VERBOSE=1

python3 setup.py bdist_wheel --build-type=Debug

See this issue for more discussion: https://github.com/opencv/opencv-python/issues/424

Source distributions

Since OpenCV version 4.3.0, also source distributions are provided in PyPI. This means that if your system is not compatible with any of the wheels in PyPI, pip will attempt to build OpenCV from sources. If you need a OpenCV version which is not available in PyPI as a source distribution, please follow the manual build guidance above instead of this one.

You can also force pip to build the wheels from the source distribution. Some examples:

  • pip install --no-binary opencv-python opencv-python
  • pip install --no-binary :all: opencv-python

If you need contrib modules or headless version, just change the package name (step 4 in the previous section is not needed). However, any additional CMake flags can be provided via environment variables as described in step 3 of the manual build section. If none are provided, OpenCV's CMake scripts will attempt to find and enable any suitable dependencies. Headless distributions have hard coded CMake flags which disable all possible GUI dependencies.

On slow systems such as Raspberry Pi the full build may take several hours. On a 8-core Ryzen 7 3700X the build takes about 6 minutes.

Licensing

Opencv-python package (scripts in this repository) is available under MIT license.

OpenCV itself is available under Apache 2 license.

Third party package licenses are at LICENSE-3RD-PARTY.txt.

All wheels ship with FFmpeg licensed under the LGPLv2.1.

Non-headless Linux wheels ship with Qt 5 licensed under the LGPLv3.

The packages include also other binaries. Full list of licenses can be found from LICENSE-3RD-PARTY.txt.

Versioning

find_version.py script searches for the version information from OpenCV sources and appends also a revision number specific to this repository to the version string. It saves the version information to version.py file under cv2 in addition to some other flags.

Releases

A release is made and uploaded to PyPI when a new tag is pushed to master branch. These tags differentiate packages (this repo might have modifications but OpenCV version stays same) and should be incremented sequentially. In practice, release version numbers look like this:

cv_major.cv_minor.cv_revision.package_revision e.g. 3.1.0.0

The master branch follows OpenCV master branch releases. 3.4 branch follows OpenCV 3.4 bugfix releases.

Development builds

Every commit to the master branch of this repo will be built. Possible build artifacts use local version identifiers:

cv_major.cv_minor.cv_revision+git_hash_of_this_repo e.g. 3.1.0+14a8d39

These artifacts can't be and will not be uploaded to PyPI.

Manylinux wheels

Linux wheels are built using manylinux2014. These wheels should work out of the box for most of the distros (which use GNU C standard library) out there since they are built against an old version of glibc.

The default manylinux2014 images have been extended with some OpenCV dependencies. See Docker folder for more info.

Supported Python versions

Python 3.x compatible pre-built wheels are provided for the officially supported Python versions (not in EOL):

  • 3.6
  • 3.7
  • 3.8
  • 3.9
  • 3.10

Backward compatibility

Starting from 4.2.0 and 3.4.9 builds the macOS Travis build environment was updated to XCode 9.4. The change effectively dropped support for older than 10.13 macOS versions.

Starting from 4.3.0 and 3.4.10 builds the Linux build environment was updated from manylinux1 to manylinux2014. This dropped support for old Linux distributions.

Comments
  • opencv GUI does not work

    opencv GUI does not work

    cv2.namedWindow('test', cv2.WINDOW_AUTOSIZE) results in an error:

    QObject::moveToThread: Current thread (0xca9110) is not the object's thread (0x1256140).
    Cannot move to target thread (0xca9110)
    

    here is the version:

    cv2.__version__
    Out[3]: '3.3.0'
    QtCore.QT_VERSION_STR
    Out[7]: '5.6.2'
    
    wontfix 
    opened by braindevices 90
  • Wheel support for  linux aarch64

    Wheel support for linux aarch64

    Summary Installing opencv-python on aarch64 via pip using command "pip3 install opencv-python" throws error: No matching distribution found for opencv-python

    Problem description opencv-python doesn't have wheel for aarch64 on PyPI repository. So, while installing opencv-python via pip on aarch64, it throws an error " No matching distribution found for opencv-python".

    Expected Output Pip should be able to download opencv-python wheel from PyPI repository.

    @opencv-pythonl-team, please let me know if I can help you building wheel/uploading to PyPI repository. I am curious to make opencv-pythonl wheel available for aarch64. It will be a great opportunity for me to work with you.

    enhancement 
    opened by odidev 46
  • Include non-free algorithms

    Include non-free algorithms

    Hello,

    with the recent update, in Opencv 3.4.3, the non-free algorithms such as SIFT and SURF are no more available.

    >>> import cv2
    >>> cv2.__version__
    '3.4.3'
    >>> cv2.xfeatures2d.SIFT_create()
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    cv2.error: OpenCV(3.4.3) /io/opencv_contrib/modules/xfeatures2d/src/sift.cpp:1207: error: (-213:The function/feature is not implemented) This algorithm is patented and is excluded in this configuration; Set OPENCV_ENABLE_NONFREE CMake option and rebuild the library in function 'create'
    
    >>> cv2.xfeatures2d.SURF_create()
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    cv2.error: OpenCV(3.4.3) /io/opencv_contrib/modules/xfeatures2d/src/surf.cpp:1016: error: (-213:The function/feature is not implemented) This algorithm is patented and is excluded in this configuration; Set OPENCV_ENABLE_NONFREE CMake option and rebuild the library in function 'create'
    

    As the error messages say, the library should be recompiled with -D OPENCV_ENABLE_NONFREE=1. Would it be possible to reintroduce these algorithms in the pip package?

    opened by sinecode 36
  • DLL load fails on Anaconda/Windows install (python3.dll)

    DLL load fails on Anaconda/Windows install (python3.dll)

    After doing a simple pip install opencv-python or pip install opencv-contrib-python and trying to import the library, I ran into this issue:

    λ python
    Python 3.5.2 |Anaconda 4.2.0 (64-bit)| (default, Jul  5 2016, 11:41:13) [MSC v.1900 64 bit (AMD64)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import cv2
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "C:\Anaconda3\lib\site-packages\cv2\__init__.py", line 7, in <module>
        from . import cv2
    ImportError: DLL load failed: The specified module could not be found.
    

    The readme suggests installing the Visual C++ Redistributable for Visual Studio 2015 but I already had it installed (actually had Visual Studio itself installed as well).

    Checking the dependencies of the pyd binary in this package (using dumpbin which comes with Visual Studio):

    λ dumpbin.exe C:\Anaconda3\Lib\site-packages\cv2\cv2.cp35-win_amd64.pyd /IMPORTS | grep dll
        python3.dll
        python35.dll
        MSVFW32.dll
        AVIFIL32.dll
        AVICAP32.dll
        KERNEL32.dll
        USER32.dll
        GDI32.dll
        ole32.dll
        OLEAUT32.dll
        COMDLG32.dll
        ADVAPI32.dll
    

    After checking if these were in the PATH I was surprised to find that python3.dll was the only one that wasn't!

    Although python3.dll comes with the standard CPython install, it's not packaged with Anaconda for some reason. ContinuumIO/anaconda-issues#1394 references this and it seems like it's just not supported(?).

    As a workaround suggested in that thread, I solved this by just copying python3.dll from the official CPython 3.5.2 binaries (specifically from the Windows x86-64 embeddable zip file) into C:\Anaconda3, although I imagine it would work being anywhere in your PATH.

    I thought I'd share this bit of troubleshooting since Anaconda is a popular distribution among academics and so is OpenCV, so I figure I might not be the only one running into this issue. Maybe a note in the readme might help others until Anaconda resolves this?

    Alternatively, the menpo/opencv3 Anaconda package would also work but I don't think it supports ffmpeg nor opencv-contrib.

    For reference, I'm running on Python 3.5.2 which came with Anaconda 4.2.0 (official installer), although conda info reports a slightly newer version:

    λ conda info
    Current conda install:
    
                   platform : win-64
              conda version : 4.3.16
           conda is private : False
          conda-env version : 4.3.16
        conda-build version : 2.0.2
             python version : 3.5.2.final.0
           requests version : 2.12.4
           root environment : C:\Anaconda3  (writable)
        default environment : C:\Anaconda3
           envs directories : C:\Anaconda3\envs
                              C:\Users\Talmo\AppData\Local\conda\conda\envs
                              C:\Users\Talmo\.conda\envs
              package cache : C:\Anaconda3\pkgs
                              C:\Users\Talmo\AppData\Local\conda\conda\pkgs
               channel URLs : https://repo.continuum.io/pkgs/free/win-64
                              https://repo.continuum.io/pkgs/free/noarch
                              https://repo.continuum.io/pkgs/r/win-64
                              https://repo.continuum.io/pkgs/r/noarch
                              https://repo.continuum.io/pkgs/pro/win-64
                              https://repo.continuum.io/pkgs/pro/noarch
                              https://repo.continuum.io/pkgs/msys2/win-64
                              https://repo.continuum.io/pkgs/msys2/noarch
                config file : None
               offline mode : False
                 user-agent : conda/4.3.16 requests/2.12.4 CPython/3.5.2 Windows/10 Windows/10.0.15063
    

    Cheers and thanks for all the work you put into this repo!

    wontfix 
    opened by talmo 29
  • Pip build fails: FileNotFoundError: [Errno 2] No such file or directory: 'scripts/__init__.py'

    Pip build fails: FileNotFoundError: [Errno 2] No such file or directory: 'scripts/__init__.py'

    Reproduce:

    • pip install --upgrade pip setuptools wheel
    • CMAKE_ARGS="-DOPENCV_ENABLE_NONFREE=ON" pip install -v --no-binary=opencv-contrib-python opencv-contrib-python

    Related commit: https://github.com/opencv/opencv-python/commit/6a1f61b8d7e413059dbf0b9e897579c8305c327f#diff-60f61ab7a8d1910d86d9fda2261620314edcae5894d5aaa236b821c7256badd7R389

    Related PR: https://github.com/opencv/opencv-python/pull/563

    Error:
    
    Configuring Project
        Working directory:
          /tmp/pip-install-ais_cble/opencv-python_36817dc5e0834847b9d8f8f1dc7bd3c4/_skbuild/linux-x86_64-3.8/cmake-build
        Command:
          cmake /tmp/pip-install-ais_cble/opencv-python_36817dc5e0834847b9d8f8f1dc7bd3c4/opencv -G Ninja -DCMAKE_INSTALL_PREFIX:PATH=/tmp/pip-install-ais_cble/opencv-python_36817dc5e0834847b9d8f8f1dc7bd3c4/_skbuild/linux-x86_64-3.8/cmake-install -DPYTHON_EXECUTABLE:FILEPATH=/home/elmeri/.venv/ml/bin/python3.8 -DPYTHON_VERSION_STRING:STRING=3.8.12 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.8 -DPYTHON_LIBRARY:FILEPATH=/usr/lib/libpython3.8.so -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/tmp/pip-build-env-bo2trral/overlay/lib/python3.8/site-packages/skbuild/resources/cmake -DPYTHON3_EXECUTABLE=/home/elmeri/.venv/ml/bin/python3.8 -DPYTHON3_INCLUDE_DIR=/usr/include/python3.8 -DPYTHON3_LIBRARY=/usr/lib/libpython3.8.so -DBUILD_opencv_python3=ON -DBUILD_opencv_python2=OFF -DBUILD_opencv_java=OFF -DOPENCV_PYTHON3_INSTALL_PATH=python -DINSTALL_CREATE_DISTRIB=ON -DBUILD_opencv_apps=OFF -DBUILD_opencv_freetype=OFF -DBUILD_SHARED_LIBS=OFF -DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=OFF -DBUILD_DOCS=OFF -DOPENCV_ENABLE_NONFREE=ON -DCMAKE_BUILD_TYPE:STRING=Release
    
      Copying files from CMake output
      Traceback (most recent call last):
        File "/home/elmeri/.venv/ml/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 349, in <module>
          main()
        File "/home/elmeri/.venv/ml/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 331, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
        File "/home/elmeri/.venv/ml/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 248, in build_wheel
          return _build_backend().build_wheel(wheel_directory, config_settings,
        File "/tmp/pip-build-env-bo2trral/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 221, in build_wheel
          return self._build_with_temp_dir(['bdist_wheel'], '.whl',
        File "/tmp/pip-build-env-bo2trral/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 207, in _build_with_temp_dir
          self.run_setup()
        File "/tmp/pip-build-env-bo2trral/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 258, in run_setup
          super(_BuildMetaLegacyBackend,
        File "/tmp/pip-build-env-bo2trral/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 150, in run_setup
          exec(compile(code, __file__, 'exec'), locals())
        File "setup.py", line 496, in <module>
          main()
        File "setup.py", line 248, in main
          skbuild.setup(
        File "/tmp/pip-build-env-bo2trral/overlay/lib/python3.8/site-packages/skbuild/setuptools_wrap.py", line 625, in setup
          _classify_installed_files(cmake_manifest, package_data, package_prefixes,
        File "setup.py", line 381, in _classify_installed_files_override
          with open('scripts/__init__.py', 'r') as custom_init:
      FileNotFoundError: [Errno 2] No such file or directory: 'scripts/__init__.py'
      Building wheel for opencv-python (pyproject.toml) ... error
      ERROR: Failed building wheel for opencv-python
    Failed to build opencv-python
    ERROR: Could not build wheels for opencv-python, which is required to install pyproject.toml-based projects
    
    opened by elmeriniemela 28
  • macOS crash in imshow with Qt5.15

    macOS crash in imshow with Qt5.15

    See https://github.com/opencv/opencv/issues/18079 for background.

    I do not own a Mac so I cannot fix this easily by myself without trial and error which will take a lot of time. As a summary, Info.plist file should exist in the packages.

    Similar issue in PyQt (note that their package structure is different): https://riverbankcomputing.com/pipermail/pyqt/2020-January/042419.html

    Related things in this repository:

    • Some Qt related stuff is already copied during the build process to the packages: https://github.com/skvark/opencv-python/blob/master/patches/patchQtPlugins
    • Some Qt related environment variables are set during import https://github.com/skvark/opencv-python/blob/master/cv2/init.py
    help wanted 
    opened by skvark 28
  • cv2.imshow() not working consistently

    cv2.imshow() not working consistently

    Expected behaviour

    imshow displays image

    Actual behaviour

    when calling cv2.imshow(), I mostly get a small window with the correct name but containing only a black screen. It does work sometimes however but it is unpredictable. This issue was not encountered in previous versions of opencv-contrib-python. error

    Steps to reproduce

    • example code

    import cv2 import os import imutils

    image = cv2.imread("ref_image.png")

    cv2.imshow("test", image) cv2.waitKey(0)

    cv2.destroyAllWindows()

    • operating system : Ubuntu 20.04
    • architecture (e.g. x86): x64
    • python version: 3.8
    • opencv-python version: opencv-contrib-python 4.3.36
    opened by GokulNarayan 27
  • Added OpenSSL & various protocol support to FFmpeg backend

    Added OpenSSL & various protocol support to FFmpeg backend

    PR Description

    This PR introduces Major Fixes and updates like OpenSSL for opencv-python's FFmpeg backend.

    Fixes

    #204 #193

    Changes

    • Major Fixes and updates for Docker files (both x86 & x86-64)
    • Enabled FFmpeg backend with OpenSSL
    • Removed libjpeg-turbo libs build from scratch
    opened by abhiTronix 27
  • Wheel support for macOS arm64 (Apple Silicon)

    Wheel support for macOS arm64 (Apple Silicon)

    OpenCV 4.50 supports building for Apple Silicon (view release notes, PR https://github.com/opencv/opencv/pull/18094 was merged and released in 4.50). Now that the size limit for the project on PyPI has been increased, is there any chance we get prebuilt wheels for macOS arm64? The build script supports cross compilation from x86_64 to arm64, so I don't think dedicated Apple Silicon CI hardware is needed.

    opened by richiksc 26
  • Is it possible to add SIFT and SURF to opencv

    Is it possible to add SIFT and SURF to opencv

    opened by codeskyblue 24
  • Segmentation fault using ORB

    Segmentation fault using ORB

    Expected behaviour

    I'm using ORB FE = cv2.ORB_create(self.MAX_FEATURES) as features extractor to do registration.

    Actual behaviour

    But when I call TargetKP, TargetDesc = FE.detectAndCompute(ImTarget, None), I get a segmentation fault error: Fatal Python error: Segmentation fault.

    I have to use the option -X faulthandler to be able to find the line that generates this error, and it the one I mentioned above TargetKP, TargetDesc = FE.detectAndCompute(ImTarget, None), but I just get this line, nothing more, not trace.

    Steps to reproduce

    • example code FE = cv2.ORB_create(2013) TargetKP, TargetDesc = FE.detectAndCompute(ImTarget, None)

    ImTarget being a 23K x 29K pixels image encoded on 8 bits. For the record, it is dense with information as it is a tissues section, so full of overlapping cells.

    • operating system Linux Centos 7

    • opencv-python version 4.5.1

    bug 
    opened by FiReTiTi 21
  • Latest opencv (4.7.0.68) introduces fatal backward compatibility issue with ZLIB.

    Latest opencv (4.7.0.68) introduces fatal backward compatibility issue with ZLIB.

    System Information

    OpenCV python version: 4.7.0.68 Operating System / Platform: quay.io/pypa/manylinux_2_24_x86_64 Python version: 3.8+ ZLIB version: 1.2.8

    OpenCV python version: 4.7.0.68 Operating System / Platform: quay.io/pypa/manylinux2014 Python version: 3.8+ ZLIB version: 1.2.7

    Detailed description

    The latest opencv (4.7.0.68) requires ZLIB >= 1.2.9. This upgrade introduces fatal backward compatibility issue, since the dominant platforms like manylinux2014 and manylinux_2_24_x86_64 can't meet the requirement, especially the related wheels are shipped with platform tag manylinux2014_x86_64. As a consequence, running the latest opencv (4.7.0.68) on those platforms raises the version ZLIB_1.2.9 not found error.

    Steps to reproduce

    docker run --rm -it quay.io/pypa/manylinux2014_x86_64
    
    /opt/python/cp38-cp38/bin/pip install opencv-python-headless
    /opt/python/cp38-cp38/bin/python -c 'import cv2 as cv'
    
    docker run --rm -it quay.io/pypa/manylinux_2_24_x86_64
    
    /opt/python/cp38-cp38/bin/pip install opencv-python-headless
    /opt/python/cp38-cp38/bin/python -c 'import cv2 as cv'
    

    The log of pip:

    [[email protected] /]# /opt/python/cp38-cp38/bin/pip install opencv-python-headless
    Collecting opencv-python-headless
      Downloading opencv_python_headless-4.7.0.68-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (49.2 MB)
         ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 49.2/49.2 MB 9.1 MB/s eta 0:00:00
    Collecting numpy>=1.17.0
      Downloading numpy-1.24.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.3 MB)
         ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 17.3/17.3 MB 9.8 MB/s eta 0:00:00
    Installing collected packages: numpy, opencv-python-headless
    Successfully installed numpy-1.24.1 opencv-python-headless-4.7.0.68
    

    Example of the error:

    [email protected]:/# /opt/python/cp38-cp38/bin/python -c 'import cv2 as cv'
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/opt/python/cp38-cp38/lib/python3.8/site-packages/cv2/__init__.py", line 181, in <module>
        bootstrap()
      File "/opt/python/cp38-cp38/lib/python3.8/site-packages/cv2/__init__.py", line 153, in bootstrap
        native_module = importlib.import_module("cv2")
      File "/opt/python/cp38-cp38/lib/python3.8/importlib/__init__.py", line 127, in import_module
        return _bootstrap._gcd_import(name[level:], package, level)
    ImportError: /lib/x86_64-linux-gnu/libz.so.1: version `ZLIB_1.2.9' not found (required by /opt/_internal/cpython-3.8.16/lib/python3.8/site-packages/cv2/../opencv_python_headless.libs/libpng16-186fce2e.so.16.37.0)
    

    Issue submission checklist

    • [X] I report the issue, it's not a question
    • [X] I checked the problem with documentation, FAQ, open issues, forum.opencv.org, Stack Overflow, etc and have not found any solution
    • [X] I updated to the latest OpenCV version and the issue is still there
    • [X] There is reproducer code and related data files (videos, images, onnx, etc)
    bug 
    opened by huntzhan 1
  • Video not saving for different codec formats and dimension

    Video not saving for different codec formats and dimension

    Expected behaviour

    I am currently trying to write a video after applying some mediapipe operations. The video with (size: 1080 x 1920, codec: MPEG-4 AAC, Timed Metadata, HEVC) is able to be written by the cv.VideoWriter class, but for some reason a video with (size: 720 x 1080, codec: Timed Metadata, H.264, MPEG-4 AAC) is not being written. I assumed it was due to the H.264 codec. But, I'm not sure how to fix it at the moment. Apologies, if this is an easy fix!

    For additional info, the larger video was recorded from a video and the smaller video was downloaded from facebook messenger, which is why i assume they have different codec formats.

    Actual behaviour

    Both video formats should be able to be written using cv.VideoWriter class. Also, i have tried saving the video without any of the mediapipe operations. The behaviour is the same. When I view the frames with cv.imshow(), the frames are flipped for the 1080 x 1980 as well.

    Steps to reproduce

    • example code
    # OpenCV Capture
    cap = cv.VideoCapture(args.input if args.input else 0)
    
    # Create a VideoWriter object so we can save the video output
    fourcc = cv.VideoWriter_fourcc(*'mp4v')
    output_frames_per_second = 30.0
    out = cv.VideoWriter(os.path.join(OUTPUT_DIR, args.output_filename),  
                            fourcc, 
                            output_frames_per_second, 
                            (args.width, args.height))
    
    while cap.isOpened():
        hasFrame, frame = cap.read()
        print(hasFrame)
        if not hasFrame:
            # cv.waitKey()
            break
        
        # Flip image vertically if model type is mediatype
        if args.model_type == 'mediapipe':
            frame = cv.flip(frame, -1)
        # Get Pose Joints
        points = pose.returnPoints(frame)
    
        # Draw Pose Joints on frame
        pose.drawJoints(frame, points)
    
        # Display Frame
        # cv.imshow('OpenPose using OpenCV', frame)
    
        # Write the frame to the output video file
        out.write(frame)
    
    if args.model_type == 'media':
        pose.close()
    
    # Stop when the video is finished
    cap.release()
         
    # Release the video recording
    out.release()
    
    • operating system mac os Ventura
    • architecture (e.g. x86) ARM (silicon)
    • opencv-python version opencv-contrib-python==4.6.0.66 opencv-python==4.5.5.64
    opened by hkair 1
  • Charuco marker pose estimation -> Z-axis in wrong direction

    Charuco marker pose estimation -> Z-axis in wrong direction

    Hello, I would like to determine the pose of my board. I used all provided functions from the library (opencv in python)

    Actual behaviour

    I was able to detect the marker + id and the corners correctly. But when I use the function cv2.aruco.estimatePoseCharucoBoard(...) it returns me not the correct pose ( in my understanding). I would have expected, that the z-axis will point to the camera and the board is placed in the x-y plane. By drawing the pose of the complete board and also the poses of the single markers I was able to visualize the mistake. Code and image results are attached.

    Steps to reproduce

    OpenCV => opencv-contrib-python 4.5.5.64 Env: Python 3.8

    Here my code:

    import numpy as np
    import cv2
    from cv2 import aruco
    from PIL import Image
    
    file = "img_left.png"
    img = Image.open(file) 
    np_img = np.array(img)
    np_img_3c = np.stack([np_img, np_img, np_img], axis=-1)
    np_img_result = np.copy(np_img_3c)
    
    "setup"
    arucoDict = aruco.Dictionary_get(aruco.DICT_6X6_250)
    arucoParams = aruco.DetectorParameters_create()
    
    "create the charuco board"
    calibration_board = aruco.CharucoBoard_create(squaresX=5, squaresY=7, squareLength=0.072, markerLength=0.062, dictionary=arucoDict)
    img_board = calibration_board.draw((200*3,200*3))
    cv2.imwrite('sample_board.png',img_board)
    
    
    "camera parameters"
    fx = 1632.677490234375 
    fy = 1632.677490234375 
    cx = 640. 
    cy = 480.
    cameraMatrix = np.array([[fx, 0, cx], [0, fy, cy], [0.,0.,1.]])
    distorsionCoeff = np.array([0.0, 0.0, 0.0, 0.0])
    
    "detect markers"
    (marker_corners, marker_ids, rejected) = aruco.detectMarkers(np_img_3c, arucoDict, parameters=arucoParams)
    "draw detected markers"
    img2 = aruco.drawDetectedMarkers(np_img_result, marker_corners, marker_ids)
    detected = Image.fromarray(img2)
    detected.save("1_detected_markers.png")
    
    "interpolate corners"
    _, charuco_corners, charuco_ids = cv2.aruco.interpolateCornersCharuco(marker_corners, marker_ids, np_img_3c, calibration_board, cameraMatrix=cameraMatrix, distCoeffs=distorsionCoeff)
    
    "draw detected corners"
    img1 = aruco.drawDetectedCornersCharuco(np_img_result, charuco_corners, charuco_ids, (255, 0, 0))
    img_corners = Image.fromarray(img1)
    img_corners.save("2_detected_corners.png")
    
    "get pose of board"
    valid, rvec, tvec = aruco.estimatePoseCharucoBoard(charuco_corners, charuco_ids, calibration_board, cameraMatrix, distorsionCoeff, np.empty(1), np.empty(1), useExtrinsicGuess=False)
    
    img_result = cv2.drawFrameAxes(np.copy(np_img_3c), cameraMatrix, distorsionCoeff, rvec, tvec, 0.08)
    img_calib_result = Image.fromarray(img_result)
    img_calib_result.save("3_calib_pose.png")
    
    
    "get pose of single markers"
    rvecs, tvecs, objPoints = aruco.estimatePoseSingleMarkers(marker_corners, markerLength=0.062, cameraMatrix=cameraMatrix, distCoeffs=distorsionCoeff)
    img_single_pose = np.copy(np_img_3c)
    for i in range(len(rvecs)):
        img_single_pose = cv2.drawFrameAxes(img_single_pose, cameraMatrix, distorsionCoeff, rvecs[i], tvecs[i], 0.05)
    img_single_pose = Image.fromarray(img_single_pose)
    img_single_pose.save("4_calib_single_pose.png")
    

    Find attached the result: Detection of markers and coners works: image

    Resulting pose and single marker pose image image

    In my understanding the z-axis (blue) should point to the camera. Am I right? Hope you can help me.

    Best regard, Patrick

    opened by Patricks15 0
  • [cv2.dnn] Inconsistent results on ONNX model

    [cv2.dnn] Inconsistent results on ONNX model

    System Information

    OpenCV version: 4.6.0 Operating System / Platform: Ubuntu 20.04 Python 3.8.10 (default, Jun 22 2022, 20:18:18)

    Detailed description

    cv2.readNet().forward() produces wrong results using manually built OpenCV compared to the wheel published on PyPi - opencv-contrib-python-headless.

    The output of .forward() is off by few pixels (5-10), confidence is off, sometimes significantly.

    Concerns YOLOv5 (default model) converted to ONNX using their converting script.

    When it produces correct results:

    • CPU inference with opencv-contrib-python-headless from PyPi
    • CUDA inference with manually built opencv-contrib-python-headless

    When results are wrong:

    • CPU inference with manually built opencv-contrib-python-headless

    So apparently my manual built is not using some BLAS/CPU library that official build is using? Still looks like a bug, given that inference does work and it does produce results that look sane (but in reality are off).

    Steps to reproduce

    1. Clone yolov5 repo
    2. Convert model to ONNX using export.py
    3. Run resulting yolov5s.onnx using cv2.dnn on sample image converted to png.
    4. Inference should be on CPU using provided build (below)
    5. Raw output from net.forward() will be wrong, while it's right with opencv binaries from pypi.

    Build details:

    General configuration for OpenCV 4.6.0 =====================================
      Version control:               4.6.0
    
      Extra modules:
        Location (extra):            /usr/src/opencv-python/opencv_contrib/modules
        Version control (extra):     4.6.0
    
      Platform:
        Timestamp:                   2022-12-02T17:57:18Z
        Host:                        Linux 5.15.0-1023-aws x86_64
        CMake:                       3.25.0
        CMake generator:             Ninja
        CMake build tool:            /usr/bin/ninja
        Configuration:               Release
    
      CPU/HW features:
        Baseline:                    SSE SSE2 SSE3
          requested:                 SSE3
        Dispatched code generation:  SSE4_1 SSE4_2 FP16 AVX AVX2 AVX512_SKX
          requested:                 SSE4_1 SSE4_2 AVX FP16 AVX2 AVX512_SKX
          SSE4_1 (15 files):         + SSSE3 SSE4_1
          SSE4_2 (1 files):          + SSSE3 SSE4_1 POPCNT SSE4_2
          FP16 (0 files):            + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 AVX
          AVX (4 files):             + SSSE3 SSE4_1 POPCNT SSE4_2 AVX
          AVX2 (28 files):           + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 FMA3 AVX AVX2
          AVX512_SKX (4 files):      + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 FMA3 AVX AVX2 AVX_512F AVX512_COMMON AVX512_SKX
    
      C/C++:
        Built as dynamic libs?:      NO
        C++ standard:                11
        C++ Compiler:                /usr/bin/c++  (ver 9.4.0)
        C++ flags (Release):         -fsigned-char -ffast-math -W -Wall -Wreturn-type -Wnon-virtual-dtor -Waddress -Wsequence-point -Wformat -Wformat-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Wsuggest-override -Wno-delete-non-virtual-dtor -Wno-comment -Wimplicit-fallthrough=3 -Wno-strict-overflow -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections  -msse -msse2 -msse3 -fvisibility=hidden -fvisibility-inlines-hidden -O3 -DNDEBUG  -DNDEBUG
        C++ flags (Debug):           -fsigned-char -ffast-math -W -Wall -Wreturn-type -Wnon-virtual-dtor -Waddress -Wsequence-point -Wformat -Wformat-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Wsuggest-override -Wno-delete-non-virtual-dtor -Wno-comment -Wimplicit-fallthrough=3 -Wno-strict-overflow -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections  -msse -msse2 -msse3 -fvisibility=hidden -fvisibility-inlines-hidden -g  -O0 -DDEBUG -D_DEBUG
        C Compiler:                  /usr/bin/cc
        C flags (Release):           -fsigned-char -ffast-math -W -Wall -Wreturn-type -Waddress -Wsequence-point -Wformat -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wuninitialized -Wno-comment -Wimplicit-fallthrough=3 -Wno-strict-overflow -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections  -msse -msse2 -msse3 -fvisibility=hidden -O3 -DNDEBUG  -DNDEBUG
        C flags (Debug):             -fsigned-char -ffast-math -W -Wall -Wreturn-type -Waddress -Wsequence-point -Wformat -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wuninitialized -Wno-comment -Wimplicit-fallthrough=3 -Wno-strict-overflow -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections  -msse -msse2 -msse3 -fvisibility=hidden -g  -O0 -DDEBUG -D_DEBUG
        Linker flags (Release):      -Wl,--exclude-libs,libippicv.a -Wl,--exclude-libs,libippiw.a   -Wl,--gc-sections -Wl,--as-needed -Wl,--no-undefined  
        Linker flags (Debug):        -Wl,--exclude-libs,libippicv.a -Wl,--exclude-libs,libippiw.a   -Wl,--gc-sections -Wl,--as-needed -Wl,--no-undefined  
        ccache:                      NO
        Precompiled headers:         NO
        Extra dependencies:          /lib/openblas-base/libopenblas.so /usr/lib/x86_64-linux-gnu/libpng.so /usr/lib/x86_64-linux-gnu/libz.so Iconv::Iconv m pthread cudart_static dl rt nppc nppial nppicc nppidei nppif nppig nppim nppist nppisu nppitc npps cublas cudnn cufft -L/usr/local/cuda/lib64 -L/usr/lib/x86_64-linux-gnu
        3rdparty dependencies:       libprotobuf ade ittnotify libjpeg-turbo libwebp libtiff libopenjp2 IlmImf ippiw ippicv
    
      OpenCV modules:
        To be built:                 barcode bioinspired core cudaarithm cudabgsegm cudacodec cudafilters cudaimgproc cudalegacy cudawarping cudev dnn dnn_objdetect dnn_superres fuzzy gapi hfs img_hash imgcodecs imgproc intensity_transform line_descriptor ml phase_unwrapping photo plot python3 quality reg tracking video videoio wechat_qrcode xphoto
        Disabled:                    calib3d features2d flann highgui objdetect world
        Disabled by dependency:      aruco bgsegm ccalib cudafeatures2d cudaobjdetect cudaoptflow cudastereo datasets dpm face mcc optflow rapid rgbd saliency shape stereo stitching structured_light superres surface_matching text videostab xfeatures2d ximgproc xobjdetect
        Unavailable:                 alphamat cvv freetype hdf java julia matlab ovis python2 sfm ts viz
        Applications:                -
        Documentation:               NO
        Non-free algorithms:         NO
    
      GUI: 
        VTK support:                 NO
    
      Media I/O: 
        ZLib:                        /usr/lib/x86_64-linux-gnu/libz.so (ver 1.2.11)
        JPEG:                        libjpeg-turbo (ver 2.1.2-62)
        WEBP:                        build (ver encoder: 0x020f)
        PNG:                         /usr/lib/x86_64-linux-gnu/libpng.so (ver 1.6.37)
        TIFF:                        build (ver 42 - 4.2.0)
        JPEG 2000:                   build (ver 2.4.0)
        OpenEXR:                     build (ver 2.3.0)
        HDR:                         YES
        SUNRASTER:                   YES
        PXM:                         YES
        PFM:                         YES
    
      Video I/O:
        DC1394:                      NO
        FFMPEG:                      NO
          avcodec:                   NO
          avformat:                  NO
          avutil:                    NO
          swscale:                   NO
          avresample:                NO
        GStreamer:                   NO
        v4l/v4l2:                    YES (linux/videodev2.h)
    
      Parallel framework:            pthreads
    
      Trace:                         YES (with Intel ITT)
    
      Other third-party libraries:
        Intel IPP:                   2020.0.0 Gold [2020.0.0]
               at:                   /usr/src/opencv-python/_skbuild/linux-x86_64-3.8/cmake-build/3rdparty/ippicv/ippicv_lnx/icv
        Intel IPP IW:                sources (2020.0.0)
                  at:                /usr/src/opencv-python/_skbuild/linux-x86_64-3.8/cmake-build/3rdparty/ippicv/ippicv_lnx/iw
        VA:                          NO
        Lapack:                      YES (/lib/openblas-base/libopenblas.so)
        Eigen:                       NO
        Custom HAL:                  NO
        Protobuf:                    build (3.19.1)
    
      NVIDIA CUDA:                   YES (ver 11.6, CUFFT CUBLAS FAST_MATH)
        NVIDIA GPU arch:             35 37 50 52 60 61 70 75 80 86
        NVIDIA PTX archs:
    
      cuDNN:                         YES (ver 8.4.0)
    
      OpenCL:                        YES (no extra features)
        Include path:                /usr/src/opencv-python/opencv/3rdparty/include/opencl/1.2
        Link libraries:              Dynamic load
    
      Python 3:
        Interpreter:                 /usr/bin/python3 (ver 3.8.10)
        Libraries:                   /usr/lib/x86_64-linux-gnu/libpython3.8.so (ver 3.8.10)
        numpy:                       /tmp/pip-build-env-i7jl326l/overlay/lib/python3.8/site-packages/numpy/core/include (ver 1.17.3)
        install path:                python/cv2/python-3
    
      Python (for build):            /usr/bin/python3
    
      Install to:                    /usr/src/opencv-python/_skbuild/linux-x86_64-3.8/cmake-install
    -----------------------------------------------------------------
    

    Issue submission checklist

    • [X] I report the issue, it's not a question
    • [X] I checked the problem with documentation, FAQ, open issues, forum.opencv.org, Stack Overflow, etc and have not found any solution
    • [X] I updated to the latest OpenCV version and the issue is still there
    • [X] There is reproducer code and related data files (videos, images, onnx, etc)
    bug 
    opened by apatsekin 2
  • AttributeError: partially initialized module 'cv2' has no attribute 'gapi_wip_gst_GStreamerPipeline' (most likely due to a circular import)

    AttributeError: partially initialized module 'cv2' has no attribute 'gapi_wip_gst_GStreamerPipeline' (most likely due to a circular import)

    Expected behaviour

    cv2 could be successfully imported.

    Actual behaviour

    After I install the opencv-python or opencv-python-headless, I import cv2, it will raise a exception:

    AttributeError: partially initialized module 'cv2' has no attribute 'gapi_wip_gst_GStreamerPipeline' (most likely due to a circular import)

    Steps to reproduce

    OS: ubuntu22.04 in docker. opencv-version: 4.6.0.66

    Issue submission checklist
    • [x] This is not a generic OpenCV usage question (looking for help for coding, other usage questions, homework etc.)

    P.S.: I can solve this issue using the answer. I use the version 4.5.5.62, everything will be ok. However, that is the problem, I do not know why the new version will cause the error.

    Thank you.

    opened by aruiplex 0
Releases(68)
  • 68(Dec 29, 2022)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV 4.7.0

    Changes:

    • Updated third-party libraries to fix potential vulnerabilities.
    • Dropped Python 3.6 support.
    • Added Python 3.11 support.
    Source code(tar.gz)
    Source code(zip)
  • 66(Jun 7, 2022)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV 4.6.0

    Changes:

    • Updated third-party libraries to fix potential vulnerabilities. #666
    • Added support for building Windows ARM64 Python package. #644
    • The repository has been synchronized with scikit-build 0.14.0 release. #637
    • The build without internet connection has been fixed. #642
    • This release produced with libpng 1.6.37 and supports eXIf orientation tag. #662
    Source code(tar.gz)
    Source code(zip)
  • 65(Jun 7, 2022)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV 3.4.18

    Changes:

    • Updated third-party libraries to fix potential vulnerabilities. #666
    • Added support for building Windows ARM64 Python package. #644
    • The repository has been synchronized with scikit-build 0.14.0 release. #637
    • This release produced with libpng 1.6.37 and supports eXIf orientation tag. #662
    Source code(tar.gz)
    Source code(zip)
  • 64(Mar 4, 2022)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV 4.5.5

    Changes:

    • Updated third-party libraries to fix potential vulnerabilities. #617
    Source code(tar.gz)
    Source code(zip)
  • 63(Mar 4, 2022)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV 3.4.17

    Changes:

    • Updated third-party libraries to fix potential vulnerabilities. #617
    Source code(tar.gz)
    Source code(zip)
  • 62(Dec 28, 2021)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV 4.5.5

    Changes:

    • Switched to a single binary release with Python Limited API to cover all Python versions since 3.6. #595
    Source code(tar.gz)
    Source code(zip)
  • 61(Dec 28, 2021)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV 3.4.17

    Changes:

    • Switched to a single binary release with Python Limited API to cover all Python versions since 3.6. #595
    Source code(tar.gz)
    Source code(zip)
  • 60(Nov 19, 2021)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV 4.5.4

    Changes:

    • The build from source has been fixed. #577
    • Imshow segmentation fault issue have been fixed on Linux x86_64 with Python 3.9. #572
    • Updated OpenCV dependency to tag 4.5.4. #578
    • Pylint no-member warning and an autocomplete in IDE were fixed. #579
    • Auditwheel 5.0.0 version has been added for repairing wheels. #581
    Source code(tar.gz)
    Source code(zip)
  • 59(Nov 19, 2021)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV 3.4.16

    Changes:

    • The build from source has been fixed. #577
    • Imshow segmentation fault issue have been fixed on Linux x86_64 with Python 3.9. #572
    • Updated OpenCV dependency to tag 4.5.4. #578
    • Pylint no-member warning and an autocomplete in IDE were fixed. #579
    • Auditwheel 5.0.0 version has been added for repairing wheels. #581
    Source code(tar.gz)
    Source code(zip)
  • 57(Oct 21, 2021)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV 4.5.4

    Changes:

    • Enabled Python code in OpenCV-Python distribution including cv.Mat wrapper, G-API Python bindings and pure python API. #563
    • Wheels for Python 3.10 will be provided starting from this release. #556
    • Enabled LAPACK-dependent API on Linux (x64 and aarch64) and macOS. Prebuild packages for Linux includes own LAPACK instance, MacOS package uses LAPACK interface provided by Accelerate.framework framework. LAPACK-dependent API on Windows will be enabled in next releases. #547
    • Fixed missing 3rd party libraries in wheels for MacOS M1. #555
    Source code(tar.gz)
    Source code(zip)
  • 58(Oct 20, 2021)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV 4.5.4

    Changes:

    • Enabled Python code in OpenCV-Python distribution including cv.Mat wrapper, G-API Python bindings and pure python API. #563
    • Wheels for Python 3.10 will be provided starting from this release. #556
    • Enabled LAPACK-dependent API on Linux (x64 and aarch64) and macOS. Prebuild packages for Linux includes own LAPACK instance, MacOS package uses LAPACK interface provided by Accelerate.framework framework. LAPACK-dependent API on Windows will be enabled in next releases. #547
    • Fixed missing 3rd party libraries in wheels for MacOS M1. #555
    Source code(tar.gz)
    Source code(zip)
  • 56(Jul 9, 2021)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV 4.5.3

    Solves: #429 - wheels for Apple Silicon will be provided starting from this release

    Source code(tar.gz)
    Source code(zip)
  • 55(Jul 9, 2021)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV 3.4.15

    Solves: #429 - wheels for Apple Silicon will be provided starting from this release

    Source code(tar.gz)
    Source code(zip)
  • 54(Jun 7, 2021)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV 4.5.2 Bugfix release: use proper codebase for opencv. Return back Linux ARM64 build The previous release (4.5.2.52) was built with an incorrect version of the OpenCV's source code due to the issues that occurred with build infrastructure transitioning. This release fixes it and returns back the Linux ARM64 binaries that we lost due to the move to github actions

    Source code(tar.gz)
    Source code(zip)
  • 53(Jun 7, 2021)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV 3.4.14. Bugfix release: use proper codebase for opencv. Return back Linux ARM64 build The previous release (3.4.14.51) was built with an incorrect version of the OpenCV's source code due to the issues that occurred with build infrastructure transitioning. This release fixes it and returns back the Linux ARM64 binaries that we lost due to the move to github actions

    Source code(tar.gz)
    Source code(zip)
  • 52(May 6, 2021)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV 4.5.2. Change the build infrastructure from Travis & Appveyour to Github Actions. Solves:

    • #459
    • #422

    Breaking changes

    With the transition to GitHub Actions, we miss:

    • aarch64 packages
    • x86 packages for Linux
    Source code(tar.gz)
    Source code(zip)
  • 51(May 6, 2021)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV 3.4.14. Change the build infrastructure from Travis & Appveyour to Github Actions. Solves:

    • #459
    • #422

    Breaking changes

    With the transition to GitHub Actions, we miss:

    • aarch64 packages
    • x86 packages for Linux
    Source code(tar.gz)
    Source code(zip)
  • 49(May 5, 2021)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV 3.4.14. Change the build infrastructure from Travis & Appveyour to Github Actions. Solves:

    • #459
    • #422

    Breaking changes

    With the transition to GitHub Actions, we miss:

    • aarch64 packages
    • x86 packages for Linux
    Source code(tar.gz)
    Source code(zip)
  • 50(May 5, 2021)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV 4.5.2. Change the build infrastructure from Travis & Appveyour to Github Actions. Solves:

    • #459
    • #422

    Breaking changes

    With the transition to GitHub Actions, we miss:

    • aarch64 packages
    • x86 packages for Linux
    Source code(tar.gz)
    Source code(zip)
  • 47(Jan 3, 2021)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV 3.4.13. Adds experimental arm64 Linux wheels.

    NOTE: Your pip version must be >= 19.3 to be able to install the pre-built manylinux2014 packages used in the latest releases. Please upgrade your pip with pip install --upgrade pip.

    BREAKING CHANGES

    Qt support dropped on macOS due to multiple recent issues with it. GUI support is still enabled on macOS via Cocoa but it is more limited than Qt. If you need Qt support, please consider contributing:

    • https://github.com/skvark/opencv-python/issues/376
    • https://github.com/skvark/opencv-python/issues/423
    Source code(tar.gz)
    Source code(zip)
  • 48(Jan 2, 2021)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV 4.5.1. Adds experimental arm64 Linux wheels.

    NOTE: Your pip version must be >= 19.3 to be able to install the pre-built manylinux2014 packages used in the latest releases. Please upgrade your pip with pip install --upgrade pip.

    BREAKING CHANGES

    Qt support dropped on macOS due to multiple recent issues with it. GUI support is still enabled on macOS via Cocoa but it is more limited than Qt. If you need Qt support, please consider contributing:

    • https://github.com/skvark/opencv-python/issues/376
    • https://github.com/skvark/opencv-python/issues/423
    Source code(tar.gz)
    Source code(zip)
  • 46(Nov 3, 2020)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    Added Python 3.9 support.

    NOTE: Your pip version must be >= 19.3 to be able to install the pre-built manylinux2014 packages used in the latest releases. Please upgrade your pip with pip install --upgrade pip.

    Source code(tar.gz)
    Source code(zip)
  • 45(Nov 3, 2020)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    Added Python 3.9 support.

    NOTE: Your pip version must be >= 19.3 to be able to install the pre-built manylinux2014 packages used in the latest releases. Please upgrade your pip with pip install --upgrade pip.

    Source code(tar.gz)
    Source code(zip)
  • 43(Sep 23, 2020)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    Python 3.5 support dropped.

    Fixes:

    • https://github.com/skvark/opencv-python/issues/381

    NOTE: Your pip version must be >= 19.3 to be able to install the pre-built manylinux2014 packages used in the latest releases. Please upgrade your pip with pip install --upgrade pip.

    Source code(tar.gz)
    Source code(zip)
  • 44(Sep 23, 2020)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    Python 3.5 support dropped.

    Fixes:

    • https://github.com/skvark/opencv-python/issues/381

    NOTE: Your pip version must be >= 19.3 to be able to install the pre-built manylinux2014 packages used in the latest releases. Please upgrade your pip with pip install --upgrade pip.

    Source code(tar.gz)
    Source code(zip)
  • 42(Aug 17, 2020)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV version 4.4.0. Same release as previous 4.4.0.40, but should fix macOS Qt segfault issue: https://github.com/skvark/opencv-python/issues/376

    NOTE: Your pip version must be >= 19.3 to be able to install the pre-built manylinux2014 packages used in the latest releases. Please upgrade your pip with pip install --upgrade pip.

    Please note that Python 3.5 end-of-life is less than a month away. Upgrade your Python to the latest version as soon as possible since this project will drop Python 3.5 support in August 2020.

    Source code(tar.gz)
    Source code(zip)
  • 41(Aug 16, 2020)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV version 3.4.11. Same release as previous 3.4.11.39, but should fix macOS Qt segfault issue: https://github.com/skvark/opencv-python/issues/376

    NOTE: Your pip version must be >= 19.3 to be able to install the pre-built manylinux2014 packages used in the latest releases. Please upgrade your pip with pip install --upgrade pip.

    Please note that Python 3.5 end-of-life is less than a month away. Upgrade your Python to the latest version as soon as possible since this project will drop Python 3.5 support in August 2020.

    Source code(tar.gz)
    Source code(zip)
  • 40(Aug 12, 2020)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV version 4.4.0.

    NOTE: Your pip version must be >= 19.3 to be able to install the pre-built manylinux2014 packages used in the last 3 releases. Please upgrade your pip with pip install --upgrade pip.

    Please note that Python 3.5 end-of-life is less than a month away. Upgrade your Python to the latest version as soon as possible since this project will drop Python 3.5 support in August 2020.

    Source code(tar.gz)
    Source code(zip)
  • 39(Aug 12, 2020)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV version 3.4.11.

    NOTE: Your pip version must be >= 19.3 to be able to install the pre-built manylinux2014 packages used in the last 3 releases. Please upgrade your pip with pip install --upgrade pip.

    Please note that Python 3.5 end-of-life is less than a month away. Upgrade your Python to the latest version as soon as possible since this project will drop Python 3.5 support in August 2020.

    Source code(tar.gz)
    Source code(zip)
  • 38(Aug 9, 2020)

    opencv-python: https://pypi.org/project/opencv-python/ opencv-contrib-python: https://pypi.org/project/opencv-contrib-python/ opencv-python-headless: https://pypi.org/project/opencv-python-headless/ opencv-contrib-python-headless: https://pypi.org/project/opencv-contrib-python-headless/

    OpenCV version 4.3.0.

    Changes:

    • Source distributions added to PyPI. If your system is incompatible with the pre-built wheels, pip will attempt to build OpenCV Python bindings locally. This requires a recent version of pip to work properly. Please refer to the README for more info. https://github.com/skvark/opencv-python/issues/43
    • Python 3.5 macOS wheels which were missing in previous release uploaded to PyPI. https://github.com/skvark/opencv-python/issues/316#issuecomment-654195009
    • Linux wheels ship now with Qt 5.15. This should fix many issues which were caused by Qt version conflicts in earlier releases (https://github.com/skvark/opencv-python/issues/362, https://github.com/skvark/opencv-python/issues/46).
    • https://github.com/skvark/opencv-python/pull/368
    Source code(tar.gz)
    Source code(zip)
Un module simple pour demander l'accord de l'utilisateur dans une CLI.

Demande de confirmation utilisateur pour CLI Présentation ask_lib est un module pour le langage Python proposant une seule fonction; ask(). Le but pri

CallMePixelMan 7 May 09, 2022
command line interface to manage VALORANT skins

A PROPER RELEASE IS COMING SOON, IF YOU KNOW HOW TO USE PYTHON YOU CAN USE IT NOW! valorant skin manager command line interface simple command line in

colinh 131 Dec 25, 2022
Python commandline tool for remembering linux/terminal commands

ehh Remember linux commands Commandline tool for remembering linux/terminal commands. It stores your favorite commands in ~/ehh.json in your homedir a

56 Nov 10, 2022
Shellmon is a tool used to create and control a webshell remotely, created using the Python3

An Simple PHP Webshell Manager Description Shellmon is a tool used to create and control a webshell remotely, created using the Python3 programming la

22XploiterCrew 12 Dec 30, 2022
split-manga-pages: a command line utility written in Python that converts your double-page layout manga to single-page layout.

split-manga-pages split-manga-pages is a command line utility written in Python that converts your double-page layout manga (or any images in double p

Christoffer Aakre 3 May 24, 2022
Plumbum: Shell Combinators

Plumbum: Shell Combinators Ever wished the compactness of shell scripts be put into a real programming language? Say hello to Plumbum Shell Combinator

Tomer Filiba 2.5k Dec 28, 2022
Simple tool, to update linux kernel on ubuntu

Kerbswap Simple tool, to update linux kernel on ubuntu Information At the moment, this tool only supports "Ubuntu" distributions, but will be expanded

dword 1 Oct 31, 2021
Command-line interface to PyPI Stats API to get download stats for Python packages

pypistats Python 3.6+ interface to PyPI Stats API to get aggregate download statistics on Python packages on the Python Package Index without having t

Hugo van Kemenade 140 Jan 03, 2023
Features terminal for python

Features Terminal V1.0 (23/10/2021) Um programa para linux com diferentes ferramentas! Recursos: Criador de QR code Gerador de senhas Teste de velocid

1 Oct 26, 2021
Command line tool to keep track of your favorite playlists on YouTube and many other places.

Command line tool to keep track of your favorite playlists on YouTube and many other places.

Wolfgang Popp 144 Jan 05, 2023
Easily handle day to day CLI operation via Python instead of regular Bash programs.

pz Ever wished to use Python in Bash? Would you choose the Python syntax over sed, awk, ...? Should you exactly know what command would you use in Pyt

CZ.NIC 697 Jan 03, 2023
Automated CI toolchain to produce precompiled opencv-python, opencv-python-headless, opencv-contrib-python and opencv-contrib-python-headless packages.

OpenCV on Wheels Pre-built CPU-only OpenCV packages for Python. Check the manual build section if you wish to compile the bindings from source to enab

OpenCV 3.2k Jan 04, 2023
An interactive aquarium for your terminal.

sipedon An interactive aquarium for your terminal, written using pytermgui. The project got its name from the Common Watersnake, also known as Nerodia

17 Nov 07, 2022
Sink is a CLI tool that allows users to synchronize their local folders to their Google Drives. It is similar to the Git CLI and allows fast and reliable syncs with the drive.

Sink is a CLI synchronisation tool that enables a user to synchronise local system files and folders with their Google Drives. It follows a git C

Yash Thakre 16 May 29, 2022
A Python script for finding a food-truck based on latitude and longitude coordinates that you can run in your shell

Food Truck Finder Project Description This repository contains a Python script for finding a food-truck based on latitude and longitude coordinates th

1 Jan 22, 2022
Tiny command-line utility for mapping broken keys to other positions.

brokenkey Tiny command-line utility for mapping broken keys to other positions. Installation Clone this repository using git: git clone https://github

0 Oct 04, 2021
Shellcode runner to execute malicious payload and bypass AV

buffshark-shellcode-runner Python Shellcode Runner to execute malicious payload and bypass AV This script utilizes mmap(for linux) and win api wrapper

Momo Lenard 9 Dec 29, 2022
Alacritty terminal used with Bash, Tmux, Vim, Mutt, Lynx, etc. and the many different additions added to each configuration file

Alacritty terminal used with Bash, Tmux, Vim, Mutt, Lynx, etc. and the many different additions added to each configuration file

Carter 19 Aug 24, 2022
A terminal spreadsheet multitool for discovering and arranging data

VisiData v2.6.1 A terminal interface for exploring and arranging tabular data. VisiData supports tsv, csv, sqlite, json, xlsx (Excel), hdf5, and many

Saul Pwanson 6.2k Jan 04, 2023
This tool is a free and unlimited python CLI for google translate. based on google_trans_new.

GoTransPy A free and unlimited python CLI for google translate based on google_trans_new. It's very easy to use and solve the problem that the old api

Youssef Mohamed 2 Jan 10, 2022