• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java VisionException类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中com.ni.vision.VisionException的典型用法代码示例。如果您正苦于以下问题:Java VisionException类的具体用法?Java VisionException怎么用?Java VisionException使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



VisionException类属于com.ni.vision包,在下文中一共展示了VisionException类的19个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: openCamera

import com.ni.vision.VisionException; //导入依赖的package包/类
public synchronized void openCamera() {
  if (m_id != -1)
    return; // Camera is already open
  for (int i = 0; i < 3; i++) {
    try {
      m_id =
          NIVision.IMAQdxOpenCamera(m_name,
              NIVision.IMAQdxCameraControlMode.CameraControlModeController);
    } catch (VisionException e) {
      if (i == 2)
        throw e;
      delay(2.0);
      continue;
    }
    break;
  }
}
 
开发者ID:trc492,项目名称:Frc2016FirstStronghold,代码行数:18,代码来源:USBCamera.java


示例2: initCamera

import com.ni.vision.VisionException; //导入依赖的package包/类
private void initCamera() {
try {
    session = NIVision.IMAQdxOpenCamera("cam0", NIVision.IMAQdxCameraControlMode.CameraControlModeController);
    NIVision.IMAQdxConfigureGrab(session);
  //  NIVision.IMAQdx

    // create images
    image = NIVision.imaqCreateImage(ImageType.IMAGE_RGB, 0);

    // Put default values to SmartDashboard so fields will appear
    SmartDashboard.putBoolean("use binary", false);
} catch (VisionException e) {
    TurtleLogger.critical("Camera Not found");
    e.printStackTrace();
}

   }
 
开发者ID:FRC1458,项目名称:turtleshell,代码行数:18,代码来源:TurtwigVision.java


示例3: setImage

import com.ni.vision.VisionException; //导入依赖的package包/类
/**
 * Manually change the image that is served by the MJPEG stream. This can be
 * called to pass custom annotated images to the dashboard. Note that, for
 * 640x480 video, this method could take between 40 and 50 milliseconds to
 * complete.
 *
 * This shouldn't be called if {@link #startAutomaticCapture} is called.
 *
 * @param image The IMAQ image to show on the dashboard
 */
public void setImage(Image image) {
  // handle multi-threadedness

  /* Flatten the IMAQ image to a JPEG */
  RawData data =
      NIVision.imaqFlatten(image, NIVision.FlattenType.FLATTEN_IMAGE,
          NIVision.CompressionType.COMPRESSION_JPEG, 10 * m_quality);
  ByteBuffer buffer = data.getBuffer();
  boolean hwClient;

  synchronized (this) {
    hwClient = m_hwClient;
  }

  /* Find the start of the JPEG data */
  int index = 0;
  if (hwClient) {
    while (index < buffer.limit() - 1) {
      if ((buffer.get(index) & 0xff) == 0xFF && (buffer.get(index + 1) & 0xff) == 0xD8)
        break;
      index++;
    }
  }

  if (buffer.limit() - index - 1 <= 2) {
    throw new VisionException("data size of flattened image is less than 2. Try another camera! ");
  }

  setImageData(data, index);
}
 
开发者ID:FRC2832,项目名称:Robot_2016,代码行数:41,代码来源:CameraServer2832.java


示例4: startAutomaticCapture

import com.ni.vision.VisionException; //导入依赖的package包/类
/**
 * Start automatically capturing images to send to the dashboard.
 *
 * You should call this method to just see a camera feed on the dashboard
 * without doing any vision processing on the roboRIO. {@link #setImage}
 * shouldn't be called after this is called.
 *
 * @param cameraName The name of the camera interface (e.g. "cam1")
 */
public void startAutomaticCapture(String cameraName) {
  try {
    USBCamera camera = new USBCamera(cameraName);
    camera.openCamera();
    startAutomaticCapture(camera);
  } catch (VisionException ex) {
    //DriverStation.reportError(
       // "Error when starting the camera: " + cameraName + " " + ex.getMessage(), true);
  }
}
 
