Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
05e8b9a15d | ||
|
|
6f7b2c9ec6 | ||
|
|
fb785dab53 | ||
|
|
8f3b2e1d0a | ||
|
|
ba00272bd3 | ||
|
|
f60af7a9cc |
134
.idea/workspace.xml
generated
@@ -2,15 +2,7 @@
|
||||
<project version="4">
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="f410c5c2-3ffe-4260-93eb-e3d83256d263" name="Default Changelist" comment="">
|
||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/image_tools.py" beforeDir="false" afterPath="$PROJECT_DIR$/image_tools.py" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/index.py" beforeDir="false" afterPath="$PROJECT_DIR$/index.py" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/lib/test-images/lot-1-car.jpg" beforeDir="false" afterPath="$PROJECT_DIR$/lib/test-images/lot-1-car.jpg" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/lib/test-images/lot-2-cars.jpg" beforeDir="false" afterPath="$PROJECT_DIR$/lib/test-images/lot-2-cars.jpg" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/lib/test-images/lot-3-cars.jpg" beforeDir="false" afterPath="$PROJECT_DIR$/lib/test-images/lot-3-cars.jpg" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/lib/test-images/lot-4-cars.jpg" beforeDir="false" afterPath="$PROJECT_DIR$/lib/test-images/lot-4-cars.jpg" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/lib/test-images/lot-5-cars-A.jpg" beforeDir="false" afterPath="$PROJECT_DIR$/lib/test-images/lot-5-cars-A.jpg" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/lib/test-images/lot-5-cars-B.jpg" beforeDir="false" afterPath="$PROJECT_DIR$/lib/test-images/lot-5-cars-B.jpg" afterDir="false" />
|
||||
</list>
|
||||
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
@@ -23,8 +15,8 @@
|
||||
<file pinned="false" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/index.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="161">
|
||||
<caret line="30" column="54" selection-start-line="30" selection-start-column="54" selection-end-line="30" selection-end-column="54" />
|
||||
<state relative-caret-position="360">
|
||||
<caret line="36" column="72" selection-start-line="36" selection-start-column="72" selection-end-line="36" selection-end-column="72" />
|
||||
<folding>
|
||||
<element signature="e#0#21#0" expanded="true" />
|
||||
</folding>
|
||||
@@ -33,7 +25,7 @@
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/lib/test-images/lot-3-cars.jpg">
|
||||
<entry file="file://$PROJECT_DIR$/lib/test-images/lot-5-cars-A.jpg">
|
||||
<provider selected="true" editor-type-id="images" />
|
||||
</entry>
|
||||
</file>
|
||||
@@ -45,8 +37,8 @@
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/camera.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="105">
|
||||
<caret line="7" column="44" selection-start-line="7" selection-start-column="44" selection-end-line="7" selection-end-column="44" />
|
||||
<state relative-caret-position="165">
|
||||
<caret line="11" column="14" selection-start-line="11" selection-start-column="14" selection-end-line="11" selection-end-column="14" />
|
||||
<folding>
|
||||
<element signature="e#0#13#0" expanded="true" />
|
||||
</folding>
|
||||
@@ -63,6 +55,20 @@
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/example.env">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="75">
|
||||
<caret line="5" column="45" selection-start-line="5" selection-start-column="45" selection-end-line="5" selection-end-column="45" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/lib/test-images/lot-3-cars.jpg">
|
||||
<provider selected="true" editor-type-id="images" />
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/image_tools.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
@@ -72,20 +78,11 @@
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/example.env">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="30">
|
||||
<caret line="2" column="13" selection-start-line="2" selection-end-line="2" selection-end-column="13" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/.env">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="45">
|
||||
<caret line="3" column="15" selection-start-line="3" selection-start-column="15" selection-end-line="3" selection-end-column="15" />
|
||||
<state relative-caret-position="75">
|
||||
<caret line="5" column="35" selection-start-line="5" selection-start-column="35" selection-end-line="5" selection-end-column="35" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
@@ -117,10 +114,10 @@
|
||||
<option value="$PROJECT_DIR$/image_diff_color.py" />
|
||||
<option value="$PROJECT_DIR$/.gitignore" />
|
||||
<option value="$PROJECT_DIR$/config.py" />
|
||||
<option value="$PROJECT_DIR$/example.env" />
|
||||
<option value="$PROJECT_DIR$/camera.py" />
|
||||
<option value="$PROJECT_DIR$/.env" />
|
||||
<option value="$PROJECT_DIR$/image_tools.py" />
|
||||
<option value="$PROJECT_DIR$/example.env" />
|
||||
<option value="$PROJECT_DIR$/.env" />
|
||||
<option value="$PROJECT_DIR$/camera.py" />
|
||||
<option value="$PROJECT_DIR$/index.py" />
|
||||
</list>
|
||||
</option>
|
||||
@@ -143,17 +140,6 @@
|
||||
<item name="python-backend" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="python-backend" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="python-backend" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="python-backend" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="lib" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="python-backend" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="python-backend" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="lib" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="test-images" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
</expand>
|
||||
<select />
|
||||
</subPane>
|
||||
@@ -165,6 +151,11 @@
|
||||
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
|
||||
<property name="settings.editor.selected.configurable" value="com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable" />
|
||||
</component>
|
||||
<component name="RecentsManager">
|
||||
<key name="CopyFile.RECENT_KEYS">
|
||||
<recent name="$PROJECT_DIR$" />
|
||||
</key>
|
||||
</component>
|
||||
<component name="RunDashboard">
|
||||
<option name="ruleStates">
|
||||
<list>
|
||||
@@ -226,20 +217,25 @@
|
||||
<entry file="file://$PROJECT_DIR$/lib/test-images/lot-1-car.jpg">
|
||||
<provider selected="true" editor-type-id="images" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/lib/test-images/lot-2-cars.jpg">
|
||||
<provider selected="true" editor-type-id="images" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/lib/test-images/lot-3-cars.jpg">
|
||||
<provider selected="true" editor-type-id="images" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/lib/test-images/lot-4-cars.jpg">
|
||||
<provider selected="true" editor-type-id="images" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/lib/test-images/lot-5-cars-A.jpg">
|
||||
<provider selected="true" editor-type-id="images" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/lib/test-images/lot-5-cars-B.jpg">
|
||||
<provider selected="true" editor-type-id="images" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/.gitignore">
|
||||
<entry file="file://$PROJECT_DIR$/image_tools.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="45">
|
||||
<caret line="3" column="4" selection-start-line="3" selection-start-column="4" selection-end-line="3" selection-end-column="4" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/example.env">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="30">
|
||||
<caret line="2" column="13" selection-start-line="2" selection-end-line="2" selection-end-column="13" />
|
||||
<caret line="3" column="23" lean-forward="true" selection-start-line="3" selection-start-column="23" selection-end-line="3" selection-end-column="23" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
@@ -253,37 +249,41 @@
|
||||
<entry file="file://$PROJECT_DIR$/ref-img.jpg">
|
||||
<provider selected="true" editor-type-id="images" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/lib/test-images/lot-3-cars.jpg">
|
||||
<provider selected="true" editor-type-id="images" />
|
||||
<entry file="file://$PROJECT_DIR$/.gitignore">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="45">
|
||||
<caret line="3" column="4" selection-start-line="3" selection-start-column="4" selection-end-line="3" selection-end-column="4" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/example.env">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="75">
|
||||
<caret line="5" column="45" selection-start-line="5" selection-start-column="45" selection-end-line="5" selection-end-column="45" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/.env">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="75">
|
||||
<caret line="5" column="35" selection-start-line="5" selection-start-column="35" selection-end-line="5" selection-end-column="35" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/camera.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="105">
|
||||
<caret line="7" column="44" selection-start-line="7" selection-start-column="44" selection-end-line="7" selection-end-column="44" />
|
||||
<state relative-caret-position="165">
|
||||
<caret line="11" column="14" selection-start-line="11" selection-start-column="14" selection-end-line="11" selection-end-column="14" />
|
||||
<folding>
|
||||
<element signature="e#0#13#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/.env">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="45">
|
||||
<caret line="3" column="15" selection-start-line="3" selection-start-column="15" selection-end-line="3" selection-end-column="15" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/image_tools.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="45">
|
||||
<caret line="3" column="23" lean-forward="true" selection-start-line="3" selection-start-column="23" selection-end-line="3" selection-end-column="23" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/index.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="161">
|
||||
<caret line="30" column="54" selection-start-line="30" selection-start-column="54" selection-end-line="30" selection-end-column="54" />
|
||||
<state relative-caret-position="360">
|
||||
<caret line="36" column="72" selection-start-line="36" selection-start-column="72" selection-end-line="36" selection-end-column="72" />
|
||||
<folding>
|
||||
<element signature="e#0#21#0" expanded="true" />
|
||||
</folding>
|
||||
|
||||
@@ -9,6 +9,7 @@ def capture(camera_stream = "/dev/video4"):
|
||||
cam.start()
|
||||
img = cam.get_image()
|
||||
pygame.image.save(img, './capture.jpg')
|
||||
cam.stop()
|
||||
return './capture.jpg'
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
POLL_FREQUENCY=15
|
||||
FIREBASE_CERT_FILE="hackku-ffffffffffff.json"
|
||||
CAMERA_DEVICE="/dev/video4"
|
||||
LOT_NAME="Lot1"
|
||||
REFERENCE_IMAGE="./lib/test-images/lot-empty.jpg"
|
||||
FIREBASE_CERT_FILE="hackku-272b6e79b2a9.json"
|
||||
CAMERA_DEVICE="/dev/video0"
|
||||
LOT_NAME="Lot26"
|
||||
E_HAT_TRIGGER_LEVEL=4
|
||||
BACKEND_URL="https://waitnomore.glmdev.tech/"
|
||||
8
index.py
@@ -23,18 +23,18 @@ def poll():
|
||||
|
||||
# Get the reference image
|
||||
lot_info = doc_ref_lot.collection('info').document('lotInfo').get().to_dict()
|
||||
urllib.request.urlretrieve('http://localhost:8000/img/references/'+lot_info['refImage'], './ref-img.jpg')
|
||||
urllib.request.urlretrieve(os.getenv('BACKEND_URL')+'img/references/'+lot_info['refImage'], './ref-img.jpg')
|
||||
reference = Image.open('./ref-img.jpg').load()
|
||||
|
||||
# Take the picture
|
||||
#img = Image.open(camera.capture(os.getenv('CAMERA_DEVICE'))).load()
|
||||
img = Image.open('./lib/test-images-vert/lot-1-car.jpg').load()
|
||||
img = Image.open(camera.capture(os.getenv('CAMERA_DEVICE'))).load()
|
||||
#img = Image.open('./lib/test-images-vert/lot-3-cars.jpg').load()
|
||||
|
||||
doc_ref_stalls = doc_ref_lot.collection('stalls').get()
|
||||
|
||||
for stall in doc_ref_stalls:
|
||||
stall_obj = stall.to_dict()
|
||||
color_reference = image_tools.average_color(stall_obj['locationX'], stall_obj['locationY'], stall_obj['width'], stall_obj['height'], reference)
|
||||
color_reference = image_tools.average_color(75, 400, 50, 50, img)
|
||||
color_compare = image_tools.average_color(stall_obj['locationX'], stall_obj['locationY'], stall_obj['width'], stall_obj['height'], img)
|
||||
stall_occupied = image_tools.threshold(image_tools.differences(color_reference, color_compare), float(os.getenv('E_HAT_TRIGGER_LEVEL')))
|
||||
stall_obj['open'] = not stall_occupied
|
||||
|
||||
BIN
test-images-vert/lot-1-car.jpg
Normal file
|
After Width: | Height: | Size: 40 KiB |
BIN
test-images-vert/lot-2-cars.jpg
Normal file
|
After Width: | Height: | Size: 43 KiB |
BIN
test-images-vert/lot-3-cars.jpg
Normal file
|
After Width: | Height: | Size: 45 KiB |
BIN
test-images-vert/lot-4-cars.jpg
Normal file
|
After Width: | Height: | Size: 50 KiB |
BIN
test-images-vert/lot-5-cars-A.jpg
Normal file
|
After Width: | Height: | Size: 53 KiB |
BIN
test-images-vert/lot-5-cars-B.jpg
Normal file
|
After Width: | Height: | Size: 51 KiB |
BIN
test-images-vert/lot-empty.jpg
Normal file
|
After Width: | Height: | Size: 38 KiB |