def rock_init(): global face_recog_handle global face_db global face_library global face_det_handle global face_track_handle global face_landmark5_handle camera_num = 0 db_file = "face.db" target_device = None image_dir = "./image" print("rock init") face_det_handle = RockX(RockX.ROCKX_MODULE_FACE_DETECTION, target_device) face_landmark5_handle = RockX(RockX.ROCKX_MODULE_FACE_LANDMARK_5, target_device) face_recog_handle = RockX(RockX.ROCKX_MODULE_FACE_RECOGNIZE, target_device) face_track_handle = RockX(RockX.ROCKX_MODULE_OBJECT_TRACK, target_device) face_db = FaceDB(db_file) #import_face(face_db, image_dir) # load face from database face_library = face_db.load_face() print("load %d face" % len(face_library)) print(face_library.keys()) return face_db, face_library.keys()
from rk_socket_class import rk_socket_server from rockx import RockX import time demo_name = "rockx_object_detect" object_handle = RockX(RockX.ROCKX_MODULE_OBJECT_DETECTION) def inference(img): data = {} time1 = time.time() in_img_h, in_img_w = img.shape[:2] ret, results = object_handle.rockx_face_detect( img, in_img_w, in_img_h, RockX.ROCKX_PIXEL_FORMAT_BGR888) time2 = time.time() print("inference use " + str(time2 - time1) + "sec") for result in results: obj = {} obj['left'] = result.box.left obj['left'] = result.box.left obj['top'] = result.box.top obj['right'] = result.box.right obj['bottom'] = result.box.bottom obj['label'] = RockX.ROCKX_OBJECT_DETECTION_LABELS_91[result.cls_idx] data.setdefault('objs', []).append(obj) data['count'] = len(results) return data
import argparse from rockx import RockX import cv2 if __name__ == '__main__': parser = argparse.ArgumentParser(description="RockX Object Detection Demo") parser.add_argument('-i', '--image', help="input image", type=str) parser.add_argument('-d', '--device', help="target device id", type=str) args = parser.parse_args() object_det_handle = RockX(RockX.ROCKX_MODULE_OBJECT_DETECTION, target_device=args.device) in_img = cv2.imread(args.image) in_img_h, in_img_w = in_img.shape[:2] ret, results = object_det_handle.rockx_face_detect(in_img, in_img_w, in_img_h, RockX.ROCKX_PIXEL_FORMAT_BGR888) for result in results: label = RockX.ROCKX_OBJECT_DETECTION_LABELS_91[result.cls_idx] print('%s (%d %d %d %d) %f' % (label, result.box.left, result.box.top, result.box.right, result.box.bottom, result.score)) cv2.rectangle(in_img, (result.box.left, result.box.top), (result.box.right, result.box.bottom), (0, 255, 0), 2) cv2.putText(in_img, "%s" % label, (result.box.left, result.box.top - 10), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 0)) cv2.imwrite('out.jpg', in_img)
from rk_socket_class import rk_socket_server from rockx import RockX import time demo_name = "rockx_face_landmark" face_det = RockX(RockX.ROCKX_MODULE_FACE_DETECTION) face_landmark68 = RockX(RockX.ROCKX_MODULE_FACE_LANDMARK_68) def inference(img): total_result = {'result': -1, 'count': 0} obj = {} tmp_result = [] in_img_h, in_img_w = img.shape[:2] time1 = time.time() ret, results = face_det.rockx_face_detect(img, in_img_w, in_img_h, RockX.ROCKX_PIXEL_FORMAT_BGR888) try: for result in results: ret, landmark = face_landmark68.rockx_face_landmark( img, in_img_w, in_img_h, RockX.ROCKX_PIXEL_FORMAT_BGR888, result.box) print(landmark) time2 = time.time() for p in landmark.landmarks: mark = [0, 0] mark[0] = p.x mark[1] = p.y obj.setdefault('marks', []).append(mark)
from rockx import RockX import cv2 if __name__ == '__main__': parser = argparse.ArgumentParser(description="RockX Face Analyze Demo") parser.add_argument('-c', '--camera', help="camera index", type=int, default=0) parser.add_argument('-d', '--device', help="target device id", type=str) args = parser.parse_args() face_det_handle = RockX(RockX.ROCKX_MODULE_FACE_DETECTION, target_device=args.device) face_landmark68_handle = RockX(RockX.ROCKX_MODULE_FACE_LANDMARK_68, target_device=args.device) face_landmark5_handle = RockX(RockX.ROCKX_MODULE_FACE_LANDMARK_5, target_device=args.device) face_attr_handle = RockX(RockX.ROCKX_MODULE_FACE_ANALYZE, target_device=args.device) cap = cv2.VideoCapture(args.camera) cap.set(3, 1280) cap.set(4, 720) last_face_feature = None while True: ret, frame = cap.read()
draw = ImageDraw.Draw(img_PIL) draw.text(pos, str, font=font, fill=color) img_OpenCV = cv2.cvtColor(np.asarray(img_PIL), cv2.COLOR_RGB2BGR) return img_OpenCV if __name__ == '__main__': parser = argparse.ArgumentParser(description="RockX Carplate Demo") parser.add_argument('-c', '--camera', help="camera index", type=int, default=0) parser.add_argument('-d', '--device', help="target device id", type=str) args = parser.parse_args() carplate_det_handle = RockX(RockX.ROCKX_MODULE_CARPLATE_DETECTION, target_device=args.device) carplate_align_handle = RockX(RockX.ROCKX_MODULE_CARPLATE_ALIGN, target_device=args.device) carplate_recog_handle = RockX(RockX.ROCKX_MODULE_CARPLATE_RECOG, target_device=args.device) cap = cv2.VideoCapture(args.camera) cap.set(3, 1280) cap.set(4, 720) last_face_feature = None while True: ret, frame = cap.read() show_frame = frame.copy() in_img_h, in_img_w = frame.shape[:2] start = time.time()
print("camera=", args.camera) print("db_file=", args.db_file) print("image_dir=", args.image_dir) print("target device=",args.device) ''' camera_num = 0 db_file = "face.db" #target_device=None #image_dir=None target_device = "" image_dir = "" face_det_handle = RockX(RockX.ROCKX_MODULE_FACE_DETECTION, target_device) print("2") face_landmark5_handle = RockX(RockX.ROCKX_MODULE_FACE_LANDMARK_5, target_device) face_recog_handle = RockX(RockX.ROCKX_MODULE_FACE_RECOGNIZE, target_device) face_track_handle = RockX(RockX.ROCKX_MODULE_OBJECT_TRACK, target_device) face_db = FaceDB(db_file) ''' camera_num=0 print("1") print(args.device) face_det_handle = RockX(RockX.ROCKX_MODULE_FACE_DETECTION, target_device=args.device) target_device=args.device print(target_device) print("2") face_landmark5_handle = RockX(RockX.ROCKX_MODULE_FACE_LANDMARK_5, target_device=args.device)
from rk_socket_class import rk_socket_server from rockx import RockX import time demo_name = "rockx_pose_body" pose_handle = RockX(RockX.ROCKX_MODULE_POSE_BODY) def inference(img): in_img_h, in_img_w = img.shape[:2] time1 = time.time() ret, results = pose_handle.rockx_pose_body(img, in_img_w, in_img_h, RockX.ROCKX_PIXEL_FORMAT_BGR888) time2 = time.time() print("inference use " + str(time2 - time1) + "sec") data = {} for result in results: keypoint = {} for p in result.points: point = [0, 0] point[0] = p.x point[1] = p.y keypoint.setdefault('points', []).append(point) keypoint['count'] = len(result.points) data.setdefault('keypoints', []).append(keypoint) data['count'] = len(results) return data
import argparse from rockx import RockX import cv2 if __name__ == '__main__': parser = argparse.ArgumentParser(description="RockX Head Detection Demo") parser.add_argument('-c', '--camera', help="camera index", type=int, default=0) parser.add_argument('-d', '--device', help="target device id", type=str) args = parser.parse_args() head_det_handle = RockX(RockX.ROCKX_MODULE_HEAD_DETECTION, target_device=args.device) cap = cv2.VideoCapture(args.camera) cap.set(3, 1280) cap.set(4, 720) last_face_feature = None while True: # Capture frame-by-frame ret, frame = cap.read() in_img_h, in_img_w = frame.shape[:2] ret, results = head_det_handle.rockx_face_detect( frame, in_img_w, in_img_h, RockX.ROCKX_PIXEL_FORMAT_BGR888) for result in results:
from rockx import RockX import cv2 if __name__ == '__main__': parser = argparse.ArgumentParser(description="RockX Pose Demo") parser.add_argument('-c', '--camera', help="camera index", type=int, default=0) parser.add_argument('-d', '--device', help="target device id", type=str) args = parser.parse_args() pose_body_handle = RockX(RockX.ROCKX_MODULE_POSE_BODY, target_device=args.device) cap = cv2.VideoCapture(args.camera) cap.set(3, 1280) cap.set(4, 720) last_face_feature = None while True: # Capture frame-by-frame ret, frame = cap.read() in_img_h, in_img_w = frame.shape[:2] start = time.time() ret, results = pose_body_handle.rockx_pose_body( frame, in_img_w, in_img_h, RockX.ROCKX_PIXEL_FORMAT_BGR888)
from rockx import RockX import cv2 if __name__ == '__main__': parser = argparse.ArgumentParser(description="RockX Finger Demo") parser.add_argument('-c', '--camera', help="camera index", type=int, default=0) parser.add_argument('-d', '--device', help="target device id", type=str) args = parser.parse_args() pose_finger_handle = RockX(RockX.ROCKX_MODULE_POSE_FINGER_3, target_device=args.device) cap = cv2.VideoCapture(args.camera) cap.set(3, 1280) cap.set(4, 720) last_face_feature = None while True: # Capture frame-by-frame ret, frame = cap.read() in_img_h, in_img_w = frame.shape[:2] ret, result = pose_finger_handle.rockx_pose_finger( frame, in_img_w, in_img_h, RockX.ROCKX_PIXEL_FORMAT_BGR888) for p in result.points: