Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Java (http://www.chiefdelphi.com/forums/forumdisplay.php?f=184)
-   -   WPICameraExtension using ColorImage and BinaryImage methods (http://www.chiefdelphi.com/forums/showthread.php?t=112549)

MLM 01-02-2013 20:14

WPICameraExtension Vision on PC/Laptop
 
Sooo I am trying to use all of the particleFilter and convexHull methods that ColorImage and BinaryImage has to offer.

I realize many people use findContours and all that stuff that goes with that but I want to use the great filters CriteriaCollection stuff.

The WPICameraExtension has WPIColorImage and WPIBinaryImage but there seems to be NO way to convert between the normal ColorImage and BinaryImage.

The only way I have figured out a way is if I save the rawImage
Code:

// Save file from camera for use
BufferedImage bi = rawImage.getBufferedImage();
File outputfile = new File("cameraOutput.jpg");
ImageIO.write(bi, "jpg", outputfile);

and then use
Code:

ColorImage image = new RGBImage("cameraOutput.jpg");
My problem is the RGBImage() seems to stall the program. It does not give any exception and does not run any code beneath it. RGBImage() is the method used in the camera test sample in netbeans.

Is there a way to make my own system to create a ColorImage? or how do I get around this issue?

Here is the reduced code that I am trying to use (Make sure to Run as Administrator):
Code:

import edu.wpi.first.smartdashboard.camera.WPICameraExtension;
import edu.wpi.first.wpijavacv.WPIColorImage;
import edu.wpi.first.wpijavacv.WPIImage;
import edu.wpi.first.wpilibj.image.ColorImage;
import edu.wpi.first.wpilibj.image.RGBImage;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard;

public class SimpleCameraExtension extends WPICameraExtension
{
    public static final String NAME = "Simple Camera Extension";
   
    @Override
    public WPIImage processImage(WPIColorImage rawImage)
    {
        // Save file from camera for use
        try
        {
            File outputfile = new File("cameraOutput.jpg");
           
            //ColorImage image = (ColorImage)rawImage;
            SmartDashboard.putString("testingBefore", "" + System.nanoTime());

            ColorImage image = new RGBImage("cameraOutput.jpg");

            outputfile.delete(); // testing
       
        }
        catch(Exception e)
        {
            SmartDashboard.putString("exceptionHere", "" + System.nanoTime());
        }

        return rawImage.getRedChannel();
    }
}


Include these jars:
\SmartDashboard\extensions\WPICameraExtension.jar
\SmartDashboard\extensions\lib\WPIJavaCV.jar
\SmartDashboard\SmartDashboard.jar
wpilibj.jar


All times are GMT -5. The time now is 10:04.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi