test_cam.py
Go to the documentation of this file.
1 #!/usr/bin/python
2 # BSD 3-Clause License
3 
4 # Copyright (c) 2019, Noam C. Golombek
5 # All rights reserved.
6 
7 # Redistribution and use in source and binary forms, with or without
8 # modification, are permitted provided that the following conditions are met:
9 
10 # 1. Redistributions of source code must retain the above copyright notice, this
11 # list of conditions and the following disclaimer.
12 
13 # 2. Redistributions in binary form must reproduce the above copyright notice,
14 # this list of conditions and the following disclaimer in the documentation
15 # and/or other materials provided with the distribution.
16 
17 # 3. Neither the name of the copyright holder nor the names of its
18 # contributors may be used to endorse or promote products derived from
19 # this software without specific prior written permission.
20 
21 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24 # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25 # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27 # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28 # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29 # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 
32 import rospy
33 import numpy as np
34 import timeit
35 
36 COMPRESSED = False
37 if not COMPRESSED:
38  from cv_bridge import CvBridge, CvBridgeError
39  from sensor_msgs.msg import Image
40 else:
41  import numpy as np
42  import cv2
43  from sensor_msgs.msg import CompressedImage
44 
45 
46 class testCam:
47  def callback(self, ros_data):
48  '''Callback function of subscribed topic.
49  Here images get converted to cv2 format'''
50  currentImage = ""
51  if not COMPRESSED:
52  currentImage = self.bridge.imgmsg_to_cv2(ros_data, "rgb8")
53  else:
54  np_arr = np.fromstring(ros_data.data, np.uint8)
55  image_np = cv2.imdecode(np_arr, 1)
56 
57  currentImage = cv2.cvtColor(image_np, cv2.BGR2RGB)
58 
59  np.mean(currentImage)
60  self.count += 1
61  # if self.count % 100 == 0:
62  # rospy.logwarn( "testCam\t" + str(self.count) + ":\t" +
63  # str(float(self.count / (timeit.default_timer() - self.start_time))))
64 
65  def __init__(self):
66  self.bridge = CvBridge()
67  self.count = 0
68  self.start_time = timeit.default_timer()
69  if not COMPRESSED:
70  self.subscriber = rospy.Subscriber("ueye_0/image_raw",
71  Image, self.callback, queue_size=1)
72  else:
73  sub_string += "/compressed"
74  self.subscriber = rospy.Subscriber(
75  sub_string, CompressedImage, callback, queue_size=1)
def __init__(self)
Definition: test_cam.py:65
def callback(self, ros_data)
Definition: test_cam.py:47


cnn_bridge
Author(s): Noam C. Golombek , Alexander Beringolts
autogenerated on Mon Jun 10 2019 12:53:26