class Detector(object): def __init__(self): # self.video_stream = VideoStream( # src=0, usePiCamera=True, width=640, height=480, framerate=32) self.video_stream = cv2.VideoCapture(0) self.video_stream.set(cv2.CAP_PROP_FRAME_WIDTH, 640) self.video_stream.set(cv2.CAP_PROP_FRAME_HEIGHT, 480) self.fire_cascade = cv2.CascadeClassifier('fire_detection.xml') self.host = '192.168.43.52' self.port = 24485 time.sleep(2) self.timeCheck = time.time() self.socket_client = SocketClient() print("init success...") def start(self): self.socket_client.connect(self.host, self.port) print('Connected...') while True: # Get the next frame. success, frame = self.video_stream.read() if not success: break # Show video stream #gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) #fire = self.fire_cascade.detectMultiScale(frame, 1.2, 5) #for (x, y, w, h) in fire: # cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 0, 255), 2) # font = cv2.FONT_HERSHEY_SIMPLEX # roi_gray = gray[y:y+h, x:x+w] # roi_color = frame[y:y+h, x:x+w] # time.sleep(0.2) # print('Detected') # cv2.imwrite('sector2.png', frame) # self.send_frame(frame) #cv2.imshow('out', frame) self.send_frame(frame) key = cv2.waitKey(1) & 0xFF # if the `q` key was pressed, break from the loop. if key == ord("q"): break self.timeCheck = time.time() self.stop() def send_frame(self, frame): encode_param = [int(cv2.IMWRITE_JPEG_QUALITY), 90] #90的压缩率 result, frame = cv2.imencode('.jpg', frame, encode_param) self.socket_client.send_frame(frame) def stop(self): self.video_stream.release() cv2.destroyAllWindows()
class Detector(object): def __init__(self): self.video_stream = VideoStream( src=0, usePiCamera=True, resolution=(640, 480), framerate=32).start() self.fire_cascade = cv2.CascadeClassifier('fire_detection.xml') self.host = '192.168.1.223' self.port = 8486 time.sleep(2.0) self.timeCheck = time.time() self.socket_client = SocketClient() def start(self): self.socket_client.connect(self.host, self.port) print('Connected') while True: # Get the next frame. frame = self.video_stream.read() # Show video stream gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) fire = self.fire_cascade.detectMultiScale(frame, 1.2, 5) for (x, y, w, h) in fire: cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 0, 255), 2) font = cv2.FONT_HERSHEY_SIMPLEX roi_gray = gray[y:y+h, x:x+w] roi_color = frame[y:y+h, x:x+w] time.sleep(0.2) print('Detected') cv2.imwrite('sector2.png', frame) self.send_frame(frame) cv2.imshow('out', frame) key = cv2.waitKey(1) & 0xFF # if the `q` key was pressed, break from the loop. if key == ord("q"): break self.timeCheck = time.time() def send_frame(self, frame): encode_param = [int(cv2.IMWRITE_JPEG_QUALITY), 90] result, frame = cv2.imencode('.jpg', frame, encode_param) self.socket_client.send_frame(frame) def stop(self): cv2.destroyAllWindows() self.video_stream.stop()
class Gamepad(threading.Thread): def __init__(self, window): threading.Thread.__init__(self) self.done = False self.window = window self.socket = None self.socket = SocketClient('localhost', 10000, self.window.set_status) def run(self): self.socket.connect() if self.socket.is_connected: pygame.init() pygame.joystick.init() while not self.done: pygame.event.get() joystick_count = pygame.joystick.get_count() if joystick_count > 0: joystick = pygame.joystick.Joystick(0) joystick.init() self.send_value(Gamepad.sanitize_digital(joystick.get_axis(1)), self.window.update_left_analog) self.send_value(Gamepad.sanitize_digital(joystick.get_axis(3)), self.window.update_right_analog) self.send_value(joystick.get_hat(0), self.window.update_digital) sleep(0.05) pygame.quit() @staticmethod def sanitize_digital(value): rounded = round(value * -10) if rounded == 1 or rounded == -1: return 0 return rounded def send_value(self, value, callback): message = [value, int(round(time.time() * 1000))] self.socket.send(message, callback) def stop(self): self.socket.disconnect() self.window.set_status('Disconnected') self.done = True
from server_auth import ServerAuth from socket_client import SocketClient key = "randomstuff12345" raw_text = "raffles|31|5|7|9" auth = ServerAuth() # cipher_text = auth.encrypt_text(raw_text, key) # print(cipher_text) # # decoded_text = auth.decrypt_text(cipher_text, key) # print(decoded_text) socket_client = SocketClient('localhost', 8888) socket_client.connect() # Final_eval_server command: # python final_eval_server_5moves.py localhost 8888 group_num_123 user_inp = '' while 1: print('Input: ') user_inp = input() try: if user_inp == '1': # msg = auth.encrypt_text(raw_text, key) socket_client.send(raw_text) print('sent') print() elif user_inp == '2':