Open MihailV1989 opened 2 years ago
There are a few things going on and I'll answer the easiest questions/issues now.
1) "when I download the Python library by entering pip3 install pyboof, do I get a binary or is it compiling"
You're getting a precompiled binary/jar
2) "Unsupported class file major version 61"
Is caused when javac is configured to build for an earlier version of Java's byte code but a library it depends on is using a newer version. 61 is the major version for Java 17 but the build script forces it to build for Java 11 (or maybe 8, just start transitioning libraries). Did you build some other dependency locally? As long as it downloads pre-compile jars from the internet you shouldn't get that error.
3) "NameError: name 'create_narrow_lens_distorter' is not defined"
This could be a mistake on my end. I'll look into that.
4) Everything else
I'm a bit confused my the other error you listed. Looks like something is getting seriously mangled. I'll have some follow up questions.
Thanks for the fast reply!
I have no experience with Java and this was the first time I have installed a JDK on Ubuntu. When I tried to build from source, I just followed the steps here: https://github.com/lessthanoptimal/PyBoof#installing-from-source
In the Python venv there were few other libraries but they were all installed with pip without building anything from source. Now I have just created a new venv only for PyBoof while following the steps from the above link exactly. Upon compiling the first time I got almost the same error with an additional info upon starting a Gradle Daemon:
Starting a Gradle Daemon, 1 incompatible and 1 stopped Daemons could not be reused, use --status for details
I'm attaching the whole output as a .txt as it's very long:
Hello,
I'm trying to run the QR code detection example on a Ubuntu 20.04.3 LTS 64-bit in a VirtualBox in Win10, but it seems PyBoof is not working properly. Running the DetectQrCodeApp from demonstrations.sh works just fine. The Python scripts are ran in a venv.
Running the qrcode_detect.py example as is or with any of the example images with QR codes says that no QR codes were detected without giving any error:
Few examples do work, like: gradient.py object_tracking.py (actually tested only under Win10) threshold_image.py
Others don't, like: detect_lines.py (window with images shows, but no line can be seen, again no errors received)
video_mosaic.py, error recieved:
estimate_camera_motion.py, error received:
match_features.py, error received:
I tried different PyBoof versions as well: 0.39.1.post1, 0.38.0, 0.36.0. Python 3.8.10 JDK installed from zulu17.30.15-ca-jdk17.0.1-linux_amd64.deb
I get similar success running PyBoof directly on Win10 with Python 3.9.9 and Oracle jdk-17_windows-x64. Same examples work and the ones that don't work give same error. Running the DetectQrCodeApp from demonstrations.bat works with the exception that the movie.mp4 example hangs up after just about 1 second, but I could live with this one.
I have no idea where to search for a possible problem/mistake, so any hint would be useful. The only thing I've still didn't tried is, to use Python 3.5, because the requirement is Python >=3, isn't it?
Thanks! Mihail
P.S. Building from source fails on both Ubuntu and Win10. Small part from the output from Ubuntu:
EDIT: I just found out, that the tools I actually need are the fiducial functions. So I tried to run the examples: fiducial_square_aruco.py fiducial_square_binary_3D.py fiducial_square_image_3D.py
and all three are only working without intrinsics, which is of no use to me, as I need the 3D position. Otherwise I get the following error:
So now I have concrete a question: when I download the Python library by entering
pip3 install pyboof
, do I get a binary or is it compiling it from source in the background, possibly without letting me know that there were errors like when I try to compile it manually?