开发者ID:FRC2832,项目名称:Robot_2016,代码行数:20,代码来源:CameraServer2832.java


示例5: capture

import com.ni.vision.VisionException; //导入依赖的package包/类
protected void capture() {
  Image frame = NIVision.imaqCreateImage(NIVision.ImageType.IMAGE_RGB, 0);
  while (true) {
    boolean hwClient;
    ByteBuffer dataBuffer = null;
    synchronized (this) {
      hwClient = m_hwClient;
      if (hwClient) {
        dataBuffer = m_imageDataPool.removeLast();
      }
    }

    try {
      if (hwClient && dataBuffer != null) {
        // Reset the image buffer limit
        dataBuffer.limit(dataBuffer.capacity() - 1);
        m_camera[selectedCamera].getImageData(dataBuffer);
        setImageData(new RawData(dataBuffer), 0);
      } else {
        m_camera[selectedCamera].getImage(frame);
        setImage(frame);
      }
    } catch (VisionException ex) {
      //DriverStation.reportError("Error when getting image from the camera: " + ex.getMessage(),true);
      if (dataBuffer != null) {
        synchronized (this) {
          m_imageDataPool.addLast(dataBuffer);
          Timer.delay(.1);
        }
      }
    }
  }
}
 
开发者ID:FRC2832,项目名称:Robot_2016,代码行数:34,代码来源:CameraServer2832.java


示例6: setSelectedCamera

import com.ni.vision.VisionException; //导入依赖的package包/类
public void setSelectedCamera(int id) {
 if (lastSwitch + 2500 > System.currentTimeMillis())
  return;
 if (selectedCamera != id && id >= 0 && id < m_camera.length) {
  try {
	  m_camera[selectedCamera].stopCapture();
	  m_camera[id].startCapture();
	  
	  selectedCamera = id;
  } catch (VisionException e) {
	  //DriverStation.reportError("A camera was unplugged.", true);
  }
  lastSwitch = System.currentTimeMillis();
 }
}
 
开发者ID:FRC2832,项目名称:Robot_2016,代码行数:16,代码来源:CameraServer2832.java


示例7: setImage

import com.ni.vision.VisionException; //导入依赖的package包/类
/**
 * Manually change the image that is served by the MJPEG stream. This can be
 * called to pass custom annotated images to the dashboard. Note that, for
 * 640x480 video, this method could take between 40 and 50 milliseconds to
 * complete.
 *
 * 
 *
 * @param image The IMAQ image to show on the dashboard
 */
public void setImage(Image image) {
  // handle multi-threadedness

  /* Flatten the IMAQ image to a JPEG */

  RawData data =
      NIVision.imaqFlatten(image, NIVision.FlattenType.FLATTEN_IMAGE,
          NIVision.CompressionType.COMPRESSION_JPEG, 10 * m_quality);
  ByteBuffer buffer = data.getBuffer();
  boolean hwClient;

  synchronized (this) {
    hwClient = m_hwClient;
  }

  /* Find the start of the JPEG data */
  int index = 0;
  if (hwClient) {
    while (index < buffer.limit() - 1) {
      if ((buffer.get(index) & 0xff) == 0xFF && (buffer.get(index + 1) & 0xff) == 0xD8)
        break;
      index++;
    }
  }

  if (buffer.limit() - index - 1 <= 2) {
    throw new VisionException("data size of flattened image is less than 2. Try another camera! ");
  }

  setImageData(data, index);
}
 
开发者ID:MontclairRobotics,项目名称:Sprocket,代码行数:42,代码来源:CameraServers.java


示例8: startCamera

import com.ni.vision.VisionException; //导入依赖的package包/类
/**
 * Start automatically capturing images to send to the dashboard.
 *
 * You should call this method to just see a camera feed on the dashboard
 * without doing any vision processing on the roboRIO. {@link #setImage}
 * shouldn't be called after this is called.
 *
 * @param cameraName The name of the camera interface (e.g. "cam1")
 */
