欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python+OpenCV 圖像邊緣檢測四種實現(xiàn)方法

 更新時間:2021年11月26日 09:07:12   投稿:newname  
本文主要介紹了通過OpenCV中Sobel算子、Schaar算子、Laplacian算子以及Canny分別實現(xiàn)圖像邊緣檢測并總結(jié)了四者的優(yōu)缺點(diǎn),感興趣的同學(xué)可以參考一下
import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt
# 設(shè)置兼容中文
plt.rcParams['font.family'] = ['sans-serif']
plt.rcParams['font.sans-serif'] = ['SimHei']
D:\Anaconda\AZWZ\lib\site-packages\numpy\_distributor_init.py:30: UserWarning: loaded more than 1 DLL from .libs:
D:\Anaconda\AZWZ\lib\site-packages\numpy\.libs\libopenblas.NOIJJG62EMASZI6NYURL6JBKM4EVBGM7.gfortran-win_amd64.dll
D:\Anaconda\AZWZ\lib\site-packages\numpy\.libs\libopenblas.WCDJNK7YVMPZQ2ME2ZZHJJRJ3JIKNDB7.gfortran-win_amd64.dll
  warnings.warn("loaded more than 1 DLL from .libs:\n%s" %
horse = cv.imread('img/horse.jpg',0)
plt.imshow(horse,cmap=plt.cm.gray)
plt.imshow(horse,cmap=plt.cm.gray)

1.Sobel算子

# 1,0 代表沿x方向做sobel算子
x = cv.Sobel(horse,cv.CV_16S,1,0)
# 0,1 代表沿y方向做sobel算子
y = cv.Sobel(horse,cv.CV_16S,0,1)
# 格式轉(zhuǎn)換
absx = cv.convertScaleAbs(x)
absy = cv.convertScaleAbs(y)
# 邊緣檢測結(jié)果
res = cv.addWeighted(absx,0.5,absy,0.5,0)
plt.figure(figsize=(20,20))
plt.subplot(1,2,1)
m1 = plt.imshow(horse,cmap=plt.cm.gray)
plt.title("原圖")
plt.subplot(1,2,2)
m2 = plt.imshow(res,cmap=plt.cm.gray)
plt.title("Sobel算子邊緣檢測")
Text(0.5, 1.0, 'Sobel算子邊緣檢測')

2.Schaar算子(更能體現(xiàn)細(xì)節(jié))

# 1,0 代表沿x方向做sobel算子
x = cv.Sobel(horse,cv.CV_16S,1,0,ksize=-1)
# 0,1 代表沿y方向做sobel算子
y = cv.Sobel(horse,cv.CV_16S,0,1,ksize=-1)
# 格式轉(zhuǎn)換
absx = cv.convertScaleAbs(x)
absy = cv.convertScaleAbs(y)
# 邊緣檢測結(jié)果
res = cv.addWeighted(absx,0.5,absy,0.5,0)
plt.figure(figsize=(20,20))
plt.subplot(1,2,1)
m1 = plt.imshow(horse,cmap=plt.cm.gray)
plt.title("原圖")
plt.subplot(1,2,2)
m2 = plt.imshow(res,cmap=plt.cm.gray)
plt.title("Schaar算子邊緣檢測")
Text(0.5, 1.0, 'Schaar算子邊緣檢測')

3.Laplacian算子(基于零穿越的,二階導(dǎo)數(shù)的0值點(diǎn))

res = cv.Laplacian(horse,cv.CV_16S)
res = cv.convertScaleAbs(res)
plt.figure(figsize=(20,20))
plt.subplot(1,2,1)
m1 = plt.imshow(horse,cmap=plt.cm.gray)
plt.title("原圖")
plt.subplot(1,2,2)
m2 = plt.imshow(res,cmap=plt.cm.gray)
plt.title("Laplacian算子邊緣檢測")
Text(0.5, 1.0, 'Laplacian算子邊緣檢測')

4.Canny邊緣檢測(被認(rèn)為是最優(yōu)的邊緣檢測算法)

res = cv.Canny(horse,0,100)
# res = cv.convertScaleAbs(res) Canny邊緣檢測是一種二值檢測,不需要轉(zhuǎn)換格式這一個步驟
plt.figure(figsize=(20,20))
plt.subplot(1,2,1)
m1 = plt.imshow(horse,cmap=plt.cm.gray)
plt.title("原圖")
plt.subplot(1,2,2)
m2 = plt.imshow(res,cmap=plt.cm.gray)
plt.title("Canny邊緣檢測")
Text(0.5, 1.0, 'Canny邊緣檢測')

總結(jié)

以上就是Python+OpenCV 圖像邊緣檢測四種實現(xiàn)方法的詳細(xì)內(nèi)容,更多關(guān)于Python OpenCV圖像邊緣檢測的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Pycharm中配置Anaconda解釋器的完整步驟

    Pycharm中配置Anaconda解釋器的完整步驟

    Anaconda是Python的一個發(fā)行版本,集成了大量插件,在用PyCharm進(jìn)行開發(fā)時,可以選用Anaconda執(zhí)行環(huán)境,下面這篇文章主要給大家介紹了關(guān)于Pycharm中配置Anaconda解釋器的完整步驟,需要的朋友可以參考下
    2022-11-11
  • Python深度學(xué)習(xí)之圖像標(biāo)簽標(biāo)注軟件labelme詳解

    Python深度學(xué)習(xí)之圖像標(biāo)簽標(biāo)注軟件labelme詳解

    這篇文章主要介紹了Python深度學(xué)習(xí)之圖像標(biāo)簽標(biāo)注軟件labelme詳解,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)python的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • Python探索之pLSA實現(xiàn)代碼

    Python探索之pLSA實現(xiàn)代碼

    偶然看到了pLSA模型這個東東,不懂,于是找了找資料,這里分享給大家一段代碼,幫助理解吧。不好的地方還請多多指教。
    2017-10-10
  • Django實現(xiàn)跨域的2種方法

    Django實現(xiàn)跨域的2種方法

    這篇文章主要介紹了Django實現(xiàn)跨域的2中方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07
  • TensorFlow自定義模型保存加載和分布式訓(xùn)練

    TensorFlow自定義模型保存加載和分布式訓(xùn)練

    本篇文章將涵蓋 TensorFlow 的高級應(yīng)用,包括如何自定義模型的保存和加載過程,以及如何進(jìn)行分布式訓(xùn)練,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • python目錄操作之python遍歷文件夾后將結(jié)果存儲為xml

    python目錄操作之python遍歷文件夾后將結(jié)果存儲為xml

    需求是獲取服務(wù)器某個目錄下的某些類型的文件,考慮到服務(wù)器即有Linux、又有Windows,所以寫了一個Python小程序來完成這項工作,大家參考使用吧
    2014-01-01
  • 深入理解Python虛擬機(jī)中整型(int)的實現(xiàn)原理及源碼剖析

    深入理解Python虛擬機(jī)中整型(int)的實現(xiàn)原理及源碼剖析

    在本篇文章當(dāng)中主要給大家介紹在 cpython 內(nèi)部是如何實現(xiàn)整型數(shù)據(jù) int 的,主要是分析 int 類型的表示方式,分析 int 類型的巧妙設(shè)計
    2023-03-03
  • python 圖像增強(qiáng)算法實現(xiàn)詳解

    python 圖像增強(qiáng)算法實現(xiàn)詳解

    這篇文章主要介紹了python 圖像增強(qiáng)算法實現(xiàn)詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Python 用三行代碼提取PDF表格數(shù)據(jù)

    Python 用三行代碼提取PDF表格數(shù)據(jù)

    這篇文章主要介紹了Python 用三行代碼提取PDF表格數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • 一篇文章帶你了解python中的typing模塊和類型注解

    一篇文章帶你了解python中的typing模塊和類型注解

    這篇文章主要為大家詳細(xì)介紹了python中的類型注解,使用typing模塊,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02

最新評論