Computer_Vision/Chapter18/detecting_lanes_in_the_imag...

527 KiB
Raw Permalink Blame History

Open In Colab

!wget https://www.dropbox.com/s/vgd22go8a6k721t/road_image.png
--2020-10-05 17:11:28--  https://www.dropbox.com/s/vgd22go8a6k721t/road_image.png
Resolving www.dropbox.com (www.dropbox.com)... 162.125.9.1, 2620:100:601d:1::a27d:501
Connecting to www.dropbox.com (www.dropbox.com)|162.125.9.1|:443... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: /s/raw/vgd22go8a6k721t/road_image.png [following]
--2020-10-05 17:11:29--  https://www.dropbox.com/s/raw/vgd22go8a6k721t/road_image.png
Reusing existing connection to www.dropbox.com:443.
HTTP request sent, awaiting response... 302 Found
Location: https://ucf145594d0280419127c347de41.dl.dropboxusercontent.com/cd/0/inline/BAspiWKFI1iwzcOvDUuAPzYC2BCDMeSMTcfG75YdsfJRG7ugn_lq6JpnTUwL8Ru40q0FWI3w3U8t8MLgu6in-_qZ_KKEaThWkGkbRZCCuEV--RroiMHHkph3hhfhJ-LtN80/file# [following]
--2020-10-05 17:11:29--  https://ucf145594d0280419127c347de41.dl.dropboxusercontent.com/cd/0/inline/BAspiWKFI1iwzcOvDUuAPzYC2BCDMeSMTcfG75YdsfJRG7ugn_lq6JpnTUwL8Ru40q0FWI3w3U8t8MLgu6in-_qZ_KKEaThWkGkbRZCCuEV--RroiMHHkph3hhfhJ-LtN80/file
Resolving ucf145594d0280419127c347de41.dl.dropboxusercontent.com (ucf145594d0280419127c347de41.dl.dropboxusercontent.com)... 162.125.5.15, 2620:100:601f:15::a27d:90f
Connecting to ucf145594d0280419127c347de41.dl.dropboxusercontent.com (ucf145594d0280419127c347de41.dl.dropboxusercontent.com)|162.125.5.15|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 608479 (594K) [image/png]
Saving to: road_image.png

road_image.png      100%[===================>] 594.22K  --.-KB/s    in 0.1s    

2020-10-05 17:11:30 (4.37 MB/s) - road_image.png saved [608479/608479]

!pip install torch_snippets
from torch_snippets import show, read, subplots, cv2, np
IMG = read('road_image.png')
img = np.uint8(IMG.copy())
Collecting torch_snippets
  Downloading https://files.pythonhosted.org/packages/d6/56/1093531de48ccc64410a480def65c386d18c981cfac21e7e3f92c9496352/torch_snippets-0.228-py3-none-any.whl
Requirement already satisfied: tqdm in /usr/local/lib/python3.6/dist-packages (from torch_snippets) (4.41.1)
Requirement already satisfied: matplotlib in /usr/local/lib/python3.6/dist-packages (from torch_snippets) (3.2.2)
Requirement already satisfied: Pillow in /usr/local/lib/python3.6/dist-packages (from torch_snippets) (7.0.0)
Requirement already satisfied: dill in /usr/local/lib/python3.6/dist-packages (from torch_snippets) (0.3.2)
Requirement already satisfied: numpy in /usr/local/lib/python3.6/dist-packages (from torch_snippets) (1.18.5)
Requirement already satisfied: pandas in /usr/local/lib/python3.6/dist-packages (from torch_snippets) (1.1.2)
Collecting opencv-python-headless
[?25l  Downloading https://files.pythonhosted.org/packages/e2/e2/6670da2b12544858657058a5db2f088a18c56d0144bef8d178ad4734b7a3/opencv_python_headless-4.4.0.44-cp36-cp36m-manylinux2014_x86_64.whl (36.7MB)
     |████████████████████████████████| 36.7MB 1.3MB/s 
[?25hCollecting loguru
[?25l  Downloading https://files.pythonhosted.org/packages/6d/48/0a7d5847e3de329f1d0134baf707b689700b53bd3066a5a8cfd94b3c9fc8/loguru-0.5.3-py3-none-any.whl (57kB)
     |████████████████████████████████| 61kB 7.5MB/s 
[?25hRequirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in /usr/local/lib/python3.6/dist-packages (from matplotlib->torch_snippets) (2.4.7)
Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.6/dist-packages (from matplotlib->torch_snippets) (0.10.0)
Requirement already satisfied: python-dateutil>=2.1 in /usr/local/lib/python3.6/dist-packages (from matplotlib->torch_snippets) (2.8.1)
Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.6/dist-packages (from matplotlib->torch_snippets) (1.2.0)
Requirement already satisfied: pytz>=2017.2 in /usr/local/lib/python3.6/dist-packages (from pandas->torch_snippets) (2018.9)
Collecting aiocontextvars>=0.2.0; python_version < "3.7"
  Downloading https://files.pythonhosted.org/packages/db/c1/7a723e8d988de0a2e623927396e54b6831b68cb80dce468c945b849a9385/aiocontextvars-0.2.2-py2.py3-none-any.whl
Requirement already satisfied: six in /usr/local/lib/python3.6/dist-packages (from cycler>=0.10->matplotlib->torch_snippets) (1.15.0)
Collecting contextvars==2.4; python_version < "3.7"
  Downloading https://files.pythonhosted.org/packages/83/96/55b82d9f13763be9d672622e1b8106c85acb83edd7cc2fa5bc67cd9877e9/contextvars-2.4.tar.gz
Collecting immutables>=0.9
[?25l  Downloading https://files.pythonhosted.org/packages/99/e0/ea6fd4697120327d26773b5a84853f897a68e33d3f9376b00a8ff96e4f63/immutables-0.14-cp36-cp36m-manylinux1_x86_64.whl (98kB)
     |████████████████████████████████| 102kB 10.1MB/s 
[?25hBuilding wheels for collected packages: contextvars
  Building wheel for contextvars (setup.py) ... [?25l[?25hdone
  Created wheel for contextvars: filename=contextvars-2.4-cp36-none-any.whl size=7666 sha256=32c30333044efc81f5216fc3900c6fda42644cc5ac348068ad26a29e56745408
  Stored in directory: /root/.cache/pip/wheels/a5/7d/68/1ebae2668bda2228686e3c1cf16f2c2384cea6e9334ad5f6de
Successfully built contextvars
Installing collected packages: opencv-python-headless, immutables, contextvars, aiocontextvars, loguru, torch-snippets
Successfully installed aiocontextvars-0.2.2 contextvars-2.4 immutables-0.14 loguru-0.5.3 opencv-python-headless-4.4.0.44 torch-snippets-0.228
edges = cv2.Canny(img,50,150)
show(edges)
lines = cv2.HoughLines(edges,1,np.pi/180,150)
lines = lines[:,0,:]
for rho,theta in lines:
    a = np.cos(theta)
    b = np.sin(theta)
    x0 = a*rho
    y0 = b*rho
    x1 = int(x0 + 10000*(-b))
    y1 = int(y0 + 10000*(a))
    x2 = int(x0 - 10000*(-b))
    y2 = int(y0 - 10000*(a))
    cv2.line(img,(x1,y1),(x2,y2),(0,0,255),2)

show(img)