private USBCamera startCamera(String cameraName) {
  try {
    USBCamera camera = new USBCamera(cameraName);
    camera.openCamera();
    //startAutomaticCapture(camera);
    return camera;
  } catch (VisionException ex) {
    DriverStation.reportError(
        "Error when starting the camera: " + cameraName + " " + ex.getMessage(), true);
  }
  return null;
}
 
开发者ID:MontclairRobotics,项目名称:Sprocket,代码行数:22,代码来源:CameraServers.java


示例9: capture

import com.ni.vision.VisionException; //导入依赖的package包/类
protected void capture() {
  Image frame = NIVision.imaqCreateImage(NIVision.ImageType.IMAGE_RGB, 0);
  while (true) {
    boolean hwClient;
    ByteBuffer dataBuffer = null;
    synchronized (this) {
      hwClient = m_hwClient;
      if (hwClient) {
        dataBuffer = m_imageDataPool.removeLast();
      }
    }

    try {
      if (hwClient && dataBuffer != null) {
        // Reset the image buffer limit
        dataBuffer.limit(dataBuffer.capacity() - 1);
        m_camera.getImageData(dataBuffer);
        setImageData(new RawData(dataBuffer), 0);
      } else {
        m_camera.getImage(frame);
        setImage(frame);
      }
    } catch (VisionException ex) {
      DriverStation.reportError("Error when getting image from the camera: " + ex.getMessage(),
          true);
      if (dataBuffer != null) {
        synchronized (this) {
          m_imageDataPool.addLast(dataBuffer);
          Timer.delay(.1);
        }
      }
    }
  }
}
 
开发者ID:MontclairRobotics,项目名称:Sprocket,代码行数:35,代码来源:CameraServers.java


示例10: setImage

import com.ni.vision.VisionException; //导入依赖的package包/类
/**
 * Manually change the image that is served by the MJPEG stream. This can be
 * called to pass custom annotated images to the dashboard. Note that, for
 * 640x480 video, this method could take between 40 and 50 milliseconds to
 * complete.
 *
 * This shouldn't be called if {@link #startAutomaticCapture} is called.
 *
 * @param image The IMAQ image to show on the dashboard
 */
public void setImage(Image image) {
  // handle multi-threadedness

  /* Flatten the IMAQ image to a JPEG */

  RawData data =
      NIVision.imaqFlatten(image, NIVision.FlattenType.FLATTEN_IMAGE,
          NIVision.CompressionType.COMPRESSION_JPEG, 10 * m_quality);
  ByteBuffer buffer = data.getBuffer();
  boolean hwClient;

  synchronized (this) {
    hwClient = m_hwClient;
  }

  /* Find the start of the JPEG data */
  int index = 0;
  if (hwClient) {
    while (index < buffer.limit() - 1) {
      if ((buffer.get(index) & 0xff) == 0xFF && (buffer.get(index + 1) & 0xff) == 0xD8)
        break;
      index++;
    }
  }

  if (buffer.limit() - index - 1 <= 2) {
    throw new VisionException("data size of flattened image is less than 2. Try another camera! ");
  }

  setImageData(data, index);
}
 
开发者ID:trc492,项目名称:Frc2016FirstStronghold,代码行数:42,代码来源:CameraServer.java


示例11: startAutomaticCapture

import com.ni.vision.VisionException; //导入依赖的package包/类
/**
 * Start automatically capturing images to send to the dashboard.
 *
 * You should call this method to just see a camera feed on the dashboard
 * without doing any vision processing on the roboRIO. {@link #setImage}
 * shouldn't be called after this is called.
 *
 * @param cameraName The name of the camera interface (e.g. "cam1")
 */
public void startAutomaticCapture(String cameraName) {
  try {
    USBCamera camera = new USBCamera(cameraName);
    camera.openCamera();
    startAutomaticCapture(camera);
  } catch (VisionException ex) {
    DriverStation.reportError(
        "Error when starting the camera: " + cameraName + " " + ex.getMessage(), true);
  }
}
 
开发者ID:trc492,项目名称:Frc2016FirstStronghold,代码行数:20,代码来源:CameraServer.java


