<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          基于OpenCV的簡(jiǎn)單邊緣檢測(cè)模型

          共 1852字,需瀏覽 4分鐘

           ·

          2020-11-28 12:03

          點(diǎn)擊上方小白學(xué)視覺(jué)”,選擇加"星標(biāo)"或“置頂

          重磅干貨,第一時(shí)間送達(dá)



          本期我們一起看看如何進(jìn)行圖像邊緣的檢測(cè)。邊緣檢測(cè)通常用于理解圖像中的對(duì)象,幫助機(jī)器做出更好的預(yù)測(cè)。編寫(xiě)邊緣檢測(cè)程序是了解機(jī)器如何看待外界的好方法?,F(xiàn)在就讓我們使用python進(jìn)行邊緣檢測(cè)吧。

          我們將為該項(xiàng)目使用兩個(gè)主要模塊:Numpy,Matplotlib和OpenCV。Matplotlib是一個(gè)完整的庫(kù),用于在Python中生成靜態(tài),動(dòng)畫(huà)和交互式可視化。OpenCV是一個(gè)高度優(yōu)化的庫(kù),專(zhuān)注于實(shí)時(shí)應(yīng)用程序。

          OpenCV

          OpenCV(開(kāi)源計(jì)算機(jī)視覺(jué)庫(kù))是一個(gè)開(kāi)源計(jì)算機(jī)視覺(jué)和機(jī)器學(xué)習(xí)軟件庫(kù)。OpenCV的構(gòu)建旨在為計(jì)算機(jī)視覺(jué)應(yīng)用程序提供通用的基礎(chǔ)結(jié)構(gòu),并加速商業(yè)產(chǎn)品中的機(jī)器感知。作為BSD許可的產(chǎn)品,OpenCV使企業(yè)可以輕松地使用和修改代碼。

          參考:https?:?//opencv.org

          讓我們從安裝庫(kù)開(kāi)始。

          安裝庫(kù)

          我們必須安裝庫(kù),以便我們的程序正常運(yùn)行。如前所述,我們將只需要兩個(gè)庫(kù)。使用PIP庫(kù)管理器將它們安裝在一行中:

          pip安裝numpy matplotlib opencv-python

          安裝過(guò)程完成后,我們可以將它們導(dǎo)入到我們的代碼中。我們將使用Atom文本編輯器完成。

          導(dǎo)入cv2
          導(dǎo)入numpy作為np
          導(dǎo)入matplotlib.pyplot作為plt

          邊緣檢測(cè)功能

          現(xiàn)在,我們可以轉(zhuǎn)到有趣的部分,在這里我們將編寫(xiě)邊緣檢測(cè)功能。您會(huì)驚訝于使用OpenCV軟件包如此簡(jiǎn)單。此OpenCV檢測(cè)模型也稱(chēng)為Canny邊緣檢測(cè)模型。我們的功能包括三個(gè)部分:邊緣檢測(cè),可視化,最后保存結(jié)果。

          邊緣檢測(cè)

          def simple_edge_detection(image):
          ? edgesdetected = cv2.Canny(image,100,200)
          ? images = [image,edgesdetected]

          了解代碼:

          1. Canny是我們調(diào)用的使用OpenCV進(jìn)行邊緣檢測(cè)的方法。

          2. Image是函數(shù)的參數(shù),這意味著我們將在調(diào)用函數(shù)時(shí)傳遞圖像。這樣,您可以輕松地用不同的圖像測(cè)試程序。

          3. 100和200是磁滯閾值的最小值和最大值。

          可視化

          location = [121,122]
          對(duì)于loc,zip中的edge_image(位置,圖片):
          ? plt.subplot(loc)
          ? plt.imshow(edge_image,cmap ='gray')

          了解代碼:

          1. 繪圖部分需要位置數(shù)組。

          2. 然后,我們同時(shí)可視化原始圖像和邊緣檢測(cè)圖像。

          3. cmap參數(shù)用于更改圖像的顏色。就我們而言,我們正在將它們轉(zhuǎn)換為灰色。

          保存結(jié)果

          該功能的最后一部分將保存邊緣檢測(cè)圖像和比較圖。OpenCv和Matplotlib軟件包;imwritesavefig函數(shù)都為我們提供了這個(gè)功能。在最后一行中,show函數(shù)可以向我們顯示創(chuàng)建的圖。

          cv2.imwrite('edge_detected.png',edgesdetected)plt.savefig('edge_plot.png')plt.show()

          選擇圖片

          我們要找到一張測(cè)試Canny Edge檢測(cè)程序的圖像。下載圖像后,請(qǐng)確保將它們放入與項(xiàng)目相同的文件夾中。這將有助于輕松地將它們導(dǎo)入程序。讓我們定義一個(gè)圖像變量并導(dǎo)入圖像。這是使用OpenCV讀取圖像的方法:

          img = cv2.imread('test_image.jpg',0)

          這是我將測(cè)試模型的示例圖像:

          運(yùn)行程序

          是時(shí)候運(yùn)行程序了。到目前為止,沒(méi)有任何東西可以觸發(fā)該功能。我們必須調(diào)用函數(shù)也不要忘記將圖像作為參數(shù)傳遞進(jìn)去:

          simple_edge_detection(img)

          結(jié)果如下:

          我們已經(jīng)使用Python創(chuàng)建了邊緣檢測(cè)的代碼。


          交流群


          歡迎加入公眾號(hào)讀者群一起和同行交流,目前有SLAM、三維視覺(jué)、傳感器、自動(dòng)駕駛、計(jì)算攝影、檢測(cè)、分割、識(shí)別、醫(yī)學(xué)影像、GAN算法競(jìng)賽等微信群(以后會(huì)逐漸細(xì)分),請(qǐng)掃描下面微信號(hào)加群,備注:”昵稱(chēng)+學(xué)校/公司+研究方向“,例如:”張三?+?上海交大?+?視覺(jué)SLAM“。請(qǐng)按照格式備注,否則不予通過(guò)。添加成功后會(huì)根據(jù)研究方向邀請(qǐng)進(jìn)入相關(guān)微信群。請(qǐng)勿在群內(nèi)發(fā)送廣告,否則會(huì)請(qǐng)出群,謝謝理解~


          瀏覽 60
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  免费黄色一极片 | 人人人人操人人人人精品 | 亚洲成人综合视频 | 啊啊啊操B视频在线观看 | 无码h|