<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>

          利用邊緣檢測計(jì)算物體面積(內(nèi)含源碼)

          共 2435字,需瀏覽 5分鐘

           ·

          2021-11-05 09:38


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

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

          本文代碼地址:https://github.com/TimChinenov/FarmPlotter


          在農(nóng)業(yè)中,通常希望獲取不同土地的面積。雖然獲取這些土地的面積操作相對容易,但是卻涉及高額的費(fèi)用。另外,如果對于不規(guī)則形狀的土地,測量土地面積的大小就變得相對困難。


          幸運(yùn)的是,有大量以衛(wèi)星圖像的形式公開提供的農(nóng)場土地?cái)?shù)據(jù)。如下圖所示就是得到的土地的圖片。根據(jù)這樣的圖片,應(yīng)用圖像處理算法,就可以計(jì)算得到每塊土地的面積。

          我們可以使用導(dǎo)數(shù)濾波器,因?yàn)樗坪跖c人類如何區(qū)分土地或地塊的方式相匹配。當(dāng)我們觀察物體時(shí),我們使用對比度和陰影來確定物體的形狀,種類。類似地,可以使用導(dǎo)數(shù)濾波器來尋找對比區(qū)域。如果像素值與其周圍像素之間的差大于閾值,則將其標(biāo)記為1,否則標(biāo)記為0。這將創(chuàng)建一個(gè)具有選定原始圖像邊緣的二進(jìn)制圖像。


          原始圖像中存在大量噪點(diǎn)和細(xì)節(jié),這可能會(huì)降低算法的成功率。建議在應(yīng)用導(dǎo)數(shù)濾波器操作之前,對圖像進(jìn)行模糊濾波去除噪聲。我們可以使用任意的模糊濾波器完成圖像去噪。由于我們主要目的是消除噪聲和微小的細(xì)節(jié),同時(shí)保留繪圖的顏色以用于對比,因此我們使用了4x4的中值濾波器。之后對圖像進(jìn)行灰度化,得到灰度圖像以便后續(xù)進(jìn)行邊緣檢測。具體結(jié)果如下圖所示。

          之后嘗試了三種邊緣檢測方法以找到最佳結(jié)果。


          第一種邊緣檢測濾波器是Sobel濾波器。該濾波器在圖像的每個(gè)像素上執(zhí)行梯度檢測。內(nèi)置的Matlab、opencv函數(shù)可在水平和垂直方向上執(zhí)行操作,并將結(jié)果組合在一起。具體結(jié)果如下所示。

          通過結(jié)果可以知道生成的圖像幾乎沒有噪點(diǎn)。但是,不幸的是將濾波后的圖像與原始圖像進(jìn)行比較,可以看出,地塊之間的許多分隔線沒有被很好地拾取。在農(nóng)田的顏色與相鄰地塊差異不大的地區(qū)尤其如此。


          第二種邊緣檢測方法是Canny過濾器。濾波結(jié)果在下面給出,從Canny濾波結(jié)果可以看出Canny濾波器檢測了了更多的邊緣。但是同樣存在缺點(diǎn),這種方式會(huì)產(chǎn)生更多的噪聲。考慮到Canny算法將通過幅度閾值函數(shù)的像素與通過稍低閾值函數(shù)的相鄰像素合并,這是可以預(yù)期的。Canny算法比簡單的Sobel濾波器更為復(fù)雜。它還取決于事先要進(jìn)行的高斯平滑。使用中值濾波器可能會(huì)阻止最佳結(jié)果。

          第三種濾波器是高斯濾波器的拉普拉斯算子。該濾波器提取的結(jié)果如下圖所示。

          通過結(jié)果我們可以發(fā)現(xiàn),無論我們使用什么過濾器,都可以看到大多數(shù)突出的道路都被檢測到了。但是,農(nóng)田內(nèi)部的小區(qū)域和靠近道路的房屋是否產(chǎn)生的噪聲取決于我們選取的濾波器種類。農(nóng)田圖像的這一特征使其非常適合高斯濾波器的拉普拉斯算子。查看測試結(jié)果,可以得出一個(gè)比較理想的結(jié)果。找到的道路數(shù)量最多,噪音最小。


          為了進(jìn)一步去除圖像中的噪聲,去除總像素面積小于平均像素面積值的所有白色區(qū)域。這個(gè)閾值是我們經(jīng)過多次試驗(yàn)得到的一個(gè)經(jīng)驗(yàn)值。小伙伴也可以嘗試其他的閾值。


          之后對圖像進(jìn)行反轉(zhuǎn),得到田地的區(qū)域。之后對這個(gè)結(jié)果進(jìn)行尺寸位4的膨脹運(yùn)算,結(jié)果如下圖所示。

          有了這個(gè)圖像,計(jì)算每個(gè)土地的面積就很簡單了。Matlab(或OpenCV)的regionprop函數(shù)可用于查找每個(gè)區(qū)域的面積。仍有少量田地不是真正的田地,有些是道路或其他細(xì)節(jié)。為了減輕這些面積,我們只計(jì)算面積大于平均值減去一個(gè)標(biāo)準(zhǔn)偏差的區(qū)域。


          然后為每個(gè)區(qū)上色,并在其位置打印其像素尺寸。結(jié)果可以在下圖中看到。打印的尺寸是該區(qū)域中像素的數(shù)值。除非像素和圖像尺寸之間存在已知比例,否則這些值將毫無用處。但是,我們知道衛(wèi)星圖(例如Google Maps)往往帶有刻度,這就位像素?cái)?shù)值提供了意義。


          結(jié)果還是比較滿意。該應(yīng)用程序能夠?qū)⒋蠖鄶?shù)地塊分成自己的特定區(qū)域。但是,有一些例外。例如,像素值47,680的大橙色部分將兩個(gè)區(qū)域融合在一起。這可以通過使用膨脹值來解決。要考慮的另一項(xiàng)內(nèi)容是,道路的擴(kuò)張確實(shí)侵蝕了農(nóng)場的像素區(qū)域。為了獲得更準(zhǔn)確的農(nóng)場價(jià)值,可能需要將這種侵蝕的結(jié)果添加到農(nóng)場的總面積中。感興趣的小伙伴可以自行實(shí)現(xiàn)。


          接下倆給出另一個(gè)示例結(jié)果



          原文地址:https://towardsdatascience.com/finding-land-area-of-farm-plots-using-edge-detection-5b070cc05c5a

          作者:Tim Chin


          下載1:OpenCV-Contrib擴(kuò)展模塊中文版教程
          在「小白學(xué)視覺」公眾號(hào)后臺(tái)回復(fù):擴(kuò)展模塊中文教程即可下載全網(wǎng)第一份OpenCV擴(kuò)展模塊教程中文版,涵蓋擴(kuò)展模塊安裝、SFM算法、立體視覺、目標(biāo)跟蹤、生物視覺、超分辨率處理等二十多章內(nèi)容。

          下載2:Python視覺實(shí)戰(zhàn)項(xiàng)目52講
          小白學(xué)視覺公眾號(hào)后臺(tái)回復(fù):Python視覺實(shí)戰(zhàn)項(xiàng)目即可下載包括圖像分割、口罩檢測、車道線檢測、車輛計(jì)數(shù)、添加眼線、車牌識(shí)別、字符識(shí)別、情緒檢測、文本內(nèi)容提取、面部識(shí)別等31個(gè)視覺實(shí)戰(zhàn)項(xiàng)目,助力快速學(xué)校計(jì)算機(jī)視覺。

          下載3:OpenCV實(shí)戰(zhàn)項(xiàng)目20講
          小白學(xué)視覺公眾號(hào)后臺(tái)回復(fù):OpenCV實(shí)戰(zhàn)項(xiàng)目20講即可下載含有20個(gè)基于OpenCV實(shí)現(xiàn)20個(gè)實(shí)戰(zhàn)項(xiàng)目,實(shí)現(xiàn)OpenCV學(xué)習(xí)進(jìn)階。

          交流群


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


          瀏覽 47
          點(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>
                  大香蕉啪啪啪啪 | 欧美日韩国产91 | 精品国自产在线偷拍无码视频 | 成人久久 挤奶 | 在线视频观看三区 |