示例12: execute

import com.ni.vision.VisionException; //导入依赖的package包/类
@Override
protected void execute() {
	try{
		Robot.cameraSubsystem.serveLatestFrame();
	}catch(VisionException e){
		SmartDashboard.putString("Vision Error", e.getMessage()+e.getStackTrace());
	}
	
	String selectionString = (String)cameraChooser.getSelected();
	boolean selection = false;
	if (selectionString=="cam2"){
		selection = true;
	}
	
	/*if (selection!=Robot.cameraSubsystem.getInitilizedCamera()){
		Robot.cameraSubsystem.selectCamera(selection);
		Robot.cameraSubsystem.serveLatestFrame();
	}*/
	
	if(Robot.oi.joystick1.getRawButton(4) || Robot.oi.joystick2.getRawButton(4))
	{
		Robot.cameraSubsystem.selectCamera(true);
	}
	else if(Robot.oi.joystick1.getRawButton(5) || Robot.oi.joystick2.getRawButton(5))
	{
		Robot.cameraSubsystem.selectCamera(false);
	}
		
		
	SmartDashboard.putString("Target XY", SmartDashboard.getString("DIAMOND_COORDINATES", "?"));
}
 
开发者ID:Millerbots,项目名称:FRC2549-2016,代码行数:32,代码来源:StreamCameraCommand.java


示例13: resetAcquisition

import com.ni.vision.VisionException; //导入依赖的package包/类
private void resetAcquisition(){
	if (!broken){
		try{
			NIVision.IMAQdxStopAcquisition(getCurrentSession());
			NIVision.IMAQdxUnconfigureAcquisition(getCurrentSession());
		}catch (VisionException v){broken=true;pushError(v);}
	}
}
 
开发者ID:Millerbots,项目名称:FRC2549-2016,代码行数:9,代码来源:CameraSubsystem.java


示例14: selectCamera

import com.ni.vision.VisionException; //导入依赖的package包/类
public void selectCamera(boolean id){
	if (!broken){
		try{
			if (doneInit) resetAcquisition();
			NIVision.IMAQdxConfigureGrab(getSession(id));
	        NIVision.IMAQdxStartAcquisition(getSession(id));
	        initilizedCamera = id;
	        doneInit=true;
		}catch (VisionException v){broken=true;pushError(v);}
	}
}
 
开发者ID:Millerbots,项目名称:FRC2549-2016,代码行数:12,代码来源:CameraSubsystem.java


示例15: serveLatestFrame

import com.ni.vision.VisionException; //导入依赖的package包/类
public void serveLatestFrame(){
	if(!broken){
		try{
			NIVision.IMAQdxGrab(getCurrentSession(), frame, 1);
			server.setImage(frame);
		}catch (VisionException v){broken=true;pushError(v);}
	}
}
 
开发者ID:Millerbots,项目名称:FRC2549-2016,代码行数:9,代码来源:CameraSubsystem.java


示例16: robotInit

import com.ni.vision.VisionException; //导入依赖的package包/类
/**
 * This function is run when the robot is first started up and should be
 * used for any initialization code.
 */
public void robotInit() {
	try {
		session = NIVision.IMAQdxOpenCamera("cam0", NIVision.IMAQdxCameraControlMode.CameraControlModeController);
		NIVision.IMAQdxConfigureGrab(session);
		image = NIVision.imaqCreateImage(ImageType.IMAGE_RGB, 0);
	} catch (VisionException e) {

	}

}
 
开发者ID:FRC1458,项目名称:turtleshell,代码行数:15,代码来源:Robot.java


示例17: initialize

import com.ni.vision.VisionException; //导入依赖的package包/类
@Override
public void initialize() {
	try {
		frame = NIVision.imaqCreateImage(NIVision.ImageType.IMAGE_RGB, 0);  // create the image frame for cam
		session = NIVision.IMAQdxOpenCamera("cam0",
		        NIVision.IMAQdxCameraControlMode.CameraControlModeController);  // get reference to camera
		NIVision.IMAQdxConfigureGrab(session);  // grab current streaming session
	} catch (VisionException e) {
		e.printStackTrace();
	}
}
 
