Investigation on how to deploy openCV javaFX GUI
Trying to solve problems related to deploying program to raspberry.
Problems included lack of support in java8 for javaFX on raspberry.
Requirement of building native library openCV.so for specified architecture.
And problem with capturing webcam.
First of all after creating valid pom.xml and including all dependencies and native librariesI realized that openCV330.so file included in jar file has to be build directly on raspberry pi.As ".so" file has to be build for specified architecture. In this case ARM processor. Process of building openCV dependencies is the same for all devices and is posted on wiki here OpenCV.
Another problem was related to lack of support by java-8 for ARM processor. So it required to redesign code from javaFX to java swing.
And the last issue was caused by lack of v4l2 on raspberry pi. It's really misleading as typical camera test "raspistill -v -o test.jpg" doesn't require v4l2. But every attempt to run camera by java application will fail without v4l2. Fortunately it can be easily fixed with few lines of code and is explained here Camera and V4L2.