Python?計(jì)算機(jī)視覺(jué)編程進(jìn)階之OpenCV?圖像銳化及邊緣檢測(cè)
參考的一些文章以及論文我都會(huì)給大家分享出來(lái) —— 鏈接就貼在原文,論文我上傳到資源中去,大家可以免費(fèi)下載學(xué)習(xí),如果當(dāng)天資源區(qū)找不到論文,那就等等,可能正在審核,審核完后就可以下載了。大家一起學(xué)習(xí),一起進(jìn)步!加油?。?/p>
前言
(1)圖像銳化
前一篇文章中我們進(jìn)行了對(duì)圖像的噪聲的濾除操作,使用的手段是進(jìn)行圖像平滑,我們提到圖像平滑是將圖像中的高頻部分進(jìn)行濾除,然而圖像中的高頻部分則是主要決定了圖像的一些細(xì)節(jié)部分,因此濾除高頻部分就代表著圖像會(huì)變得模糊,這對(duì)與圖像的處理來(lái)說(shuō)不太友好,所以我們要適當(dāng)對(duì)平滑后的圖像進(jìn)行銳化操作,使得圖像的一些邊緣部分變得更加清晰,便于我們觀察圖像的信息。
(2)圖像邊緣檢測(cè)
a. 圖像邊緣
圖像的大部分信息都存在于圖像的邊緣中 ,主要表現(xiàn)為圖像局部特征的不連續(xù)性,即圖像中灰度變化比較劇烈的地方。因此 ,我們把圖像的邊緣定義為圖像中灰度發(fā)生急劇變化的區(qū)域邊界。根據(jù)灰度變化的劇烈程度, 通常將邊緣劃分為階躍狀和屋頂狀兩種類型。階躍邊緣兩邊的灰度值變化明顯,而屋頂邊緣位于灰度值增加與減少的交界處。
b. 邊緣檢測(cè)
邊緣檢測(cè)的目的是去發(fā)現(xiàn)圖像中關(guān)于形狀和反射或透射比的信息, 是圖像處理、圖像分析、模式識(shí)別、計(jì)算機(jī)視覺(jué)以及人類視覺(jué)的基本步驟之一。 其結(jié)果的正確性和可靠性將直接影響到機(jī)器視覺(jué)系統(tǒng)對(duì)客觀世界的理解。
本篇文章主要進(jìn)行 Python 實(shí)際操作,不進(jìn)行一些概念的解釋和數(shù)學(xué)推導(dǎo),以后有時(shí)間專門(mén)出一篇特別篇進(jìn)行概念解釋。
1. 一階微分算算子、二階微分算子
前面我們提到,圖像邊緣分為階躍狀和屋頂狀兩種類型,其中階躍邊緣兩邊的灰度值變化明顯,而屋頂邊緣位于灰度值增加與減少的交界處。
那么, 對(duì)階躍邊緣和屋頂邊緣分別求取一階、二階導(dǎo)數(shù)就可以表示邊緣點(diǎn)的變化。即對(duì)于一個(gè)階躍邊緣點(diǎn),其灰度變化曲線的一階導(dǎo)數(shù)在該點(diǎn)達(dá)到極大值, 二階導(dǎo)數(shù)在該點(diǎn)與零交叉(一階導(dǎo)數(shù)與二階導(dǎo)數(shù)的意義);對(duì)于一個(gè)屋頂邊緣點(diǎn),其灰度變化曲線的一階導(dǎo)數(shù)在該點(diǎn)與零交叉(因?yàn)樵擖c(diǎn)為一個(gè)局部最大值點(diǎn));二階導(dǎo)數(shù)在該點(diǎn)達(dá)到極大值。
2. 讀取圖像信息
在我們這個(gè)計(jì)算機(jī)視覺(jué)的專欄文章里第一步永遠(yuǎn)是經(jīng)典的讀取圖像信息,而且是美女圖像信息:
"""
Author:XiaoMa
date:2021/10/29
"""
import cv2
import matplotlib.pyplot as plt
#讀取圖像信息
img0 = cv2.imread("E:\From Zhihu\For the desk\cvten2.jpg")
img1 = cv2.resize(img0, dsize = None, fx = 0.5, fy = 0.5)
img2 = cv2.cvtColor(img1, cv2.COLOR_BGR2GRAY)
cv2.imwrite("E:\From Zhihu\For the desk\cvtenGray.jpg", img2) #保存灰度圖
h, w = img1.shape[:2]
print(h, w)
cv2.namedWindow("W0")
cv2.imshow("W0", img1)
cv2.waitKey(delay = 0)
得到圖像信息如下:

