Skip to content

Instantly share code, notes, and snippets.

@engyasin
Last active January 1, 2016 16:19
Show Gist options
  • Save engyasin/9b32cd1564275358ab2b to your computer and use it in GitHub Desktop.
Save engyasin/9b32cd1564275358ab2b to your computer and use it in GitHub Desktop.
Documents/myPythonFiles/my_notebooks/Lesson_19.ipynb
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"metadata": {
"toc": "true"
},
"cell_type": "markdown",
"source": "# Table of Contents\n <p><div class=\"lev1\"><a href=\"#تقطيع-الصورة-باستخدام-خوارزمية-Watersherd:\"><span class=\"toc-item-num\">1 - </span>تقطيع الصورة باستخدام خوارزمية Watersherd:</a></div><div class=\"lev2\"><a href=\"#الهدف:\"><span class=\"toc-item-num\">1.1 - </span>الهدف:</a></div><div class=\"lev2\"><a href=\"#النظرية:\"><span class=\"toc-item-num\">1.2 - </span>النظرية:</a></div><div class=\"lev2\"><a href=\"#البرنامج:\"><span class=\"toc-item-num\">1.3 - </span>البرنامج:</a></div>"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "# تقطيع الصورة باستخدام خوارزمية Watersherd:"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "2016-00-01 15:37:14 "
},
{
"metadata": {},
"cell_type": "markdown",
"source": "## الهدف:\n\n** في هذا الفصل**\n\n* سنتعلم كيف نقطع الصورة بناء على التعليم باستخدام خوارزمية WaterSherd.\n\n* سنرى التابع: **cv2.watershed**"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "## النظرية:\n"
},
{
"metadata": {
"collapsed": true
},
"cell_type": "markdown",
"source": "اي صورة رمادية يمكن عرضها كسطح طبوغرافي , حيث الشدات العالية تمثل القمم والشدات المنخفضة , تمثل المنخفضات . وستبدأ بملئ كل منخفض منعزل بالماء , (قيمة صغرى محلية) وبلون مميز , وعند ارتقاع الماء بالاعتماد على المنحنيات المحيطة فان المياه ذات الالوان المختلفة ستبدأ بالاختلاط , ولتجنب هذا سنبني حواجز لمنع هذا , ونستمر ببناء الحواجز وسكب الماء حتى غمر كل القمم , وعندها فان الحواجز التي بنيتها بالنهاية ستشكل نتيجة التقطيع. وهذه هي الفلسفة العامة خلف الwatershed.\n\nولكن هذا قد يعطينا تقطيعاً مفرطاً بسبب الضجيج في الصورة . ولذلك قامت OpenCV بتقديم تحوير لها يسمح للمستخدم ان يحدد اي المناطق يمكن دمجها وايها لا. وبذلك يكون هذا تقطيعاً تفاعلياً . حيث نحدد المناطق التي تشكل الجسم , الامامية , ومن ثم المناطق التي تشكل الخلفية , الاكيدة , اما القسم الثالث , الذي لم نتأكد منه فنحدده بالقيمة 0 , ومن ثم نطبق الخوارزمية حيث نرى التحديدات تتحدث , وحدود الجسم اخيراً ستحدد بالقيمة -1."
},
{
"metadata": {},
"cell_type": "markdown",
"source": "## البرنامج:\nسنرى ادناه مثالاً , لاستخدام تحويل المسافة مع خوارزمية ال Watershed لتقطيع الاجسام المتلامسة .\n\nفليكن لدينا الصورة ادناه للنقود التي تمس بعضها , وحتى بعد التعتيب ستبقى كذلك.\nسنبدأ بايجاد التحديد التقريبي للنقود ولهذا سنستخدم التعتيب لاوتوس.\n\n"
},
{
"metadata": {
"hide_input": true,
"trusted": true,
"collapsed": false
},
"cell_type": "code",
"source": "from IPython.display import Image\nImage('coins.jpg')",
"execution_count": 2,
"outputs": [
{
"output_type": "execute_result",
"data": {
"image/jpeg": "/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcG\nBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0MDgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwM\nDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCAE5APsDASIA\nAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA\nAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3\nODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm\np6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA\nAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx\nBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK\nU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3\nuLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9xNM/\n481/3KW9+7TNNk/0SLb93bT7ySuMkzJo6jSTy6lm+581V0+7QSXaa/WhP9XTJpPM+WgBlTRfeWq/\nmR26tJJIqxqu9mf5URa8d8f/APBRj4H/AAvv2t9Y+I3h/wC0Q/62KxZtQ2f73kK9HNGPxlRjKXwH\nvFv/AA1Yr578Jf8ABUn4A+MblYbP4kaTbs/3WvoJ7FP++pURFr3Xw34n03xjolvqWk6hZ6pYXK74\nrmznWaF/91l+RqI1Yy+AUoyj8ZfopU+9SPJWhHKFSr91ajX/AFdOT7tBpDYH+7TKc/Sm0FBSp96h\n/vUqdKDMdSPHzS01+lADabJQ8lNoAY/3qih/11OeT56an+toAnT7tS1En3aePuUFSJ1+6tPpsP3K\n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\nWT7qquz/ANBavl6UZc3OfQc0eXkLWlWckdskbfwKv3v92o/E6fbNNZY13M//AEy3/wDsyVVs7yG2\nmX5rpd/zqsj/ACf+PNVq58u8svl3Ns3I25aPejLnOrmjKPIejfsPeJZPD/7U/gG8jkdZXvoE/ufe\n+T/2ev2o+Idu2ueB5f4v3Vfjh/wT8+Hdx49/aq8Hw28fy2c/26dvv7FiX/4vatftdq15o/hfwov9\ntappekwOv+tvrlbdP++mavr8t/gHyuafxeQ/Cv8AaE8H3XgP4u+JtPkWVWhvmlj2/J+6lbf8v/fe\n2uN024835fO+b/Zr7f8A+Ck3wH03xZrn/CWeEdY0PXpbNdlzBY30U32mJv4flb739z/gVfDFzpTe\nX9otfNlj3fN/fhf+LctePj8Py1P7p3YWvzRNebdPbbZNyp/DVBo4ZEbb8jbvkbd89VoftF5a7dzf\nJ/e/jp0NrcSH5l3TfxbfkrkjyROrlJ0ElpIsMcjLLD/Cy/fWn3d3JYalb3Ef+t3Lt2/+hVJDpzWV\nsrTM252+VNnzf7q17Bo/7J+tWnwc1TxNqFq1vdSQNLbQMv8AqVX5/wDvqu3B4eVaXP8AynHisRGn\nE8sSSP7HuuJJf9Jb+Fvner9tH9mXdH8v9/5fn/4FUUNw1vYW7KrP5n9z5qtTWc0k33dv+7Xm1ebm\nOqPulXVYmuN7N8zJB8qf991qwxrJ5XmSfw/drP1J5rNJ2mjXa6qiNuf5P++VqxYeZLZptWRk/vbW\n2VM4y5CqUveGalcfY7lY7eHbG6r91Xf/AHq+u/8AgiJ8TJvBf7RXiDw35jLZ69p/m7f4PNgZGX/x\nyWWvjrVLyNLlbdoVlZmV90q/cr6d/wCCQ2iXGofterdKu6Kz0yd5W/uf6pK7Mr/ixMMf70ZH7RaP\nceYi7WrUgrG0H93CtbMFfZHzhLD/AKyn5b+9TE+9T6AON1XQ49Y0FY2XcrrX53f8FC/+Cbdx43v5\nfEXhv91qVsvyMq/P/f2/7tfpTZx+ZpUTf7NYmt6PDeK6yKrK9Z8vN7hMZSj78D+dL4h+D9Q+HWtN\na+JNLutGvIfk+0xL8j//ABNc2muaLZz+c2tWrNt/iWJK/f74n/sn+A/iejR654fsL/f9/cteM6j/\nAMEl/gPHf/am8E2fnf7zV5ssrjze4ejHMp/bPxtfxp5lnLNo+n3mqNCv+tVf3Kf8C+5VKzs7zxA/\nzSL5v3J5V/8AQFr7f/4Kq6f4X+C2laH4H8G6PYaX9v3XF55C/P5S7EVf+Buz/wDfFfG+hRTWci+W\nqKqL8q/368vGRpUfcpHo4OXtPfmMh0uz099q7fN/2vv0yadrdGaaH919z/fqxq+l/bJmkWTZ8v8A\nFVWLUGgSXd82z+9/BXBCPMehKXKV4ZPsl5FcWNw1rdQtvTb8nzVqa98UJtR177drUm5plS3uZ/49\n33Fl/wDZao74bh1Zo2im/h/jR6h17T1uX3SR7reb91LE38a1vzfYl8Jyy/nOk1TRobuFZl+Znb7y\nt9+uUvI4UvG3Lt2/3v8A2WveP+GBvH1v8NNL8TeDY21zRtSs4rhbaf5327d+2vJvEf8AbXgu/wDJ\n17wXr1ndI3zbYN6bv9n79TLK69GXPCPNE0jj6Fb7XKc6lvbyJ97bvb73ypVhbSOyhZtzfZ4/4mrq\n/BHw38UfFCdY/D/gnXrqV/uNPF5MKUz44fs9+IvhBq+k2/iqZYr6aL7RFpsH+phXfsVm/vfd/wDH\nK0+p1eXnnHliX9fpRlyUpc0jZ+C37SGvfAK11S48Kx29hr2qr9n/ALQZd81hEv8ADF/ArP8Axt83\n8Ncp458c+IPH+rSal4g8Qapq15M37yS5ummmf/gTVVto4438tfvf5/2aPLmkvPL3L5P8W1vuVyyx\nVWXuc3ukRpR+MoQag1lMrW+pXkLJ8u6rNz4kmt7z7ZNMtvdTfd1C2X5H/g/eqv3v/Q/71Xrnw9by\nWbfK27/ZrFe2kt7ny13M0zb23fx//E1nSxXMXKibnhvSPHHiC2kuIfh/eawiNs+06Qv2iF/93bs2\n/wDfFejfDT9mL4rfFS/ij034d6tpu/8A5a3kDJs/76313H/BMH9qi4/Zo/aHs9LvpPN8L+J5YrK+\nilXekO5tkUq/7jt/3xvr9trCSzktlkWOL/gK19Bg8Fhq0ec8TFYqvRlyH5y/spf8EjLzw/qFvrnj\nKZbi+T50g2/JC1fSXxl+AFufhxdWNvCu3ytm3bXP/tXf8Fd/hr+znqd1oukx3HjTxNbM0UttYt5N\npbSr/C0/z/N/uI1fI/jP/guH8TPELt9h8D+ErWwdtixSxTzTf99een/oFdU8bhaPuHPHC163vnzP\n8QfAdx8J/iFf6DdRsr2rM0DbfvxfwNXO3fhpdRvHuFaP958jK0S/J/8AFV2nx4/aXb4/3EV9r3h+\n10PUovnivtMVvk/3lZn+X/gdefT+NIbO2hXVpreJblvs63MDfuZm+/tX/wCJevBxHsubnons4fm5\neSZLb+F1jjuFmmt2X7m5W+438NVxpEdmf3bLuRtjMn8HzfLU0c+mybo47zy13b/9avyUXms6fHqT\neTI11cTfKkUXzO9Zcs5e4a/3y1bWf2fSolaRriXau5q/Sn/gjJ+znceE/B954uvrfy5fELL9m3L8\n6QLv2/8Afe5m/wC+a+dv2G/+CdevfHjxDZ6x4msZbHw+jK/2Rvv3P+9/s/7Nfrp8N/h3a+BvD1rZ\n2se2OFdm1Vr3MtwHs/3tU8vH4qMvcgdRpUexVrVT71VLOPy6tD+GvbPLJYf9ZUglqOH/AFlPoAw7\nCRv7Ii/3ao39XtN/eabb/wC7VDUv9ZWZKMa8rnPEkjRwtt/u10t589YOvW6yWzUEn48/8FVribUP\n2ovmb5U0xdv/AH9lr5v0r/RN+75W/u7a+zf+CuXwsk0/xtpfiaNflbfZTtt+5/HE3/fe7/vta+KH\nkmjuWjm3Nsb/AMdr5vNKUvan0mAlzUi5cyeXbfe+b+7VSzjaS5+b723+Jfnply6xvtaTb/d+V2pb\nNGDM275U+RW215cfdO2RdubK1vEZv9V8vz/3Hqr+7k/cxt9z5alhvGt0bcqsv+ytT+GNDm8Sa1a2\nturS3F/OtvAqtv8AOZvkWtsP/fIl/Ofs9/wSvt/7R/Y/8H/bIVZvszIu5P4fNfb/AOOV9HXnwy8P\n377rjRdLkb+81qr18k+A/wBtH4S/sGfBbQfDfiDxAt5q2j6fBby6fpi/aLjcqorbvmVF/wCButcv\nef8ABwp8M7e/8uPwb4waKT7rM0CP/wB87n/9Dr6z61Sp+5OR8v7KrUlzwifZmseF9J8P6dK1rptn\nb7F/5ZQKlfit/wAFG/FP/CT/ALYHiPzm+WwWC0i+b7i+Ur/+zNX6T/Cv/gqx8H/2kIm0+z1a68P6\npMuxYNaiWHe3+zKrOn/fe2vzd/4KR+D/AOw/2ntUuvlaHWIortJV/wB3yv8A2VP++648yl7Sh7h3\n5bTlHE8kzwmzs+ZWupIm+b5dqrQjrj938zfwrtb5Ke9zHHD5ckK7f4adY6VDLb7pFZXf+78lfHyl\ny/GfQ+ylzcoy71TyIf8ASLdo/wDeX7lUXuEvLf8Adsqq38W/fWzc2cnksqzMi/d2t86f+PfdrO+w\nNbo37uLb/s/x/wDAWqYcv2C+Uz7a4aOWK4WT975vyurV95/tS/8ABTzXrz4G+HPB/he8ls9W1jSo\nJda1CJtk0O6L54ov7rP/ABt/cr4M1KSO3tmkaPyokXczfwVtW1vcSW6MytcTIqp83+ytepDFSo05\nHBVw8alWMx00kejyRfKzXE33pW/jqxrHiBvJijVVb/nq277lJYWcNmjSTNLH9oXft+/sqLTdPh+2\neZJIsqwsv3W3/wDAq4+WMpc51f3CxqNvcR21vJbw/f3b1ast9Lh1CO9hktbeWKZdlzYyrvhuV+9/\n31/n/brrrmT/AE9t27938lYuuxLGVmX7z/7WyiliCeX7Z9efsL/8EvPgf+2J8L11q3vvFGjapZt9\nn1PT4L75Eb+Hb/svX2p8Cv8Agkl8IfgncR3Fjo819dJ/y1vm856+Ff8AgkH8aJvh9+0zFoe5ksPE\n8EqNFv8Ak3KrSq3/AI6//fdfsNo8/wBojVq+wy2r7SlznzeYR5avIO8K+DrHw3bLb2cMVvEn3UVa\n3Ei8tNtV7XqlWh/DXoHKWIR5aLUydKhh61MnSgCVPu0tIn3af5dAHN2H/IIt9391ap38laGm/wDI\nKh/3VrP1L958tZmZk3H36p3Nv5lXLmNZHqJ/3cm2gD5+/bH/AGa7X40+AL+zmt/N86Kvx7+NPwf1\nT4XeLJtF1SNorhG2W14y7Iblf/ZWr93fjB8XPBvwS8KtqnjLXtL0Gw/hluZfnm/2VX77N/spX5rf\ntmft+fAX4u/bNNs/Cus68yfJ9sZlsUdv7y7t7/8AfaLXLjfZSj78juwcqsZe4fDIsJtP+WZWXy/v\nfLQbjCfdX95/dWX/AOJrZvNd0XULxl0HVLzS7d2/d2d832uFP/QK9h+Bv/BP74jftMWH2zw34k8F\n3VmnyTtZ7fOtv96LduWvDjhZS+A9mWKjH4zwmazXT0864kWK3hX70v8Adqx4e1+6tryLUtNklglf\n/jzlX5HRW/5a/wDA/wCD/Y/4DX1V8fv+CZGm/sz/AAZ1HxN4u1i48QasqKkETNsh81m2L8tfMNtZ\n+WPO+Zv+A/JWWKpSw/L73vhSxH1j4PhMm/s5JbzzrhZbq4f/AJaszPUVzZX0cnmSRrum+7+6i+T/\nAMdrX03UGk1LbJ/6F/8AE1aeT5vlk3LXBKtLmOgw0j+1oqsqrKn3WX5HT/P/AHxXQar431TxBo9n\npeqXEt42m/8AHjKzb98X8UX/AMTUFxp63cPy/wDAqzodPkltmt5GZk++rf3G/wBmqjiPd94XLzGj\nYXkNwiqzebayL8u1d2+oF1T5GZoW3I33kX5P++v71df8Jf2U/E3xY8Lat4k8HzSveWc/+maZ9+F2\nb+Jf7u/5mrkPGv8AaHg++aPxV4V1LS7qH70ixMiP/wAC2v8A+y10Sy2XLzwiT/aUZe5P4xyawuzz\nFZWX/Zaq8byao7ttVFRvvL9zbVXw94ktfED/AGfSdH1TUbh/kVVWV/8A2Wvpz9mP/gmv42+Pd5bz\na5pt14f0N/naLbsd1ow+V1ZS+Emrj6UY/EeCeFfgvqXxj03UlsYbj+zbWLZLOq/JM392n6Rb/aNN\nZo/mb76rX7DeG/2H9B+FfwsbSdPsVXZBs+79+vyy/aB+GVx8HvizrOj+W0cTytcWbMv34mb5l/4A\n9d+ZYD2eGjynFg8VzV5c55to9ldahct9qkk2o21tzb/++f7taVt4fXTLnzlj8+1/ii3Pv/4DUNnq\njXL/ALzdE+7/AIBWrA6yfKsny/wstfPSnLnPXIIbjy3+ZvPspP8AVS//ABVVdYvV0d4fL+bzG+Xd\nV7UY47eCaRZPL3/POq/x1RuBY+KUSRWZZYdr1MPi98D1f9gSOa9/bA8FzRr+9Sdnbb/AqxS7q/cL\nwrL5lgv+7X5Tf8EhfgdN4p+Kt/4umhb7BYL9ks2/geVv9a3/AAD7v/A6/WDQYPIhVfuV9plFL2dA\n+ZzKrGVf3DdsOqVdTrVGz6pV1I+K9Q88eg+fbUydKjjqROlBRKn3af5X+1TE+7Thx/CaDQwNKk83\nSov91ao3336vab+70eL/AHVqhq33agzMq8uFjFeA/tt/tqaX+yV8LrjVJGiutbuf3WmWLf8ALaX/\nAGv9lPvP/wB8/wAde0eK9U/suxmk/wBmvxg/4KOfGe4+Mn7UusQyXErab4b/AOJfbL/D8v8ArW/3\nnfd/3wlcmMxHsaXOdmDw/tKvIeWfGP4v+JPj34wuvEXjTVr3V7+4ZnWKWXYiL/dVfuKv+zXKpOtu\nN0Mdr8n91V/+JoS4XzmVWVfm/ibZVh44432su1v9qvkatWUj6WFLl9wrzXEd3u863t7hXX7rRfxf\n8Bq/4G8e698F/FNr4g8I6xqWk3ts29XgldH/AN3/AGl/8ceoJLiPZt27vl+7tqvJJH9mXcu3+H5W\nojVl8ZrLDxPqP9pn9t+T9rD9mDSYdSkii161vokvlX5Em+V/mr5im221wrRtb/d/36xdVuF0pLiR\nWb7On+kN/wAArZg26hbRSQrEyuv3q6MVVlU5ZzOOlS9n7kCLzFt5tzN/wH5qdDItwjbmuGb+FYmp\nt5HGLldq/wB3+9VyG8j2+XtVWf8AirnKKLxSJIjR2qxbf4mlZ3pLW4aObb5y/wC7V2aeOCH5m3f7\ntU7OTzJmmb5lX51ato/D74ch+g3/AAQrt2uPEnjmGSPda7bP5WX5N3+kV+lWpfB/wv4gg3aloOjX\nS/xefbK//oVfj3+yj+2zp/7EfwNv7jTbNdW8b+Kp/NtraX/U2cS/LE0v/jz7U/v/AMFeS/Gj9qT4\nsfH+9kuPFXjjV2im+dbHz2S3T/dgX5V/4Ale3HHxw9KMJ/EeT9Tq1qspn7o6D8L/AIc6RfLHpek+\nD4rjd922igR//Ha7NNDt7OH93DEvl/3Fr+aubT7qzufMj1C68z+8q/8AoO5a9g/Zp/4KN/Fz9nDW\nLVtL8Vapqmmwt+90y+le4tHX+75Tfd/3otr0RzylzckyqmU1Yx5z959U0tbi2ZfLX56+L/8AgoR+\nwvH8YNFl1DS7Vl1S2+eKWJfnRq9p/Ye/4KCeEf23PBnnab/xKfEtnEr6nos8u+aH/bib+KL/AGv+\n+q9uv7C3nhZWVWWvUjKlWj/dPLlzU5H873jzwfN4D1ifT/EVrLpOowv5Ss0TJDN/u1kw6PdRWG21\nka6+b7ytvdFr9T/+Cn3xI+Avws0SWx8XaXB4k8UXMW+LSrHakyf7Urf8sl/8f/upX5KeLdO0+TxN\ncXmm6D/Y0U0v7qD7ZLshX+797Y3/AHxXz2MwdKnL3JHuYXFVanxxNebS2jRvtmoLH/G26X50r1L9\nmb9lfxB+0R4tt7HRbO/t/D7tvudSlX76/wDTLd/6F/8AsV434a1C68N6xFeW9npd1cI37rd5Vx83\n+6yvX31+xD/wV78O+A3s/D/xA8L2ek2+7yl1XSoNiQ/7csH/ALMn/fFTg6VCUv3sisRKvy+4fef7\nMf7Pem/A/wACWGj6fax2sVtHt2rXr9nH5dZHgbxZpPxA8PWesaHqFnqml38Xm21zay74Zl/3q6Gz\n/wBXX1ET50sWX31q1UVtHU6fvPmq9wCOrEf8NRJ96pU60gJI6dTYfv06g0OfsP8AkDwf7iVk6j0r\nRsLhf7Ki/wB1aytV/eblWszM89+MNy1v4Yutv3vKr8K/iv53/C2vFsl03+kPq91v+Td/y1ev3e+J\nGntqGiXEe3761+L/AO218K7r4f8A7Q+rfaFaK11tvtsDKv8AEvyyr/vfx/8AA68vNoylT5z08rlG\nNXkPGZY1k2sqq3+y38dNeOGLdtWa1/2FbelTySQxvthVtv8Ad3LUT3iyPuVa+b5pRPpY8sokcEkl\nw/l7vN/2lVaH2+Z91fkb+L/4mo5JF87au1W/h/g/9C+SrCbpD8yxf8B/9lrUmRF9ia/v4oWjXdM2\nz+/9/wCSvUPiv+y14g+AdtBN9jurjRpol+6u/wAmrv7FXwfuPjZ+0n4f02OFpbXTZ01C8/jRIom3\nqv8AwNvl/wC+q/aS4/Z00Xxp4MWxvrWKVZItvzLXs4DCxqUJc54ePxUqdWPIfgT/AGeuoIskPlXH\n+yv30/4DWfcG6jmaP7Pdbv4v3S/+O/NX6hftG/8ABCO38d6lcah4P1r+w7yRtyL/AAf9814O/wDw\nQf8Aj1HePDH4i8Hy2u7/AFrNLvrOWU1Yy90uOZRlE+OLPSr6eF2mkaJf+mrff/4DTrnw/fXehS3l\nvDKumoypLcsuxHb+6tfpP8Dv+CC83hu8ivvHHiJdWZPn+zQLshrzz/grp8ONN+C/h7wf4f0m1t7e\nzeeWVtq/3VRF/wDQqr6h7OlKrMiOM9pV9lA+ILOzw/nSTbbj+Hdt/wDZqL7VJLfdHN5bO/zbVX5H\n3UXkiyozeYyt9z7rfd/3qbZ6XDcQ+ZJM0bJ/qvNb79eHLm5j3IR5h1heQ3P3VeJkVfl3Vct9Ljt7\nzdIrLvbbu2vWdb2bXk+1V3NN91tm2rv9lrJD8t9F/cXb8vzLRGPuk1JS5jr/AIV/EjXPgJ8S9J8Z\neH7y4s7/AE2VZX8ptm9fk3K3+y/3XSv1Z/aD/wCCmOj+B/2PLXx5o8iy6p4ktli0yBm+5dMv8X/X\nLa2//cr8g/7Vjk0NoZFZnT/lr/45tpt9441DxJ4M0vw/NI0tnpcsrwLu/il+dv8A0Cu3B4yVGMoH\nn4rCxrSjMr+JPGGrePPE+pa1rV1cX99qsrSz3VzLveZmbezVTj0+aOFWkWJlT5938damiW//AD2h\nXan95vkqee4jgMysv/AdtcVXESlI7fd+yc1NaTXk23zpZf8AZ+9sqGFI7cNGy/73mr/49T9SEck2\n35fKVt8u7/0CooZPtn76Tdu/h2/wV1cpkfYf/BKL9ty6/Zm+Ltr4X1bULhvBfiGXypVll/c2E7fd\nnX+7/df/AGP9yv2f0rUFuEVlr+ayG4jkhTy2VVhbevzV+9v7A/xIb4q/sweDdWkma4km0yKKVm/j\naL903/j6V7WW1ebmgePmVLllzHvtlL5iVPVXTR8lWq9fmPKHJ0qVPu1EnSpU+7TGPh+/U1MhNPoK\n5ji9Ki/4ktv/ALq1R1L7lXNKk8zS7X/rktVdSjrOJJzusW7XELr/AA18e/t+fshSfGTwrNNZrsvr\nZvNgl2/cavtCa2as6/8ADcOqfLItEo80eQqMuX34n8/3jPwNqXgvXrjTdStfsF4rMjRS/Is3+0rV\nj/vreb95DKrf9NV+/wD+z1+0n7SH/BNvwr+0Rp8v2qNbW6+/5qr8/wDvV8b+OP8Aggh8RNPv5ZPC\nvjqwa33fJFfbq8Orls/+XR7mHzSPL+9PiCGzhl1Dc3mtF/stWv4S8N3nizVU0nR7ebUtSmbZBBEv\n3P8Ae/urX2L4J/4IN/ErWL+P/hJvG2kwWqfeWxVt+z/gVfaf7K//AATL8H/s328TQw/bLz+K5lXe\n7tVUstny+8aYjNo8vuHH/wDBMT9h9vgP4SXUNSVW1nUv3tzJt/75Vf8AZSvtyzt/s6Iq1V0TR47S\n2VY12rH/ALNaiR17UYxj7kD5+UuafPMkh/1NRzfvKnT7tMmq+YgoXn7yFlr8zv8AguJ4KmvPD2h6\nwq/urC82St/cWVNv/oe2v08nt/Nhr59/bm/Z3j+Onwg1TS2jZmmgZfl++lZYiPtKUoGtKXs5c5+F\n0fhNvIW4kktWhRvn2/I//fVV5tLt7iVdzRM3/PWX/wBBrc+JfgvVPhx4tuNB1iForzTfk/uJcr/D\nKtc99nk1Ob7rff8Am218TKhKnLkmfZUpRlEZLzIsayNCqfxbqsW0i2cMsckku1/n+Vtn/fX/AI7/\nAN8UWttl9qsu6mXKb22tG3m/+gUQjImXKNSNfM3Kq/P/ABrVfRI7zT7m4uJod8U0u+2Zl++u3a3/\nAI/XcfBX4N6x8c/iFZ+H9LhZ5rra08uz5LaL+81fWn7Zn7Bc3gv4NabdaPat5uiRL+6Vf9cu35lr\n0sLg5SoSmefisZCMowPhvUNTb7SrR/N8vzNtqvrGq3ElzFtm8pvuf3/+A0+/3WSbV2+V/wB91l3F\nu0jq0fzM/wA/8X3a5Yx5TqlH+UnnuYbh/LaFomRt7f3K1ILaOR93mbfl+X/brJsruOSHy5N3yfw/\n3K0HuVlhX9zuX/a+49EpBGIsMUcm1Y1bd9zd/n7tfuH/AMEutDk8NfsjeD7dlZd9t9o/7+ytL/7P\nX5A/s0/A+++N/wAUdJ8O2ccrfbJf9Jl/59oF+827/wAd/wCB1+8XwY8FQ+C/Bdjp9vGkUNtEkSqq\n/IirXsZXS+KZ5OaS+wd9Y/cWrVVNP+7VuvYPHHR1InSo46lT7taEksHQ1IIsimQ/dpflpSGec6Dr\nkMmi2rLMvzxL/wCg0l5qkZ+XzFr2mirVG3UvlPBn1mGN/vLUSa5b7/8AWLXv1FHsfMOU8RttUjjR\nV3LUn9qQx/8ALRa9qoo9j5hynib6zD/eWr1prEezarL/AN9V69RVezDlPMrfWI96/vFqd9YjH3mr\n0aij2YcpwKazDs+8tMfWIR/Eteg0UezDlPP/AO1IZE+8tVdSjt9QtmVtrb69Koo9mHKfnD+3z/wT\nX0n9oCzl1LSW+wa5DueKVf71flt8b/2c/Hn7P+pSw+IvCt/eWsbf8f1nFv3/APAa/pnormxWX0a/\nxo7MPi6lL4T+Uiz+KGn3l59nhj16WR/k8hYJf/Qdte7/ALPP7GfxE/aEv7ddL8O3Wg6XN967vF+f\nb/srX9IFFckcloo0qZhUkfCP7Ff7Afh/9mPwuu1ftWqTfPPcy/fdq9o+IXw70/xn4euLG4jVonXZ\ntr6Gor0I0LdTgau7n4Oft1f8E79Y+FfiC/1rw3Y/b9LuZWllgX76f7S18dN9hk1RrX7QtvqSffgn\nXZMn/Aa/qoorirZXGbvF2+R20cZKCtLU/le/4R+ONtzSW67P4mlrsvg/8H9U+MmvW9j4btZdUldt\njTqv+jw/8Cr+m+isqeTRTvKV/l/wTapmUmrRVj87v+Cfv7Cmn/s76F9uvv8AStcvNrz3Lff/AN3/\nAGVr67sJIbdFVf4K9Wor0o0OX4WebL3neR5/Z6hHVhLxc13FFV7HzJ5Ti0vF/vVYS4XZXWUVXsw5\nTl4bhal89fWujoo9mHKf/9k=\n",
"text/plain": "<IPython.core.display.Image object>"
},
"metadata": {},
"execution_count": 2
}
]
},
{
"metadata": {
"collapsed": false,
"hide_input": false,
"trusted": true
},
"cell_type": "code",
"source": "import numpy as np\nimport cv2\nfrom matplotlib import pyplot as plt\n\n%matplotlib inline\n\nimg = cv2.imread('coins.jpg')\ngray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)\nimg = cv2.cvtColor(img,cv2.COLOR_BGR2RGB)\nret, thresh = cv2.threshold(gray,0,255,\n cv2.THRESH_BINARY_INV+cv2.THRESH_OTSU)\nplt.imshow(thresh , cmap='gray')\nplt.xticks([])\nplt.yticks([])\nplt.show()",
"execution_count": 3,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": "<matplotlib.figure.Figure at 0x8bf0890>"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "والان سنحتاج ان نزيل اي ضجيج بلون ابيض بالصورة . ولذلك نقوم بالفتح المورفولوجي , ولازالة الثقوب السوداء نقوم بالاغلاق , ولذلك نحن نعلم ان المناطق القريبة من مراكز القطع هي امامية حقاً , والمراكز البعيدة هي الخلفية ولكن يبقى مناطق الحدود هي التي لم نتحقق منها.\n"
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "%load_ext version_information\n%version_information numpy, scipy, matplotlib",
"execution_count": 2,
"outputs": [
{
"execution_count": 2,
"output_type": "execute_result",
"data": {
"text/plain": "Software versions\nPython 2.7.9 32bit [MSC v.1500 32 bit (Intel)]\nIPython 4.0.1\nOS Windows 7 6.1.7601 SP1\nnumpy 1.9.2\nscipy 0.16.0\nmatplotlib 1.4.3\nThu Dec 31 12:29:08 2015 سوريا - التوقيت الرسمي",
"application/json": {
"Software versions": [
{
"version": "2.7.9 32bit [MSC v.1500 32 bit (Intel)]",
"module": "Python"
},
{
"version": "4.0.1",
"module": "IPython"
},
{
"version": "Windows 7 6.1.7601 SP1",
"module": "OS"
},
{
"version": "1.9.2",
"module": "numpy"
},
{
"version": "0.16.0",
"module": "scipy"
},
{
"version": "1.4.3",
"module": "matplotlib"
}
]
},
"text/latex": "\\begin{tabular}{|l|l|}\\hline\n{\\bf Software} & {\\bf Version} \\\\ \\hline\\hline\nPython & 2.7.9 32bit [MSC v.1500 32 bit (Intel)] \\\\ \\hline\nIPython & 4.0.1 \\\\ \\hline\nOS & Windows 7 6.1.7601 SP1 \\\\ \\hline\nnumpy & 1.9.2 \\\\ \\hline\nscipy & 0.16.0 \\\\ \\hline\nmatplotlib & 1.4.3 \\\\ \\hline\n\\hline \\multicolumn{2}{|l|}{Thu Dec 31 12:29:08 2015 سوريا - التوقيت الرسمي} \\\\ \\hline\n\\end{tabular}\n",
"text/html": "<table><tr><th>Software</th><th>Version</th></tr><tr><td>Python</td><td>2.7.9 32bit [MSC v.1500 32 bit (Intel)]</td></tr><tr><td>IPython</td><td>4.0.1</td></tr><tr><td>OS</td><td>Windows 7 6.1.7601 SP1</td></tr><tr><td>numpy</td><td>1.9.2</td></tr><tr><td>scipy</td><td>0.16.0</td></tr><tr><td>matplotlib</td><td>1.4.3</td></tr><tr><td colspan='2'>Thu Dec 31 12:29:08 2015 سوريا - التوقيت الرسمي</td></tr></table>"
},
"metadata": {}
}
]
}
],
"metadata": {
"kernelspec": {
"name": "python2",
"display_name": "Python 2",
"language": "python"
},
"latex_envs": {
"current_citInitial": 1,
"eqLabelWithNumbers": true,
"cite_by": "apalike",
"bibliofile": "biblio.bib",
"eqNumInitial": 0
},
"language_info": {
"mimetype": "text/x-python",
"nbconvert_exporter": "python",
"name": "python",
"pygments_lexer": "ipython2",
"version": "2.7.9",
"file_extension": ".py",
"codemirror_mode": {
"version": 2,
"name": "ipython"
}
},
"gist": {
"id": "9b32cd1564275358ab2b",
"data": {
"description": "Documents/myPythonFiles/my_notebooks/Lesson_19.ipynb",
"public": true
}
},
"toc": {
"toc_section_display": "block",
"toc_threshold": 4,
"toc_window_display": false,
"toc_number_sections": true,
"toc_cell": true
},
"toc_position": {
"width": "246px",
"top": "120px",
"right": "20px",
"left": "1096.88px"
},
"_draft": {
"nbviewer_url": "https://gist.github.com/9b32cd1564275358ab2b"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment