diff --git a/graph.ipynb b/graph.ipynb index 4b639c61769e98f03d884f74fecb0b6309ae219f..583f2f7349c693dfbc341d4cb51444ed49cdae3c 100644 --- a/graph.ipynb +++ b/graph.ipynb @@ -20,7 +20,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "metadata": { "id": "M18yRYkw6cJz" }, @@ -58,7 +58,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": { "id": "OF2OuaTGDQMl" }, @@ -133,7 +133,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "metadata": { "id": "2oa-b7dNPYEX" }, @@ -163,7 +163,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "metadata": { "id": "boY51esQcZrj" }, @@ -205,7 +205,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "metadata": { "id": "gdkvRQpQgGCr" }, @@ -231,7 +231,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "metadata": { "id": "zrZmYUQ0PQ_i" }, @@ -287,7 +287,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "metadata": {}, "outputs": [], "source": [ @@ -437,7 +437,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ @@ -504,7 +504,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "metadata": {}, "outputs": [], "source": [ @@ -539,7 +539,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "metadata": {}, "outputs": [], "source": [ @@ -615,7 +615,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "metadata": {}, "outputs": [], "source": [ @@ -644,7 +644,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "metadata": {}, "outputs": [], "source": [ @@ -662,7 +662,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "metadata": {}, "outputs": [], "source": [ @@ -679,7 +679,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "metadata": {}, "outputs": [], "source": [ @@ -708,7 +708,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "metadata": {}, "outputs": [], "source": [ @@ -784,7 +784,7 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": 17, "metadata": {}, "outputs": [], "source": [ @@ -920,7 +920,7 @@ }, { "cell_type": "code", - "execution_count": 68, + "execution_count": 18, "metadata": {}, "outputs": [], "source": [ @@ -929,7 +929,7 @@ " skel=skeletonization_image(binarization_image(im,'otsu'),'lee')\n", " skel2=skeletonization_image(binarization_image(im,'otsu'),'lee')\n", " CNs=minutia_extraction(skel)\n", - "\n", + " plt.imsave(\"rightops.png\",draw_minutia(CNs,skel))\n", " global blocked\n", " global debug\n", " global veryDebug\n", @@ -942,27 +942,29 @@ " nonEncountered.append(CNs[i])\n", " tot=[]\n", " count=0\n", - " while len(nonEncountered)!=0 or findWhitePix(skel2):\n", - " print(findWhitePix(skel2))\n", - " if count>50:\n", + " while findWhitePix(skel2):\n", + " #print(findWhitePix(skel2))\n", + " if count>5000:\n", " return tot\n", " idx=indexOfHighestOneMin(nonEncountered)\n", - " print(idx)\n", + " #print(idx)\n", " if idx<0:\n", " idx=indexOfHighestThreeMin(nonEncountered)\n", " #print('3 ! : '+idx)\n", " if idx<0:\n", - " print('loooooop')\n", + " #print('loooooop')\n", " a=findWhitePix(skel2)\n", " if a:\n", " nonEncountered.append((a[0],a[1],5))\n", + " CNs.append((a[0],a[1],5))\n", " idx=0\n", - " compCon,visited=recurseGraph(skel,nonEncountered,(nonEncountered[idx][0],nonEncountered[idx][1]),(nonEncountered[idx][0],nonEncountered[idx][1]))\n", + " dot=CNs[CNs.index(nonEncountered[idx])]\n", + " compCon,visited=recurseGraph(skel,CNs,(dot[0],dot[1]),(dot[0],dot[1]))\n", " for i in range(len(compCon)):\n", - " if not(nonEncountered[compCon[i][0]] in encounteredCNs):\n", - " encounteredCNs.append(nonEncountered[compCon[i][0]])\n", - " if not(nonEncountered[compCon[i][1]] in encounteredCNs):\n", - " encounteredCNs.append(nonEncountered[compCon[i][1]])\n", + " if not(CNs[compCon[i][0]] in encounteredCNs):\n", + " encounteredCNs.append(CNs[compCon[i][0]])\n", + " if not(CNs[compCon[i][1]] in encounteredCNs):\n", + " encounteredCNs.append(CNs[compCon[i][1]])\n", " \n", " # if (compCon[i][0] in nonEncountered):\n", " # encounteredCNs.append(nonEncountered[compCon[i][0]])\n", @@ -978,8 +980,10 @@ " plt.imshow(skel2)\n", " tot.append(compCon)\n", " count+=1\n", + " print(count)\n", " #print(nonEncountered)\n", " #imshow()\n", + " plt.imsave('/home/felix/Documents/work/FuzzyDoc/fuzzydoc/hole_skel.png',skel2)\n", " return(tot)" ] }, @@ -1006,27 +1010,18 @@ }, { "cell_type": "code", - "execution_count": 64, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "-1" - ] - }, - "execution_count": 64, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ - "indexOfHighestOneMin([])" + "debug=False ; veryDebug=False ; blocked=[]\n", + "\n", + "print(graph(\"imMaskINV.png\"))" ] }, { "cell_type": "code", - "execution_count": 69, + "execution_count": 20, "metadata": {}, "outputs": [ { @@ -1035,346 +1030,9 @@ "text": [ "threshold found : 0.533203125\n", "threshold found : 0.533203125\n", - "threshold found : 0.533203125\n", - "(4, 16)\n", - "0\n", - "pos depart : (31, 20) 0\n", - "(1, 1)\n", - "(1, 0)\n", - "(1, 1)\n", - "(1, 0)\n", - "(1, 1)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 1)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 1)\n", - "(1, 0)\n", - "blocked : [(43, 25)] point arrivee : 1\n", - "(4, 16)\n", - "-1\n", - "loooooop\n", - "pos depart : (4, 16) 0\n", - "(0, 1)\n", - "(0, 1)\n", - "(0, 1)\n", - "(0, 1)\n", - "(0, 1)\n", - "(0, 1)\n", - "(0, 1)\n", - "(0, 1)\n", - "(0, 1)\n", - "(0, 1)\n", - "(0, 1)\n", - "(0, 1)\n", - "(0, 1)\n", - "(1, 1)\n", - "(1, 1)\n", - "(0, 1)\n", - "(1, 1)\n", - "(1, 1)\n", - "(1, 1)\n", - "(1, 1)\n", - "(1, 0)\n", - "(1, 1)\n", - "(1, 1)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 1)\n", - "(1, 0)\n", - "(1, 1)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 1)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, -1)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, -1)\n", - "(1, 0)\n", - "(1, -1)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, -1)\n", - "(1, 0)\n", - "(1, -1)\n", - "(1, 0)\n", - "(1, -1)\n", - "(1, -1)\n", - "(1, -1)\n", - "(1, -1)\n", - "(0, -1)\n", - "(1, -1)\n", - "(0, -1)\n", - "(1, -1)\n", - "(0, -1)\n", - "(1, -1)\n", - "(0, -1)\n", - "(0, -1)\n", - "(0, -1)\n", - "(0, -1)\n", - "(0, -1)\n", - "(0, -1)\n", - "(0, -1)\n", - "(-1, -1)\n", - "(0, -1)\n", - "(-1, -1)\n", - "(0, -1)\n", - "(0, -1)\n", - "(-1, -1)\n", - "(-1, -1)\n", - "(-1, -1)\n", - "(-1, -1)\n", - "(-1, -1)\n", - "(-1, -1)\n", - "(-1, 0)\n", - "(-1, -1)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, -1)\n", - "(-1, 0)\n", - "(-1, -1)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, -1)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, -1)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 1)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 1)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 1)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 1)\n", - "(-1, 1)\n", - "(-1, 0)\n", - "(-1, 1)\n", - "(-1, 0)\n", - "(-1, 1)\n", - "(-1, 1)\n", - "(0, 1)\n", - "(0, 1)\n", - "(-1, 1)\n", - "(-1, 1)\n", - "blocked : [(43, 25), (5, 15)] point arrivee : 0\n", - "pos depart : (4, 17) 0\n", - "(0, 1)\n", - "(0, 1)\n", - "(0, 1)\n", - "(0, 1)\n", - "(0, 1)\n", - "(0, 1)\n", - "(0, 1)\n", - "(0, 1)\n", - "(0, 1)\n", - "(0, 1)\n", - "(0, 1)\n", - "(0, 1)\n", - "(1, 1)\n", - "(1, 1)\n", - "(0, 1)\n", - "(1, 1)\n", - "(1, 1)\n", - "(1, 1)\n", - "(1, 1)\n", - "(1, 0)\n", - "(1, 1)\n", - "(1, 1)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 1)\n", - "(1, 0)\n", - "(1, 1)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 1)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, -1)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, -1)\n", - "(1, 0)\n", - "(1, -1)\n", - "(1, 0)\n", - "(1, 0)\n", - "(1, -1)\n", - "(1, 0)\n", - "(1, -1)\n", - "(1, 0)\n", - "(1, -1)\n", - "(1, -1)\n", - "(1, -1)\n", - "(1, -1)\n", - "(0, -1)\n", - "(1, -1)\n", - "(0, -1)\n", - "(1, -1)\n", - "(0, -1)\n", - "(1, -1)\n", - "(0, -1)\n", - "(0, -1)\n", - "(0, -1)\n", - "(0, -1)\n", - "(0, -1)\n", - "(0, -1)\n", - "(0, -1)\n", - "(-1, -1)\n", - "(0, -1)\n", - "(-1, -1)\n", - "(0, -1)\n", - "(0, -1)\n", - "(-1, -1)\n", - "(-1, -1)\n", - "(-1, -1)\n", - "(-1, -1)\n", - "(-1, -1)\n", - "(-1, -1)\n", - "(-1, 0)\n", - "(-1, -1)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, -1)\n", - "(-1, 0)\n", - "(-1, -1)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, -1)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, -1)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 1)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 1)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 1)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 0)\n", - "(-1, 1)\n", - "(-1, 1)\n", - "(-1, 0)\n", - "(-1, 1)\n", - "(-1, 0)\n", - "(-1, 1)\n", - "(-1, 1)\n", - "(0, 1)\n", - "(0, 1)\n", - "(-1, 1)\n", - "(-1, 1)\n", - "blocked : [(43, 25), (5, 15), (4, 17), (5, 15)] point arrivee : 0\n", - "[[(0, 1)], [(0, 0), (0, 0)]]\n" + "1\n", + "2\n", + "[[(0, 1)], [(2, 2), (2, 2)]]\n" ] }, { @@ -1391,31 +1049,71 @@ } ], "source": [ - "path=\"/home/felix/Documents/work/FuzzyDoc/fuzzydoc/imgs/1_truth.png\"\n", + "# path=\"/home/felix/Documents/work/FuzzyDoc/fuzzydoc/imgs/1_truth.png\"\n", "path=\"/home/felix/Documents/work/FuzzyDoc/fuzzydoc/0Dot.jpg\"\n", - "plt.imshow(skeletonization_image(binarization_image(load_image(path),'otsu'),'lee'))\n", - "debug=True ; veryDebug=True ; blocked=[]\n", + "# path=\"/home/felix/Documents/work/FuzzyDoc/fuzzydoc/imgs/new_database/Bounding_Box/Arial_600/num/8/591.jpg\"\n", + "# path=\"/home/felix/Documents/work/FuzzyDoc/fuzzydoc/testCadre.png\"\n", + "# path=\"/home/felix/Documents/work/FuzzyDoc/fuzzydoc/payslip_Arial_10_1_g.png\"\n", + "# path=\"/home/felix/Documents/work/FuzzyDoc/fuzzydoc/imgs/new_database/documents/2PS_Arial_600.jpg\"\n", + "# mask=detectTextAreas(path,'mask.png',square(25))\n", + "# im=load_image(path)\n", + "# for i in range(im.shape[0]):\n", + "# for j in range(im.shape[1]):\n", + "# if not(mask[i][j]):\n", + "# im[i][j]=255\n", + "# # plt.imshow(skeletonization_image(binarization_image(load_image(path),'otsu'),'lee'))\n", + "# newpath=\"imClean.png\"\n", + "# plt.imsave(newpath,im)\n", + "debug=False ; veryDebug=False ; blocked=[] \n", "print(graph(path))" ] }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 21, "metadata": {}, "outputs": [ { - "ename": "AttributeError", - "evalue": "'numpy.ndarray' object has no attribute 'index'", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m/tmp/ipykernel_6160/2426019096.py\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mim\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mindex\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m255\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[0;31mAttributeError\u001b[0m: 'numpy.ndarray' object has no attribute 'index'" + "name": "stdout", + "output_type": "stream", + "text": [ + "threshold found : 0.525390625\n", + "threshold found : 0.525390625\n", + "1\n", + "[[(1, 0), (0, 1), (1, 0), (0, 1)]]\n" ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "<Figure size 432x288 with 1 Axes>" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" } ], - "source": [] + "source": [ + "path=\"/home/felix/Documents/work/FuzzyDoc/fuzzydoc/0Dot.jpg\"\n", + "path=\"/home/felix/Documents/work/FuzzyDoc/fuzzydoc/imgs/new_database/Bounding_Box/Arial_600/num/8/591.jpg\"\n", + "# path=\"/home/felix/Documents/work/FuzzyDoc/fuzzydoc/testCadre.png\"\n", + "# path=\"/home/felix/Documents/work/FuzzyDoc/fuzzydoc/payslip_Arial_10_1_g.png\"\n", + "# path=\"/home/felix/Documents/work/FuzzyDoc/fuzzydoc/imgs/new_database/documents/2PS_Arial_600.jpg\"\n", + "# mask=detectTextAreas(path,'mask.png',square(25))\n", + "# im=load_image(path)\n", + "# for i in range(im.shape[0]):\n", + "# for j in range(im.shape[1]):\n", + "# if not(mask[i][j]):\n", + "# im[i][j]=255\n", + "# # plt.imshow(skeletonization_image(binarization_image(load_image(path),'otsu'),'lee'))\n", + "# newpath=\"imClean.png\"\n", + "# plt.imsave(newpath,im)\n", + "debug=False ; veryDebug=False ; blocked=[]\n", + "print(graph(path))" + ] }, { "cell_type": "code",