Пример #1
0
    def __init__(self):
        super(SkeletonInput, self).__init__()
        if user_tracker is None:
            openni2.initialize()
            nite2.initialize()

        self.smoothed_inputs = SmoothInputs()
        self.reset_user_tracker()
Пример #2
0
    def __init__(self):
        nite2.initialize()
        self.ut = nite2.UserTracker.open_any()
        self.pub = rospy.Publisher('skeleton', UserTrackerPoseArray, queue_size=10)
        self.rate = rospy.Rate(10)

        self.utpa = UserTrackerPoseArray()
        self.utp = UserTrackerPose()
        self.head_pose = Vector3()
        rate = rospy.Rate(100)
Пример #3
0
 def start(self):
     openni2.initialize()
     nite2.initialize()
     self.user_tracker = nite2.UserTracker(None)
     self.hand_tracker = nite2.HandTracker(None)
     self.hand_tracker.start_gesture_detection(
         nite2.c_api.NiteGestureType.NITE_GESTURE_CLICK)
     #self.hand_tracker.start_gesture_detection(nite2.c_api.NiteGestureType.NITE_GESTURE_WAVE)
     self.hand_listener = HandListener(self.hand_tracker,
                                       self.gesture_received)
     self.user_listener = UserListener(self.user_tracker,
                                       self.pose_detected,
                                       self.user_added_callback,
                                       self.user_removed_callback,
                                       self.user_roles_changed)
Пример #4
0
    def __init__(self):
        nite2.initialize()
        self.ut = nite2.UserTracker.open_any()
        self.pub = rospy.Publisher('skeleton', UserTrackerPoseArray, queue_size=1)
        self.pub2 = rospy.Publisher('detected', Bool , queue_size=1)
        self.pub3 = rospy.Publisher('/cmd_vel', Twist, queue_size=1)
        self.rate = rospy.Rate(1000)

        self.utpa = UserTrackerPoseArray()
        self.utp = UserTrackerPose()
        self.h = std_msgs.msg.Header()
        self.head_pose = Vector3()

        self.detected = False

        rate = rospy.Rate(100)
Пример #5
0
    def __init__(self):
        nite2.initialize()
        self.ut = nite2.UserTracker.open_any()
        self.sub = rospy.Subscriber('/usb_cam/image_raw', Image, self.sample_cam_callback, queue_size=1)
        #self.pub = rospy.Publisher('skeleton', UserTrackerPoseArray, queue_size=1)
        #self.pub2 = rospy.Publisher('detected', Bool , queue_size=1)
        self.pub3 = rospy.Publisher('/cmd_vel', Twist, queue_size=1)
        self.pub4 = rospy.Publisher('/face/image_raw', Image, queue_size=1)
        self.rate = rospy.Rate(100)

        self.utpa = UserTrackerPoseArray()
        self.utp = UserTrackerPose()
        self.h = std_msgs.msg.Header()
        self.head_pose = Vector3()
        self.bridge = CvBridge()

        self.detected = False

        rate = rospy.Rate(100)
Пример #6
0
    def __init__(self, *args, **kwargs):
        app.Canvas.__init__(self, *args, **kwargs)
        self.program = gloo.Program(self.read_shader('1.vert'), self.read_shader('skeleton_video.frag'))

        # Fill screen with single quad, fragment shader does all the real work
        self.program["position"] = [(-1, -1), (-1, 1), (1, 1),
                                    (-1, -1), (1, 1), (1, -1)]
        self.program["frame"] = gloo.Texture2D(shape=(480, 640, 2), format='luminance_alpha')

        width, height = self.physical_size
        gloo.set_viewport(0, 0, width, height)
        self.program['resolution'] = [width, height]
        openni2.initialize()
        nite2.initialize()
        self.user_tracker = nite2.UserTracker(False)

        gloo.set_clear_color(color='black')
        self._timer = app.Timer('auto', connect=self.update, start=True)
        self.show()
Пример #7
0
    def test_nite_bindings(self):
        if os.path.exists(self.GEN_ONI):
            os.unlink(self.GEN_ONI)
        subprocess.check_call(["python", "../bin/build_openni.py"])
        self.assertTrue(os.path.exists(self.GEN_ONI))

        if os.path.exists(self.GEN_NITE):
            os.unlink(self.GEN_NITE)
        subprocess.check_call(["python", "../bin/build_nite.py"])
        self.assertTrue(os.path.exists(self.GEN_NITE))

        from primesense import _nite2
        from primesense import nite2

        nite2.initialize()
        ver = nite2.get_version()
        nite2.unload()

        self.assertEqual(ver.major, nite2.c_api.NITE_VERSION_MAJOR)
        self.assertEqual(ver.minor, nite2.c_api.NITE_VERSION_MINOR)

        h_file = os.path.join(config.get("headers", "nite_include_dir"), "NiTE.h")
        self.check_unexposed_functions(nite2, _nite2, h_file)
Пример #8
0
    def test_nite_bindings(self):
        if os.path.exists(self.GEN_ONI):
            os.unlink(self.GEN_ONI)
        subprocess.check_call(["python", "../bin/build_openni.py"])
        self.assertTrue(os.path.exists(self.GEN_ONI))

        if os.path.exists(self.GEN_NITE):
            os.unlink(self.GEN_NITE)
        subprocess.check_call(["python", "../bin/build_nite.py"])
        self.assertTrue(os.path.exists(self.GEN_NITE))

        from primesense import _nite2
        from primesense import nite2

        nite2.initialize()
        ver = nite2.get_version()
        nite2.unload()

        self.assertEqual(ver.major, nite2.c_api.NITE_VERSION_MAJOR)
        self.assertEqual(ver.minor, nite2.c_api.NITE_VERSION_MINOR)

        h_file = os.path.join(config.get("headers", "nite_include_dir"),
                              "NiTE.h")
        self.check_unexposed_functions(nite2, _nite2, h_file)
Пример #9
0
    def __init__(self, *args, **kwargs):
        app.Canvas.__init__(self, *args, **kwargs)
        self.raw_depth_program = gloo.Program(read_shader('1.vert'), read_shader('skeleton_video.frag'))
        self.skeleton_program = gloo.Program(read_shader('skeleton_bones.vert'), read_shader('skeleton_bones.frag'))

        # Fill screen with single quad, fragment shader does all the real work
        self.raw_depth_program["position"] = [(-1, -1), (-1, 1), (1, 1),
                                    (-1, -1), (1, 1), (1, -1)]
        self.raw_depth_program["frame"] = gloo.Texture2D(shape=(480, 640, 2), format='luminance_alpha')

        width, height = self.physical_size
        gloo.set_viewport(0, 0, width, height)
        self.raw_depth_program['resolution'] = [width, height]

        # Set uniform and attribute
        self.skeleton_program['a_position'] = gloo.VertexBuffer()

        openni2.initialize()
        nite2.initialize()
        self.user_tracker = nite2.UserTracker(False)

        gloo.set_state(clear_color='black', blend=True, blend_func=('src_alpha', 'one_minus_src_alpha'))
        self._timer = app.Timer('auto', connect=self.update, start=True)
        self.show()
#if you don't run stream.start() it con't read_frame
from primesense import nite2
from primesense import openni2
import numpy as np
import cv2
import time
import matplotlib.pyplot as plt
nite2.initialize()
op=openni2.Device(None)
color_stream = op.create_color_stream()
color_stream.set_video_mode(openni2.c_api.OniVideoMode(pixelFormat=openni2.c_api.OniPixelFormat.ONI_PIXEL_FORMAT_RGB888, resolutionX=640, resolutionY=480, fps=30))
color_stream.start()
print 'ok'
bgr = np.fromstring(color_stream.read_frame().get_buffer_as_uint8(),dtype=np.uint8).reshape(480,640,3)
rgb = cv2.cvtColor(bgr,cv2.COLOR_BGR2RGB)
print 'ok'
#color_stream.stop()


Пример #11
0
import os
from primesense import nite2

nite2.initialize()
nite2.get_version()

os.chdir(nite2.loaded_dll_directory)

#dev = openni2.Device.open_any()
#print dev
#ut = nite2.UserTracker(dev)
ut = nite2.UserTracker.open_any()

print ut
frm = ut.read_frame()
print frm
print frm.users
print frm.get_depth_frame()

ht = nite2.HandTracker.open_any()
print ht
frm2 = ht.read_frame()
print frm2

nite2.unload()
Пример #12
0
        description='Automatic Storage of NI content in OpenNI format')
    parser.add_argument('--input', required=True, help="inputfile")

    args = parser.parse_args()

    myni = os.environ.get("MYNI", ".")

    try:
        openni2.initialize(
            myni)  # can also accept the path of the OpenNI redistribution
    except:
        print "cannot initialize OpenNI2. The OpenNI2 Redist directory should be in the PATH. Use the MYNI environment variable"
        raise

    try:
        nite2.initialize(myni)
    except:
        print "cannot initialize Nite2"
        raise

    dev = openni2.Device.open_file(args.input)
    print dev.get_sensor_info(openni2.SENSOR_COLOR)
    print dev.get_sensor_info(openni2.SENSOR_DEPTH)

    print dev.get_device_info()
    depth_stream = dev.create_depth_stream()
    depth_stream.start()

    color_stream = dev.create_color_stream()
    color_stream.start()