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()
Beispiel #3
0
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
Beispiel #4
0
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':