ImportError: No module named cv_bridge
Hello all, I am trying to subscribe to a kinect publisher, grab an rgb image and convert it to an ipl image so I can manipulate it with opencv. I am using Fuerte and Ubuntu 12.04 and I am writing the code in Python. I am bit unsure how to make sure my package paths are all set up correctly. I have found some example code that I am posting below and I get an error stating
"ImportError: No module named cv_bridge"
I have added <run_depend>cv_bridge</run_depend> and <build_depend>cv_bridge</build_depend> to my package.xml
My package will hopefully control a sphero at some point, and so my package is called 'sphero_controller' and it is in a catkin workspace below my home folder. I have added this to the end of my .bashrc
export ROS_PACKAGE_PATH=/home/gideon:/opt/ros/fuerte/stacks:$ROS_PACKAGE_PATH
Does anyone know what I may be doing wrong?
Thanks
Gideon
#!/usr/bin/env python
import roslib
roslib.load_manifest('sphero_controller')
import sys
import rospy
import cv2
from std_msgs.msg import String
from sensor_msgs.msg import Image
from cv_bridge import CvBridge, CvBridgeError
import cv2.cv as cv
from std_msgs.msg import ColorRGBA
class image_converter:
def __init__(self):
self.image_pub = rospy.Publisher("image_topic_2",Image)
cv2.namedWindow("Image window", 1)
self.bridge = CvBridge()
self.image_sub = rospy.Subscriber("/camera/rgb/image_color",Image,self.callback)
def callback(self,data):
try:
cv_image = self.bridge.imgmsg_to_cv2(data, "bgr8")
except CvBridgeError, e:
print e
(rows,cols,channels) = cv_image.shape
if cols > 60 and rows > 60 :
cv2.circle(cv_image, (50,50), 10, 255)
cv2.imshow("Image window", cv_image)
cv2.waitKey(3)
try:
self.image_pub.publish(self.bridge.cv2_to_imgmsg(cv_image, "bgr8"))
except CvBridgeError, e:
print e
def main(args):
ic = image_converter()
rospy.init_node('image_converter', anonymous=True)
try:
rospy.spin()
except KeyboardInterrupt:
print "Shutting down"
cv2.destroyAllWindows()
if __name__ == '__main__':
main(sys.argv)