Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ros_bridge error #9

Open
pnambiar opened this issue Jul 21, 2018 · 0 comments
Open

ros_bridge error #9

pnambiar opened this issue Jul 21, 2018 · 0 comments

Comments

@pnambiar
Copy link

I am trying to create a ROS wrapper for caffe2 (Ros Kinetic, opencv version-3.4.1) and I get the following error:

[ERROR] [1532132328.463265]: bad callback: <bound method image_converter.callback of <main.image_converter instance at 0x7f01bdc8e7a0>>
Traceback (most recent call last):
File "/opt/ros/kinetic/lib/python2.7/dist-packages/rospy/topics.py", line 750, in _invoke_callback
cb(msg)
File "ros_mercnn.py", line 72, in callback
cv_image = self.bridge.imgmsg_to_cv2(data, 'bgr8')
File "/opt/ros/kinetic/lib/python2.7/dist-packages/cv_bridge/core.py", line 182, in imgmsg_to_cv2
res = cvtColor2(im, img_msg.encoding, desired_encoding)
ArgumentError: Python argument types in
cv_bridge.boost.cv_bridge_boost.cvtColor2(numpy.ndarray, str, unicode)
did not match C++ signature:
cvtColor2(boost::python::api::object, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >)

Any help will be highly appreciated

#!/usr/bin/env python

"""Perform inference on a single image or all images with a certain  extension

(e.g., .jpg) in a folder.
"""

from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
from __future__ import unicode_literals

from collections import defaultdict
import argparse
import cv2  # NOQA (Must import before importing caffe2 due to bug in cv2)
import glob
import logging
import os
import sys
import time

from caffe2.python import workspace

import roslib
#roslib.load_manifest('my_package')
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 numpy as np
class image_converter:	

    def __init__(self):

	    self.bridge = CvBridge()
	    self.image_sub = rospy.Subscriber("/usb_cam/image_raw",Image,self.callback)
	    cv2.waitKey(1000000)
    def callback(self, data):
	    currentframe = 0
	    try:
		    while True:

		    	cv_image = self.bridge.imgmsg_to_cv2(data, 'bgr8')

			
	    except CvBridgeError as e:	
		    print(e)
def main(args):
    ic = image_converter()
    rospy.init_node('image_converter', anonymous=True)
    try:
	    cv2.waitKey(1000)
	    rospy.spin()
    except KeyboardInterrupt:
	    print('Shutting Down')
    cv2.destroyAllWindows()

if __name__ == '__main__':

        workspace.GlobalInit(['caffe2', '--caffe2_log_level=0'])
 #      setup_logging(__name__)
    main(sys.argv)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant