|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
| Thread Tools | Rate Thread | Display Modes |
|
#1
|
||||
|
||||
|
Standalone Java Image Application
We are trying to build a standalone Java Image application that would read the camera, process the image, and post data to the Smart Dashboard. For debugging we would like to read in one of the sample images. However our code crashes using the RGBimage("filename.jpg") with a class not found exception.
We haven't found any examples of standalone java applications. Only ones that use the cRIO. Can anyone help? Here's our simple program. package javaimagesample; import edu.wpi.first.wpilibj.image.ColorImage; import edu.wpi.first.wpilibj.image.NIVisionException; import edu.wpi.first.wpilibj.image.NIVision; import edu.wpi.first.wpilibj.image.RGBImage; import java.util.logging.Level; import java.util.logging.Logger; /** * * @author l241870 */ public class JavaImageSample { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here ColorImage image; // next 2 lines read image from flash on cRIO try { image = new RGBImage("/10ft2.jpg"); } catch (NIVisionException ex) { logger.getLogger(JavaImageSample.class.getName()). log(Level.SEVERE, null, ex); } } } Here is the debugger output showing we error on the line image = new RGBImage("/10ft2.jpg"); We have also tried defining the complete path to the image too. debug: Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/cldc/jna/TaskExecutor at edu.wpi.first.wpilibj.image.NIVision.<clinit>(NIVi sion.java:29) at edu.wpi.first.wpilibj.image.Image.<init>(Image.jav a:24) at edu.wpi.first.wpilibj.image.ColorImage.<init>(Colo rImage.java:16) at edu.wpi.first.wpilibj.image.RGBImage.<init>(RGBIma ge.java:32) at javaimagesample.JavaImageSample.main(JavaImageSamp le.java:27) Caused by: java.lang.ClassNotFoundException: com.sun.cldc.jna.TaskExecutor at java.net.URLClassLoader$1.run(URLClassLoader.java: 366) at java.net.URLClassLoader$1.run(URLClassLoader.java: 355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.j ava:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:4 23) at sun.misc.Launcher$AppClassLoader.loadClass(Launche r.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:3 56) ... 5 more Java Result: 1 BUILD SUCCESSFUL (total time: 18 seconds) |
|
#2
|
|||
|
|||
|
Re: Standalone Java Image Application
Quote:
|
|
#3
|
|||
|
|||
|
Re: Standalone Java Image Application
You can't just take WPIlibJ programs set up to run under the SquawkVM on the cRIO and run them under a regular VM on Windows. You would need a SquawkVM for Windows and significant rewriting of the code to support this. To do image processing on a PC check out the Smart Dashboard vision extension.
|
|
#4
|
||||
|
||||
|
Re: Standalone Java Image Application
Thanks for the answer. I'll install the SmartDashboard and OpenCV as per WPILibCookbook and try that.
http://www.wbrobotics.com/attachment...ibCookbook.pdf Note I did try the program using Netbeans 6.9.1 and that fails too. It makes sense that the libraries are written for the Alpha on the cRIO. So much for JAVA portability. |
|
#5
|
||||
|
||||
|
Re: Standalone Java Image Application
I've downloaded the SmartDashboard installer with OpenCV, then tried the example code based on:
http://www.wbrobotics.com/attachment...ibCookbook.pdf page 74. First I added the jar file to the libraries which are installed at C:\Program Files\SmartDashboard\extensions\WPICameraExtension .jar I assume that's the library needed? My program looks like: import edu.wpi.first.smartdashboard.camera.WPICameraExten sion; public class BasicCameraExtension extends WPICameraExtension { @Override public WPIImage processImage(WPIColorImage rawImage) { return super.processImage(rawImage); } } There are errors On the @Override statement I get "method does not override or implement a method from a supertype". On WPIImage I get cannot find symbol. On WPIColorImage I also get cannot find symbol. It looks to me like I'm not pointing to the correct libraries again. |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|