Monday, January 14, 2013

Camera Connections

IEEE 1394 (Firewire)

Pros

  • Simple daisy chaining capability


Cons
  • Slower data transfer - up to 400Mbps/800Mbps
  • No onboard memory for saving images
  • Difficult to synchronize with other devices
GigE (Gigabit Ethernet)

Pros
  • Faster transfer rates - up to 1000Mbps
  • Can be deployed to remote network-connected locations
Cons
  • Less triggering support
  • Difficult to synchronize with other devices
USB 2.0
  • Slower data transfer - up to 480Mbps
USB 3.0
  • High speed, high pixel depth and large image file sizes
  • Plug and play capability

Monday, October 22, 2012

PCA Dimension Reduction In Matlab


X = columnwise_vector';
%row-wise [X rows are the number of samples and cols are the number of dimensions]

C = mean(X);
X = X - repmat(C, size(X,1),1); %normalize by removing mean

covar = cov(X); %compute covariance matrix

[p,D]=eigs(covar, numDim);

X_reduced = (X*p);
X_reduced = X_reduced';

Friday, October 19, 2012

Hardware synchronizing a stereo rig of ps3 eye usb cameras

2 Links:

http://www.instructables.com/id/The-EyeWriter-20/?ALLSTEPS
http://nuigroup.com/forums/viewthread/12445/#66879

Thursday, October 18, 2012

Viewing stereo usb cameras on ROS

Download and install the uvc_camera drivers

Edit the uvcCameraLaunch.launch to contain the following:
<!--xml-->
<launch>
      <node pkg="uvc_camera" type="stereo_node" name="uvc_camera_stereo">
        <param name="width" type="int" value="320" />
        <param name="height" type="int" value="240" />
        <param name="fps" type="int" value="30" />
        <param name="frame" type="string" value="wide_stereo" />
    <param name="right/device" type="string" value="/dev/video1" />
        <param name="left/device" type="string" value="/dev/video2" />
     </node>
</launch>

launch this stack by:  ROS_NAMESPACE=stereo roslaunch UAVcam uvcCameraLaunch.launch

View the published messages: rostopic list
make sure the ros_namespace precedes the /left and /right image stream messages.

To view each stream:
$ rosrun image_view image_view image:=/stereo/left/image_raw
$ rosrun image_view image_view image:=/stereo/right/image_raw 
If you have a built-in webcam, I disabled it using the following:
by adding "blacklist uvcvideo" to the end of the file /etc/modprobe.d/blacklist.conf
I made sure uvcvideo was the name of the driver being used for this webcam using hwinfo 
(you must restart for the webcam to be disabled)
 
Then run the camera_calibration.
http://www.ros.org/wiki/camera_calibration/Tutorials/StereoCalibration 
 
 
 
 




Wednesday, October 17, 2012

ps3 eye usb camera and ROS

How to work with playstation ps3 eye USB camera and ROS and OpenCV

http://siddhantahuja.wordpress.com/2011/07/20/working-with-ros-and-opencv-draft/

For stereo:
https://code.ros.org/gf/project/ros/mailman/?_forum_action=ForumMessageBrowse&thread_id=55017&action=ListThreads&mailman_id=20

roscd: command not found

Problem:
roscd: command not found

Solution:
To solve this problem you must define the source of the ros setup.bash file:
Execute:

- source /opt/ros/fuerte/setup.bash
- source ~/ros_workspace/setup.bash 

(the second one made all warnings go away - use this instead of the first one. With the first one, I still got some warnings when I typed roscd with no arguments) 

in a terminal. In my case I was working ROS Fuerte (version 1.8.10).

this happened because I didnt do the last steps of installing ROS.

For a permanent fix edit .bashrc (use 'gedit .bashrc" for editing)and add the following to the end of the file:

export ROS_WORKSPACE=/home/anubis/fuerte_workspace









notice that we changed the ros workspace name (from ros_workspace to fuerte_workspace)

Friday, September 7, 2012

Setting Mat Pixels (elements) in OpenCV


This is how you set individual element's color channels of a Mat structure in OpenCV

img.at<cv::Vec3b>(v,u)[0]=B;
img.at<cv::Vec3b>(v,u)[1]=G;
img.at<cv::Vec3b>(v,u)[2]=R;