Added instructions on building stand-alone Mac OS X binary

- Build occurs inside a virtualenv
- Added new icon
- Updated README.md and Icon GPL Attribution
This commit is contained in:
Madhava Jay 2018-03-24 15:23:25 -03:00 committed by darrenl
parent 8d1bd68ab6
commit f48e13ad5f
6 changed files with 48 additions and 2 deletions

View File

@ -84,6 +84,22 @@ Python 3 + Qt5 (Works on macOS High Sierra)
python labelImg.py
python labelImg.py [IMAGE_PATH] [PRE-DEFINED CLASS FILE]
*NEW* Python 3 Virtualenv + Binary
This avoids a lot of the QT / Python version issues,
and gives you a nice .app file with a new SVG Icon
in your /Applications folder.
.. code::
brew install python3
pip install pipenv
pipenv --three
pipenv shell
pip install pyqt5 lxml
make qt5py3
rm -rf build dist
python setup.py py2app
cp -rf dist/labelImg.app /Applications
Windows
^^^^^^^
@ -239,3 +255,5 @@ Related
download image, create a label text for machine learning, etc
2. `Use Docker to run labelImg <https://hub.docker.com/r/tzutalin/py2qt4>`__
3. `Generating the PASCAL VOC TFRecord files <https://github.com/tensorflow/models/blob/4f32535fe7040bb1e429ad0e3c948a492a89482d/research/object_detection/g3doc/preparing_inputs.md#generating-the-pascal-voc-tfrecord-files>`__
4. `App Icon based on Icon by Nick Roach (GPL)` <https://www.elegantthemes.com/> <https://www.iconfinder.com/icons/1054978/shop_tag_icon> __

BIN
icons/app.icns Normal file

Binary file not shown.

BIN
icons/app.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

19
icons/app.svg Normal file
View File

@ -0,0 +1,19 @@
<svg width="64" height="64" xmlns="http://www.w3.org/2000/svg">
<defs>
<filter id="svg_10_blur">
<feGaussianBlur stdDeviation="0" in="SourceGraphic"/>
</filter>
</defs>
<g>
<title>background</title>
<rect fill="none" id="canvas_background" height="402" width="582" y="-1" x="-1"/>
</g>
<g>
<title>Layer 1</title>
<g stroke="null" id="svg_19">
<path stroke="null" opacity="0.2" id="svg_5" fill="#231F20" d="m58.941458,5.713441c-0.033833,0 -0.067666,0 -0.103037,0c-0.030757,0 -0.056901,-0.003076 -0.087658,0l-23.846159,0c-0.579776,0.026144 -1.900803,0.933485 -2.071506,1.104188l-27.895362,27.904589c-1.479428,1.479428 -1.479428,3.878499 0,5.357927l21.41633,21.425557c0.744327,0.739714 1.711645,1.107264 2.678964,1.107264c0.967318,0 1.937712,-0.36755 2.677426,-1.107264l27.893824,-27.904589c0.170703,-0.170703 1.122643,-1.342558 1.122643,-2.071506l0,-23.933817c0.053825,-1.058052 -0.747403,-1.882349 -1.785463,-1.882349zm-5.900794,10.763528c-1.697805,0 -3.075733,-1.377928 -3.075733,-3.075733s1.377928,-3.075733 3.075733,-3.075733s3.075733,1.377928 3.075733,3.075733s-1.377928,3.075733 -3.075733,3.075733z"/>
<path stroke="#00bf00" id="svg_8" fill="#2e6fd1" d="m58.941458,2.637708c-0.033833,0 -0.067666,0 -0.103037,0c-0.030757,0 -0.056901,-0.003076 -0.087658,0l-23.846159,0c-0.579776,0.026144 -1.900803,0.933485 -2.071506,1.104188l-27.895362,27.904589c-1.479428,1.479428 -1.479428,3.878499 0,5.357927l21.41633,21.425557c0.744327,0.739714 1.711645,1.107264 2.678964,1.107264c0.967318,0 1.937712,-0.36755 2.677426,-1.107264l27.893824,-27.904589c0.170703,-0.170703 1.122643,-1.342558 1.122643,-2.071506l0,-23.933817c0.053825,-1.058052 -0.747403,-1.882349 -1.785463,-1.882349zm-5.900794,10.763528c-1.697805,0 -3.075733,-1.377928 -3.075733,-3.075733s1.377928,-3.075733 3.075733,-3.075733s3.075733,1.377928 3.075733,3.075733s-1.377928,3.075733 -3.075733,3.075733z"/>
<text filter="url(#svg_10_blur)" stroke="#000000" transform="matrix(0.5447929800652447,-0.5343019017094763,0.5343019017094763,0.5447929800652447,-3.424396520826477,36.238999138928264) " font-weight="bold" xml:space="preserve" text-anchor="start" font-family="Oswald, sans-serif" font-size="24" id="svg_10" y="36.27526" x="14.460123" stroke-width="0" fill="#ffffff">VOC</text>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -2,7 +2,7 @@
<qresource>
<file alias="help">icons/help.png</file>
<file alias="app">icons/expert2.png</file>
<file alias="app">icons/app.png</file>
<file alias="expert">icons/expert2.png</file>
<file alias="done">icons/done.png</file>
<file alias="file">icons/file.png</file>

View File

@ -17,7 +17,14 @@ requirements = [
required_packages = find_packages()
required_packages.append('labelImg')
APP = ['labelImg.py']
OPTIONS = {
'argv_emulation': True,
'iconfile': 'icons/app.icns'
}
setup(
app=APP,
name='labelImg',
version=__version__,
description="LabelImg is a graphical image annotation tool and label object bounding boxes in images",
@ -51,5 +58,7 @@ setup(
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
],
package_data={'data/predefined_classes.txt': ['data/predefined_classes.txt']}
package_data={'data/predefined_classes.txt': ['data/predefined_classes.txt']},
options={'py2app': OPTIONS},
setup_requires=['py2app']
)