diff --git a/access_control_python/cam_test_img.jpg b/access_control_python/cam_test_img.jpg new file mode 100644 index 0000000..805fa40 Binary files /dev/null and b/access_control_python/cam_test_img.jpg differ diff --git a/access_control_python/cam_test_img_post.jpg b/access_control_python/cam_test_img_post.jpg new file mode 100644 index 0000000..d071496 Binary files /dev/null and b/access_control_python/cam_test_img_post.jpg differ diff --git a/access_control_python/cam_test_img_pre.jpg b/access_control_python/cam_test_img_pre.jpg new file mode 100644 index 0000000..cdfb113 Binary files /dev/null and b/access_control_python/cam_test_img_pre.jpg differ diff --git a/access_control_python/camera_test.py b/access_control_python/camera_test.py index 927c2b1..fef3c87 100644 --- a/access_control_python/camera_test.py +++ b/access_control_python/camera_test.py @@ -1,10 +1,26 @@ import numpy as np import cv2 -import os +import base64 +import requests +#Capture Image cam = cv2.VideoCapture(0) +ret, img = cam.read() -ret, frame = cam.read() -img = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB) +#Save Image +cv2.imwrite("cam_test_img_pre.jpg",img) + +#Encode Image +ret, jpg_buffer = cv2.imencode('.jpg',img) +b64_img = base64.b64encode(jpg_buffer) +print(b64_img) + +#Send Image to Server +data = {"image":b64_img.decode("utf-8")} +req = requests.post("http://localhost:5000/process_image",json=data) + +#Decode Image +img_nparr = np.frombuffer(base64.b64decode(b64_img),np.uint8) +img = cv2.imdecode(img_nparr,cv2.IMREAD_COLOR) +cv2.imwrite("cam_test_img_post.jpg",img) -cv2.imwrite("cam_test_img.jpg",img) \ No newline at end of file diff --git a/access_control_python/requirements.txt b/access_control_python/requirements.txt index f795ca7..cc09e72 100644 --- a/access_control_python/requirements.txt +++ b/access_control_python/requirements.txt @@ -1,3 +1,4 @@ pyserial line_notify -opencv-python \ No newline at end of file +opencv-python +requests \ No newline at end of file diff --git a/access_control_python_server/app.py b/access_control_python_server/app.py new file mode 100644 index 0000000..2e057c8 --- /dev/null +++ b/access_control_python_server/app.py @@ -0,0 +1,27 @@ +from flask import Flask, request +import json +import cv2 +import base64 +import numpy as np + +app = Flask(__name__) + + +@app.route('/') +def home(): + return '

Ching Chong Bing Bong Ding Dong!!

' + + +@app.route('/process_image', methods=['POST']) +def process_image(): + print(request.data) + request_data = json.loads(request.data.decode("utf-8")) + img_nparr = np.frombuffer(base64.b64decode(request_data['image']), np.uint8) + img = cv2.imdecode(img_nparr,cv2.IMREAD_COLOR) + cv2.imwrite("retrieved_img.jpg",img) + print(request_data) + return "Bing Bong!" + + +if __name__ == '__main__': + app.run() diff --git a/access_control_python_server/requirements.txt b/access_control_python_server/requirements.txt new file mode 100644 index 0000000..1aa999e --- /dev/null +++ b/access_control_python_server/requirements.txt @@ -0,0 +1,3 @@ +flask +opencv-python +deepface \ No newline at end of file diff --git a/access_control_python_server/unit.json b/access_control_python_server/unit.json new file mode 100644 index 0000000..68ac8cc --- /dev/null +++ b/access_control_python_server/unit.json @@ -0,0 +1,25 @@ +{ + "listeners": { + "*:80": { + "pass": "routes" + } + }, + "routes": [{ + "match": { + "uri": "*" + }, + "action": { + "pass": "applications/racist_application" + } + }], + "applications": { + "racist_application": { + "type": "python", + "processes": 10, + "working_directory": "/www/store/cart/", + "path": "/www/store/", + "home": ".virtualenv/", + "module": "cart.run" + } + } +} \ No newline at end of file