开发者ID:TechnoWolves5518,项目名称:2015RobotCode,代码行数:12,代码来源:VisionTrack.java


示例18: robotInit

import com.ni.vision.VisionException; //导入依赖的package包/类
/**
	 * This function is run when the robot is first started up and should be
	 * used for any initialization code.
	 */
	public void robotInit() {
		oi = new OI();
		driveTrainEncoder.initEncoders();
		// autonomous chooser
		chooser = new SendableChooser();
		chooser.addDefault("Position One", "Position One");
		chooser.addObject("Position Two", "Position Two");
		chooser.addObject("Position Three", "Position Three");
		chooser.addObject("Position Four", "Position Four");
		chooser.addObject("Position Five", "Position Five");
		chooser.addObject("Do Nothing", "Do Nothing");
		SmartDashboard.putData("Auto mode", chooser);
		SmartDashboard.putData("LoadPrefNames", new LoadPrefNames());
		// camera chooser
		cameraSelector = new SendableChooser();
		cameraSelector.addDefault("Front View", "Front View");
		cameraSelector.addObject("Back View", "Back View");
		cameraSelector.addObject("Manual Change", "Manual Change");
		SmartDashboard.putData("Camera Selector", cameraSelector);
		
		
		
		try {
			frame = NIVision.imaqCreateImage(NIVision.ImageType.IMAGE_RGB, 0);
//			sessionfront = NIVision.IMAQdxOpenCamera("cam3",
//					NIVision.IMAQdxCameraControlMode.CameraControlModeController);
			sessionfront = NIVision.IMAQdxOpenCamera("cam0",
					NIVision.IMAQdxCameraControlMode.CameraControlModeController);
			sessionback = NIVision.IMAQdxOpenCamera("cam2",
					NIVision.IMAQdxCameraControlMode.CameraControlModeController);
			currSession = sessionback;
			NIVision.IMAQdxConfigureGrab(currSession);
		} catch (VisionException v) {
			//do nothing
		} catch (Exception e) {
			
		}
		// drivetrain chooser
		drivetrainSelector = new SendableChooser();
		drivetrainSelector.addDefault("Tank Drive", "Tank Drive");
		drivetrainSelector.addObject("Arcade Drive", "Arcade Drive");
		SmartDashboard.putData("Drivetrain Selector", drivetrainSelector);
		// preferences
		prefs = Preferences.getInstance();
		distanceTarget = prefs.getDouble("DistanceTarget", distanceTarget);
		distanceOffset = prefs.getDouble("DistanceOffset", distanceOffset);
		angleMultiplier = prefs.getDouble("AngleMultipler", angleMultiplier);
		angleAddition = prefs.getDouble("AngleAddition", angleAddition);
		distanceMultiplier = prefs.getDouble("DistanceMultipler",
				distanceMultiplier);
		distanceAddition = prefs
				.getDouble("DistanceAddition", distanceAddition);
		leftInches = prefs.getDouble("lWheelInches", leftInches);
		rightInches = prefs.getDouble("fRightInches", rightInches);
		leftTicks = prefs.getDouble("lWheelTicks", leftTicks);
		rightTicks = prefs.getDouble("rWheelTicks", rightTicks);
		// add sensors
		LiveWindow.addSensor("Sensors", "Gyro", gyro);
	}
 
开发者ID:frc3946,项目名称:Stronghold,代码行数:64,代码来源:Robot.java


示例19: pushError

import com.ni.vision.VisionException; //导入依赖的package包/类
private void pushError(VisionException v){
	SmartDashboard.putString("VisionError", v.getMessage()+" -- "+v.toString());
}
 
开发者ID:Millerbots,项目名称:FRC2549-2016,代码行数:4,代码来源:CameraSubsystem.java



注:本文中的com.ni.vision.VisionException类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java LoggerFactory类代码示例发布时间:2022-05-22
下一篇:
Java BooleanSerializer类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap