Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Java (http://www.chiefdelphi.com/forums/forumdisplay.php?f=184)
-   -   Flipping an image in NIVision (http://www.chiefdelphi.com/forums/showthread.php?t=143652)

SteveWozniakek 02-11-2016 05:32 PM

Flipping an image in NIVision
 
With NIVision I am trying to flip a camera image upside down. I currently have it as an Image type and do not see a NiVision method for rotating or flipping the image. Does anyone know how to flip the camera image in NIVision so I can send it to the CameraServer?

koreamaniac101 02-13-2016 10:51 AM

Re: Flipping an image in NIVision
 
Team 5938 is also looking for a solution to this as well. We have our Microsoft Lifecam mounted upside-down, and our drivers don't exactly like to go through the terrain with the floor on top. :D

soundfx 02-13-2016 03:55 PM

Re: Flipping an image in NIVision
 
Have you looked at the imaqFlip method in NIVision?

SteveWozniakek 02-17-2016 06:37 AM

Re: Flipping an image in NIVision
 
Yes I found the solution. I'll post a snippet later today for flipping it properly. Thanks for help though!

Joey1939 02-17-2016 04:35 PM

Re: Flipping an image in NIVision
 
Can you please post the code that you used to do this? My team has mounted the camera upside down, and I need to flip the image in code. I couldn't find any documentation on NIVision, and I would appreciate any help.

I am using Java and this is my current command, which is set to run while the robot is disabled. It currently doesn't correctly send an image to the SmartDashboard and throws and exception occasionally.
Code:

package org.usfirst.frc.team1939.robot.commands.camera;

import org.usfirst.frc.team1939.robot.Robot;

import com.ni.vision.NIVision;
import com.ni.vision.NIVision.FlipAxis;
import com.ni.vision.NIVision.Image;
import com.ni.vision.NIVision.ImageType;

import edu.wpi.first.wpilibj.CameraServer;
import edu.wpi.first.wpilibj.command.Command;
import edu.wpi.first.wpilibj.vision.USBCamera;

public class CameraUpdater extends Command {

        private USBCamera camera;
        private CameraServer server;

        public CameraUpdater() {
                requires(Robot.camera);
        }

        @Override
        protected void initialize() {
                this.camera = new USBCamera("cam0");
                this.server = CameraServer.getInstance();
                this.camera.startCapture();
        }

        @Override
        protected void execute() {
                Image source = NIVision.imaqCreateImage(ImageType.IMAGE_RGB, 0);
                this.camera.getImage(source);
                Image dest = NIVision.imaqCreateImage(ImageType.IMAGE_RGB, 0);
                NIVision.imaqFlip(dest, source, FlipAxis.CENTER_AXIS);
                this.server.setImage(dest);
        }

        @Override
        protected boolean isFinished() {
                return false;
        }

        @Override
        protected void end() {
        }

        @Override
        protected void interrupted() {
        }
}


SteveWozniakek 02-17-2016 07:35 PM

Re: Flipping an image in NIVision
 
Your code is good but center axis needs to be vertical axis( I lied your knit cam wrong here's a snippet)
Quote:

camCenter = NIVision.IMAQdxOpenCamera("cam1", NIVision.IMAQdxCameraControlMode.CameraControlMode Controller);
camRight = NIVision.IMAQdxOpenCamera("cam0", NIVision.IMAQdxCameraControlMode.CameraControlMode Controller);
curCam = camCenter;
camera = "center";
// Img that will contain camera img
frame = NIVision.imaqCreateImage(NIVision.ImageType.IMAGE_ RGB, 0);
// Server that we'll give the img to
server = CameraServer.getInstance();
server.setQuality(50);
server.setSize(666);

3205patriots 02-17-2016 07:51 PM

Re: Flipping an image in NIVision
 
I had this problem too and all you need to do to flip the image 180 degrees is

Image frame = NIVision.imaqCreateImage(NIVision.ImageType.IMAGE_ RGB, 0);

NIVision.imaqFlip(frame, frame, FlipAxis.HORIZONTAL_AXIS);


All times are GMT -5. The time now is 08:03 AM.

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