395 702
我們接下來(lái)要做的就是對(duì)圖像進(jìn)行邊緣檢測(cè)
3. Sobel 算子
#Sobel 算子
img3 = cv2.Sobel (img2, cv2.CV_64F, 0, 1, ksize=5)
cv2.namedWindow("W3")
cv2.imshow("W3", img3)
cv2.waitKey(delay = 0)

4. Laplacian 算子
#Laplacian 算子
img7 = cv2.Laplacian(img2, cv2.CV_64F)
cv2.namedWindow("W7")
cv2.imshow("W7", img7)
cv2.waitKey(delay = 0)

5. Scharr 算子
#Scharr 算子
img9 = cv2.Scharr(img2, cv2.CV_64F, 0, 1)
cv2.namedWindow("W9")
cv2.imshow("W9", img9)
cv2.waitKey(delay = 0)

6. Canny 算子
#canny 算子
img4 = cv2.Canny(img2, 100, 200)
cv2.namedWindow("W4")
cv2.imshow("W4", img4)
cv2.waitKey(delay = 0)

7. 總結(jié)
這天時(shí)間比較緊,這篇博文在介紹圖像的銳化以及邊緣檢測(cè)時(shí)沒(méi)有涉及到過(guò)多的理論知識(shí)以及概念公式等,后面閑下來(lái)會(huì)加以補(bǔ)充或者專門(mén)寫(xiě)一篇總結(jié)理論知識(shí)的文章,希望能幫到大家。參考論文按照慣例貼在下面。
8. 參考論文





到此這篇關(guān)于Python 計(jì)算機(jī)視覺(jué)編程進(jìn)階之OpenCV 圖像銳化及邊緣檢測(cè)的文章就介紹到這了,更多相關(guān)Python OpenCV 圖像銳化內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- python計(jì)算機(jī)視覺(jué)OpenCV庫(kù)實(shí)現(xiàn)實(shí)時(shí)攝像頭人臉檢測(cè)示例
- python計(jì)算機(jī)視覺(jué)opencv卡號(hào)識(shí)別示例詳解
- python計(jì)算機(jī)視覺(jué)opencv圖像金字塔輪廓及模板匹配
- Python 計(jì)算機(jī)視覺(jué)編程進(jìn)階之OpenCV 進(jìn)行霍夫變換
- python計(jì)算機(jī)視覺(jué)opencv矩形輪廓頂點(diǎn)位置確定
- python計(jì)算機(jī)視覺(jué)OpenCV入門(mén)講解
相關(guān)文章
Python cookbook(數(shù)據(jù)結(jié)構(gòu)與算法)從序列中移除重復(fù)項(xiàng)且保持元素間順序不變的方法
這篇文章主要介紹了Python cookbook(數(shù)據(jù)結(jié)構(gòu)與算法)從序列中移除重復(fù)項(xiàng)且保持元素間順序不變的方法,涉及Python針對(duì)列表與字典的元素遍歷、判斷、去重、排序等相關(guān)操作技巧,需要的朋友可以參考下2018-03-03
python基于Opencv實(shí)現(xiàn)人臉口罩檢測(cè)
最近嘗試做一個(gè)python基于Opencv實(shí)現(xiàn)人臉口罩檢測(cè),記錄一下過(guò)程,稍微整理精簡(jiǎn)一下做下分享,需要的小伙伴可以參考下2021-06-06
Python基于twisted實(shí)現(xiàn)簡(jiǎn)單的web服務(wù)器
這篇文章主要介紹了Python基于twisted實(shí)現(xiàn)簡(jiǎn)單的web服務(wù)器,可模擬出簡(jiǎn)單的web服務(wù)器功能,是很實(shí)用的技巧,需要的朋友可以參考下2014-09-09
詳解Python+Pyecharts實(shí)現(xiàn)漏斗圖的繪制
漏斗圖是一個(gè)簡(jiǎn)單的散點(diǎn)圖,反映研究在一定樣本量或精確性下單個(gè)研究的干預(yù)效應(yīng)估計(jì)值。本文將用Python Pyecharts實(shí)現(xiàn)漏斗圖的繪制,需要的可以參考一下2022-06-06
基于Google的Python編碼規(guī)范標(biāo)準(zhǔn)
這篇文章主要介紹了基于Google的Python編碼規(guī)范標(biāo)準(zhǔn),其中包含了分號(hào),行長(zhǎng)度,括號(hào),縮進(jìn),空行,空格等基本符號(hào)的使用規(guī)則,有需要的朋友可以參考下2021-08-08
Python視頻剪輯合并操作的實(shí)現(xiàn)示例
很多人在創(chuàng)作視頻時(shí)都需要進(jìn)行剪輯,本文主要介紹了Python視頻剪輯合并操作的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-01-01

