0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何進行圖像邊緣的檢測

新機器視覺 ? 來源:新機器視覺 ? 2023-06-20 15:14 ? 次閱讀

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

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

OpenCV

OpenCV(開源計算機視覺庫)是一個開源計算機視覺和機器學習軟件庫。OpenCV的構建旨在為計算機視覺應用程序提供通用的基礎結構,并加速商業(yè)產品中的機器感知。作為BSD許可的產品,OpenCV使企業(yè)可以輕松地使用和修改代碼。

參考:https://opencv.org

讓我們從安裝庫開始。

安裝庫

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

pip安裝numpy matplotlib opencv-python

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

導入cv2 導入numpy作為np 導入matplotlib.pyplot作為plt

邊緣檢測功能

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

邊緣檢測

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

了解代碼:

Canny是我們調用的使用OpenCV進行邊緣檢測的方法。

Image是函數的參數,這意味著我們將在調用函數時傳遞圖像。這樣,您可以輕松地用不同的圖像測試程序。

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

可視化

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

了解代碼:

繪圖部分需要位置數組。

然后,我們同時可視化原始圖像和邊緣檢測圖像。

cmap參數用于更改圖像的顏色。就我們而言,我們正在將它們轉換為灰色。

保存結果

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

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

選擇圖片

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

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

這是我將測試模型的示例圖像:

運行程序

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

simple_edge_detection(img)

結果如下:

6e1576e6-0c4b-11ee-962d-dac502259ad0.png6e2c94ca-0c4b-11ee-962d-dac502259ad0.png6e3fd742-0c4b-11ee-962d-dac502259ad0.png我們已經使用Python創(chuàng)建了邊緣檢測的代碼。


責任編輯:彭菁

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 邊緣檢測
    +關注

    關注

    0

    文章

    92

    瀏覽量

    18184
  • 程序
    +關注

    關注

    115

    文章

    3742

    瀏覽量

    80661
  • 代碼
    +關注

    關注

    30

    文章

    4694

    瀏覽量

    68074

原文標題:基于OpenCV的簡單邊緣檢測模型

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    基于FPGA的實時邊緣檢測系統(tǒng)設計,Sobel圖像邊緣檢測,F(xiàn)PGA圖像處理

    進行 Sobel 邊緣檢測并送入 VGA 顯示,通過獨立按鍵可以切換顯示模式和設定邊緣檢測閾值。 2
    發(fā)表于 05-24 07:45

    基于Canny邊緣檢測算子的圖像檢索算法

    ,根據向量間的Man-hanttan距離進行圖像檢索。試驗結果表明,改進的Canny算子能夠檢測到低強度的邊緣并保持邊緣清晰連貫,而且該
    發(fā)表于 04-24 10:03

    基于FPGA的嵌入式圖像邊緣檢測系統(tǒng)設計

    本帖最后由 mingzhezhang 于 2012-5-23 19:28 編輯 為了提高數字圖像的處理速度,提出了用FPGA來設計嵌入式sobel邊緣檢測系統(tǒng)的方法。構建了嵌入式邊緣
    發(fā)表于 05-23 19:16

    請問,如何進行DSP編程(C語言)實現(xiàn)圖像濾波處理,及邊緣檢測??

    請問,如何進行DSP編程(C語言)實現(xiàn)圖像濾波處理,及邊緣檢測??
    發(fā)表于 09-28 22:38

    機器視覺 --檢測圖像邊緣小程序

    機器視覺 --檢測圖像邊緣小程序
    發(fā)表于 08-23 21:35

    如何利用FPGA實現(xiàn)Laplacian圖像邊緣檢測器的研究?

    引言邊緣可定義為圖像中灰度發(fā)生急劇變化的區(qū)域邊界,它是圖像最基本的特征,是圖像分析識別前必不可少的環(huán)節(jié),是一種重要的圖像預處理技術。
    發(fā)表于 07-31 06:38

    Labview圖像處理——邊緣檢測

    。Sobel算子檢測方法對灰度漸變和噪聲較多的圖像處理效果較好,sobel算子對邊緣定位不是很準確,圖像邊緣不止一個像素;當對精度要求不是
    發(fā)表于 12-01 12:16

    基于FPGA的圖像邊緣檢測

    基于FPGA的圖像邊緣檢測 引言     圖像邊緣檢測
    發(fā)表于 01-14 11:07 ?1832次閱讀
    基于FPGA的<b class='flag-5'>圖像</b><b class='flag-5'>邊緣</b><b class='flag-5'>檢測</b>

    基于改進的Laplacian算子圖像邊緣檢測

    分析了圖像邊緣特性以及Laplacian算子檢測圖像邊緣的基本原理!并對經典Laplacian算子進行
    發(fā)表于 05-17 10:46 ?29次下載
    基于改進的Laplacian算子<b class='flag-5'>圖像</b><b class='flag-5'>邊緣</b><b class='flag-5'>檢測</b>

    超空泡圖像的自適應多尺度小波邊緣檢測

    文中采用自適應多尺度小波邊緣檢測,對超空泡圖像進行邊緣檢測。算法中首先對
    發(fā)表于 11-03 15:47 ?29次下載

    實時圖像邊緣檢測的設計及FPGA實現(xiàn)

    文中將FPGA應用于實時圖像邊緣檢測系統(tǒng),從而實現(xiàn)動態(tài)實時圖像邊緣檢測。通過搭建實驗平臺仿真驗
    發(fā)表于 12-22 17:06 ?39次下載
    實時<b class='flag-5'>圖像</b><b class='flag-5'>邊緣</b><b class='flag-5'>檢測</b>的設計及FPGA實現(xiàn)

    基于B樣條小波的圖像邊緣檢測算法

    邊緣圖像最基本的特征,邊緣檢測圖像處理中的重要內容。傳統(tǒng)的邊緣
    發(fā)表于 08-14 14:25 ?0次下載

    多尺度積圖像邊緣檢測算法

    針對邊緣檢測中存在的噪聲敏感性問題。本文根據Mallat快速小波變換算法的思想,提出用高斯函數和其一階導數分別作為低通和高通濾波器對圖像進行多尺度分析,通過非下采樣提取不同尺度上的系數
    發(fā)表于 02-28 15:46 ?1次下載

    圖像處理算法——邊緣檢測

    基于邊緣檢測的分析不易受整體光照強度變化的影響,同時利用邊緣信息容易凸顯目標信息和達到簡化處理的目的,因此很多圖像理解方法都以邊緣為基礎。
    的頭像 發(fā)表于 11-30 16:56 ?857次閱讀
    <b class='flag-5'>圖像</b>處理算法——<b class='flag-5'>邊緣</b><b class='flag-5'>檢測</b>

    圖像邊緣檢測系統(tǒng)的設計流程

    圖像邊緣檢測系統(tǒng)的設計流程是一個涉及多個步驟的復雜過程,它旨在從圖像中提取出重要的結構信息,如邊界、輪廓等。這些邊緣信息對于
    的頭像 發(fā)表于 07-17 16:39 ?241次閱讀