diff --git a/.vscode/PythonImportHelper-v2-Completion.json b/.vscode/PythonImportHelper-v2-Completion.json index 95e43a2..4e0c243 100644 --- a/.vscode/PythonImportHelper-v2-Completion.json +++ b/.vscode/PythonImportHelper-v2-Completion.json @@ -1,4 +1,39 @@ [ + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "os", + "kind": 6, + "isExtraImport": true, + "importPath": "os", + "description": "os", + "detail": "os", + "documentation": {} + }, + { + "label": "site", + "kind": 6, + "isExtraImport": true, + "importPath": "site", + "description": "site", + "detail": "site", + "documentation": {} + }, + { + "label": "sys", + "kind": 6, + "isExtraImport": true, + "importPath": "sys", + "description": "sys", + "detail": "sys", + "documentation": {} + }, { "label": "json", "kind": 6, @@ -97,15 +132,6 @@ "detail": "gyp.common", "documentation": {} }, - { - "label": "os", - "kind": 6, - "isExtraImport": true, - "importPath": "os", - "description": "os", - "detail": "os", - "documentation": {} - }, { "label": "posixpath", "kind": 6, @@ -249,15 +275,6 @@ "detail": "code", "documentation": {} }, - { - "label": "sys", - "kind": 6, - "isExtraImport": true, - "importPath": "sys", - "description": "sys", - "detail": "sys", - "documentation": {} - }, { "label": "hashlib", "kind": 6, @@ -1660,6 +1677,30 @@ "detail": "django.test", "documentation": {} }, + { + "label": "Image", + "importPath": "PIL", + "description": "PIL", + "isExtraImport": true, + "detail": "PIL", + "documentation": {} + }, + { + "label": "Bitmap", + "importPath": "potrace", + "description": "potrace", + "isExtraImport": true, + "detail": "potrace", + "documentation": {} + }, + { + "label": "POTRACE_TURNPOLICY_MINORITY", + "importPath": "potrace", + "description": "potrace", + "isExtraImport": true, + "detail": "potrace", + "documentation": {} + }, { "label": "render", "importPath": "django.shortcuts", @@ -1756,6 +1797,105 @@ "detail": "django.core.wsgi", "documentation": {} }, + { + "label": "cv2", + "kind": 6, + "isExtraImport": true, + "importPath": "cv2", + "description": "cv2", + "detail": "cv2", + "documentation": {} + }, + { + "label": "numpy", + "kind": 6, + "isExtraImport": true, + "importPath": "numpy", + "description": "numpy", + "detail": "numpy", + "documentation": {} + }, + { + "label": "bin_dir", + "kind": 5, + "importPath": ".venv.bin.activate_this", + "description": ".venv.bin.activate_this", + "peekOfCode": "bin_dir = os.path.dirname(abs_file)\nbase = bin_dir[: -len(\"bin\") - 1] # strip away the bin part from the __file__, plus the path separator\n# prepend bin to PATH (this file is inside the bin directory)\nos.environ[\"PATH\"] = os.pathsep.join([bin_dir, *os.environ.get(\"PATH\", \"\").split(os.pathsep)])\nos.environ[\"VIRTUAL_ENV\"] = base # virtual env is right above bin directory\nos.environ[\"VIRTUAL_ENV_PROMPT\"] = \"interactive-table-py3.10\" or os.path.basename(base) # noqa: SIM222\n# add the virtual environments libraries to the host python import mechanism\nprev_length = len(sys.path)\nfor lib in \"../lib/python3.10/site-packages\".split(os.pathsep):\n path = os.path.realpath(os.path.join(bin_dir, lib))", + "detail": ".venv.bin.activate_this", + "documentation": {} + }, + { + "label": "base", + "kind": 5, + "importPath": ".venv.bin.activate_this", + "description": ".venv.bin.activate_this", + "peekOfCode": "base = bin_dir[: -len(\"bin\") - 1] # strip away the bin part from the __file__, plus the path separator\n# prepend bin to PATH (this file is inside the bin directory)\nos.environ[\"PATH\"] = os.pathsep.join([bin_dir, *os.environ.get(\"PATH\", \"\").split(os.pathsep)])\nos.environ[\"VIRTUAL_ENV\"] = base # virtual env is right above bin directory\nos.environ[\"VIRTUAL_ENV_PROMPT\"] = \"interactive-table-py3.10\" or os.path.basename(base) # noqa: SIM222\n# add the virtual environments libraries to the host python import mechanism\nprev_length = len(sys.path)\nfor lib in \"../lib/python3.10/site-packages\".split(os.pathsep):\n path = os.path.realpath(os.path.join(bin_dir, lib))\n site.addsitedir(path.decode(\"utf-8\") if \"\" else path)", + "detail": ".venv.bin.activate_this", + "documentation": {} + }, + { + "label": "os.environ[\"PATH\"]", + "kind": 5, + "importPath": ".venv.bin.activate_this", + "description": ".venv.bin.activate_this", + "peekOfCode": "os.environ[\"PATH\"] = os.pathsep.join([bin_dir, *os.environ.get(\"PATH\", \"\").split(os.pathsep)])\nos.environ[\"VIRTUAL_ENV\"] = base # virtual env is right above bin directory\nos.environ[\"VIRTUAL_ENV_PROMPT\"] = \"interactive-table-py3.10\" or os.path.basename(base) # noqa: SIM222\n# add the virtual environments libraries to the host python import mechanism\nprev_length = len(sys.path)\nfor lib in \"../lib/python3.10/site-packages\".split(os.pathsep):\n path = os.path.realpath(os.path.join(bin_dir, lib))\n site.addsitedir(path.decode(\"utf-8\") if \"\" else path)\nsys.path[:] = sys.path[prev_length:] + sys.path[0:prev_length]\nsys.real_prefix = sys.prefix", + "detail": ".venv.bin.activate_this", + "documentation": {} + }, + { + "label": "os.environ[\"VIRTUAL_ENV\"]", + "kind": 5, + "importPath": ".venv.bin.activate_this", + "description": ".venv.bin.activate_this", + "peekOfCode": "os.environ[\"VIRTUAL_ENV\"] = base # virtual env is right above bin directory\nos.environ[\"VIRTUAL_ENV_PROMPT\"] = \"interactive-table-py3.10\" or os.path.basename(base) # noqa: SIM222\n# add the virtual environments libraries to the host python import mechanism\nprev_length = len(sys.path)\nfor lib in \"../lib/python3.10/site-packages\".split(os.pathsep):\n path = os.path.realpath(os.path.join(bin_dir, lib))\n site.addsitedir(path.decode(\"utf-8\") if \"\" else path)\nsys.path[:] = sys.path[prev_length:] + sys.path[0:prev_length]\nsys.real_prefix = sys.prefix\nsys.prefix = base", + "detail": ".venv.bin.activate_this", + "documentation": {} + }, + { + "label": "os.environ[\"VIRTUAL_ENV_PROMPT\"]", + "kind": 5, + "importPath": ".venv.bin.activate_this", + "description": ".venv.bin.activate_this", + "peekOfCode": "os.environ[\"VIRTUAL_ENV_PROMPT\"] = \"interactive-table-py3.10\" or os.path.basename(base) # noqa: SIM222\n# add the virtual environments libraries to the host python import mechanism\nprev_length = len(sys.path)\nfor lib in \"../lib/python3.10/site-packages\".split(os.pathsep):\n path = os.path.realpath(os.path.join(bin_dir, lib))\n site.addsitedir(path.decode(\"utf-8\") if \"\" else path)\nsys.path[:] = sys.path[prev_length:] + sys.path[0:prev_length]\nsys.real_prefix = sys.prefix\nsys.prefix = base", + "detail": ".venv.bin.activate_this", + "documentation": {} + }, + { + "label": "prev_length", + "kind": 5, + "importPath": ".venv.bin.activate_this", + "description": ".venv.bin.activate_this", + "peekOfCode": "prev_length = len(sys.path)\nfor lib in \"../lib/python3.10/site-packages\".split(os.pathsep):\n path = os.path.realpath(os.path.join(bin_dir, lib))\n site.addsitedir(path.decode(\"utf-8\") if \"\" else path)\nsys.path[:] = sys.path[prev_length:] + sys.path[0:prev_length]\nsys.real_prefix = sys.prefix\nsys.prefix = base", + "detail": ".venv.bin.activate_this", + "documentation": {} + }, + { + "label": "sys.path[:]", + "kind": 5, + "importPath": ".venv.bin.activate_this", + "description": ".venv.bin.activate_this", + "peekOfCode": "sys.path[:] = sys.path[prev_length:] + sys.path[0:prev_length]\nsys.real_prefix = sys.prefix\nsys.prefix = base", + "detail": ".venv.bin.activate_this", + "documentation": {} + }, + { + "label": "sys.real_prefix", + "kind": 5, + "importPath": ".venv.bin.activate_this", + "description": ".venv.bin.activate_this", + "peekOfCode": "sys.real_prefix = sys.prefix\nsys.prefix = base", + "detail": ".venv.bin.activate_this", + "documentation": {} + }, + { + "label": "sys.prefix", + "kind": 5, + "importPath": ".venv.bin.activate_this", + "description": ".venv.bin.activate_this", + "peekOfCode": "sys.prefix = base", + "detail": ".venv.bin.activate_this", + "documentation": {} + }, { "label": "_Known", "kind": 6, @@ -8326,6 +8466,15 @@ "detail": "back.api.serializers", "documentation": {} }, + { + "label": "file_to_svg", + "kind": 2, + "importPath": "back.api.tracer", + "description": "back.api.tracer", + "peekOfCode": "def file_to_svg(filename: str):\n try:\n image = Image.open(filename)\n except IOError:\n print(\"Image (%s) could not be loaded.\" % filename)\n return\n bm = Bitmap(image, blacklevel=0.5)\n # bm.invert()\n plist = bm.trace(\n turdsize=2,", + "detail": "back.api.tracer", + "documentation": {} + }, { "label": "products", "kind": 2, @@ -8559,5 +8708,68 @@ "peekOfCode": "def main():\n \"\"\"Run administrative tasks.\"\"\"\n os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'back.settings')\n try:\n from django.core.management import execute_from_command_line\n except ImportError as exc:\n raise ImportError(\n \"Couldn't import Django. Are you sure it's installed and \"\n \"available on your PYTHONPATH environment variable? Did you \"\n \"forget to activate a virtual environment?\"", "detail": "back.manage", "documentation": {} + }, + { + "label": "img", + "kind": 5, + "importPath": "test", + "description": "test", + "peekOfCode": "img = cv2.imread(\n \"/home/arizona/projects/svs_tech/demo-int-table/admin_front/assets/img/plan.png\"\n)\n(h, w) = img.shape[:2]\nt = 1600\nimg = cv2.resize(img, (t, int((h/w) * t)))\ngray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)\ngray = 255 - gray\ngray = cv2.blur(gray, (8, 1))\ngray = cv2.threshold(gray, 1, 255, cv2.THRESH_BINARY)[1]", + "detail": "test", + "documentation": {} + }, + { + "label": "t", + "kind": 5, + "importPath": "test", + "description": "test", + "peekOfCode": "t = 1600\nimg = cv2.resize(img, (t, int((h/w) * t)))\ngray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)\ngray = 255 - gray\ngray = cv2.blur(gray, (8, 1))\ngray = cv2.threshold(gray, 1, 255, cv2.THRESH_BINARY)[1]\ncontours, hierarchy = cv2.findContours(gray, cv2.RETR_LIST, cv2.CHAIN_APPROX_NONE)\nfor cnt in contours:\n area = cv2.contourArea(cnt)\n if area > 150000 and area < 500000:", + "detail": "test", + "documentation": {} + }, + { + "label": "img", + "kind": 5, + "importPath": "test", + "description": "test", + "peekOfCode": "img = cv2.resize(img, (t, int((h/w) * t)))\ngray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)\ngray = 255 - gray\ngray = cv2.blur(gray, (8, 1))\ngray = cv2.threshold(gray, 1, 255, cv2.THRESH_BINARY)[1]\ncontours, hierarchy = cv2.findContours(gray, cv2.RETR_LIST, cv2.CHAIN_APPROX_NONE)\nfor cnt in contours:\n area = cv2.contourArea(cnt)\n if area > 150000 and area < 500000:\n cv2.drawContours(img, [cnt], 0, (255, 0, 0), 2)", + "detail": "test", + "documentation": {} + }, + { + "label": "gray", + "kind": 5, + "importPath": "test", + "description": "test", + "peekOfCode": "gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)\ngray = 255 - gray\ngray = cv2.blur(gray, (8, 1))\ngray = cv2.threshold(gray, 1, 255, cv2.THRESH_BINARY)[1]\ncontours, hierarchy = cv2.findContours(gray, cv2.RETR_LIST, cv2.CHAIN_APPROX_NONE)\nfor cnt in contours:\n area = cv2.contourArea(cnt)\n if area > 150000 and area < 500000:\n cv2.drawContours(img, [cnt], 0, (255, 0, 0), 2)\ncv2.imshow(\"img\", img)", + "detail": "test", + "documentation": {} + }, + { + "label": "gray", + "kind": 5, + "importPath": "test", + "description": "test", + "peekOfCode": "gray = 255 - gray\ngray = cv2.blur(gray, (8, 1))\ngray = cv2.threshold(gray, 1, 255, cv2.THRESH_BINARY)[1]\ncontours, hierarchy = cv2.findContours(gray, cv2.RETR_LIST, cv2.CHAIN_APPROX_NONE)\nfor cnt in contours:\n area = cv2.contourArea(cnt)\n if area > 150000 and area < 500000:\n cv2.drawContours(img, [cnt], 0, (255, 0, 0), 2)\ncv2.imshow(\"img\", img)\ncv2.waitKey()", + "detail": "test", + "documentation": {} + }, + { + "label": "gray", + "kind": 5, + "importPath": "test", + "description": "test", + "peekOfCode": "gray = cv2.blur(gray, (8, 1))\ngray = cv2.threshold(gray, 1, 255, cv2.THRESH_BINARY)[1]\ncontours, hierarchy = cv2.findContours(gray, cv2.RETR_LIST, cv2.CHAIN_APPROX_NONE)\nfor cnt in contours:\n area = cv2.contourArea(cnt)\n if area > 150000 and area < 500000:\n cv2.drawContours(img, [cnt], 0, (255, 0, 0), 2)\ncv2.imshow(\"img\", img)\ncv2.waitKey()", + "detail": "test", + "documentation": {} + }, + { + "label": "gray", + "kind": 5, + "importPath": "test", + "description": "test", + "peekOfCode": "gray = cv2.threshold(gray, 1, 255, cv2.THRESH_BINARY)[1]\ncontours, hierarchy = cv2.findContours(gray, cv2.RETR_LIST, cv2.CHAIN_APPROX_NONE)\nfor cnt in contours:\n area = cv2.contourArea(cnt)\n if area > 150000 and area < 500000:\n cv2.drawContours(img, [cnt], 0, (255, 0, 0), 2)\ncv2.imshow(\"img\", img)\ncv2.waitKey()", + "detail": "test", + "documentation": {} } ] \ No newline at end of file diff --git a/admin_front/assets/img/plan.svg b/admin_front/assets/img/plan.svg new file mode 100644 index 0000000..6be125f --- /dev/null +++ b/admin_front/assets/img/plan.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin_front/pages/plan/mark.vue b/admin_front/pages/plan/mark.vue index 87b6f87..b94eb7a 100644 --- a/admin_front/pages/plan/mark.vue +++ b/admin_front/pages/plan/mark.vue @@ -1,5 +1,5 @@