Software for Color Image Analysis
For Windows, a package with the graphical interface is available at
the GitHub releases page.
Select the first
barvocuc-gui.exe file there.
For other systems, and for using the non-interactive interface,
barvocuc can be installed as a Python package on Python 3.5 or greater.
Required libraries (such as
be installed automatically this way.
The command to install varies slightly between environments. On most Linux distributions,it is:
python3 -m pip install --user barvocuc[gui]
In a Python virtual environment, enter:
python -m pip install barvocuc[gui]
If using as a library, leave off the
If you need to use configuration files from Barvocuc 1.0, use
The graphical interface can be started with:
The interface allows setting analysis parameters (thresholds for individual colors, model version) and adding images to analyze. When an image is added or selected, it and its analysis results can be viewed in views at the bottom of the window. Additional views canbe enabled via the "View" menu.
When images are added and parameters set, numerical results can be exported to CSV format (either to file or to the clipboard). Also, results can be saved to directory; this outputs result images as well as the CSV.
The parameters can be saved to and restored from files using menu options.
Non-interactive processing is done using the command:
barvocuc analyze IMAGES
(Substitute source images or directories for
This outputs analysis results to standard output as CSV.
To save results to file instead, use
To save results including images, use
Barvocuc also works as a Python library. Example usage:
from barvocuc import ImageAnalyzer with open(filename, 'rb') as img_file: analyzer = ImageAnalyzer(img_file) print(analyzer.results['red'])
Analyzer objects have dict-like attributes
results (numerical results),
arrays (Numpy arrays), and
images (Pillow images).
To see which results are available, see for example:
for key in analyzer.results: print(key)
You’re welcome to join this project!
If you spot an issue, please report it at the Issues page on Github.
If you’d like to start changing the code or documentation, check out the code locally using:
git clone https://github.com/encukou/barvocuc
If you’re new to this, please read the this guide about collaborating on Github-hosted projects like this one.
If that doesn’t make sense, please e-mail the author for clarification. I’d be happy to help you get started.
Releasing the software is still a bit cumbersome. If you're the maintainer, you can follow these steps to get a release out:
Install tools and test deps:
python -m pip install twine -e.[test]
maketo regenerate message catalogs. Commit if necessary.
python -m pytest test_barvocuc
Update the version number in
Make the release
rm -rvf dist/ ; python setup.py sdist bdist_wheel
Check files from
dist/by installing into a fresh virtualenv.
Switch to branch
- Wait for Appveyor to successfully build
Tag and push the commit that changed
twine upload dist/*to release on to PyPI
- Add release notes and Appveyor result to Github Releases
© 2010,2011,2012,2016 Petr Viktorin & Národní Ústav Duševního Zdraví
This SW is a result of the research funded by the project Nr. LO1611 with a financial support from the MEYS under the NPU I program.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License, Version 3, as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
A copy of the GNU General Public License is included in the file called LICENSE.