国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

python+opencv邊緣提取與各函數(shù)參數(shù)解析

瀏覽:38日期:2022-08-03 11:20:44

前情提要:作為剛?cè)腴T機(jī)器視覺的小伙伴,第一節(jié)課學(xué)到機(jī)器視覺語法時(shí)覺得很難理解,

很多人家的經(jīng)驗(yàn),我發(fā)現(xiàn)都千篇一律,功能函數(shù)沒解析,參數(shù)不講解,就一個(gè)代碼,所以在此將搜集的解析和案例拿出來匯總!!!

一、opencv+python環(huán)境搭建

其實(shí)能寫python的就能寫opencv,但是工具很總要,代碼提示也很重要,你可能會用submit vs等工具,submit編碼個(gè)人覺得不夠智能,vs的話過完年我學(xué)的方向不一致,所以沒用

推薦 pycharm ,在項(xiàng)目setting中的項(xiàng)目解釋器中安裝 opencv-python 即可進(jìn)行編碼。python環(huán)境搭建也灰常方便。

二、邊緣提取案例

import cv2def edge_demo(image): #GaussianBlur圖像高斯平滑處理 blurred = cv2.GaussianBlur(image, (3, 3), 0)#(3, 3)表示高斯矩陣的長與寬都是3,意思就是每個(gè)像素點(diǎn)按3*3的矩陣在周圍取樣求平均值,,標(biāo)準(zhǔn)差取0 gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)#顏色模式轉(zhuǎn)換成cv2.COLOR_BGR2GRAY模式下的灰度圖像 edge_output = cv2.Canny(gray, 50, 150)#提取上一步中處理好的圖像邊緣,50和150分別代表低閾值和高閾值,高閾值用來將物體與背景區(qū)分開來,低的用于平滑連接高閾值產(chǎn)生的片段,使圖像成一個(gè)整體 cv2.imshow('canny edge', edge_output)#輸出灰度圖像#原圖與灰度圖像與運(yùn)算,按照灰度圖剪切加和的原圖 dst = cv2.bitwise_and(image, image, mask=edge_output) cv2.imshow('color edge', dst)#輸出帶顏色邊緣圖像if __name__ == ’__main__’: img = cv2.imread('cat.jpg') # cv2.namedWindow('input image', cv2.WINDOW_AUTOSIZE) cv2.imshow('input image', img) edge_demo(img) cv2.waitKey(0)#等待鍵盤輸入,不輸入 則無限等待 cv2.destroyAllWindows()#清除所以窗口

三、解釋功能函數(shù)

其實(shí)上面的代碼也是用的別人的,但絕大多數(shù)都沒有解釋,對于像我這種新手不是很友好

高斯處理

圖像處理中,常用的濾波算法有均值濾波、中值濾波以及高斯濾波等。

三種濾波器的對比:

濾波器種類 基本原理 特點(diǎn)

均值濾波 使用模板內(nèi)所有像素的平均值代替模板中心像素灰度值 易收到噪聲的干擾,不能完全消除噪聲,只能相對減弱噪聲

中值濾波 計(jì)算模板內(nèi)所有像素中的中值,并用所計(jì)算出來的中值體改模板中心像素的灰度值 對噪聲不是那么敏感,能夠較好的消除椒鹽噪聲,但是容易導(dǎo)致圖像的不連續(xù)性

高斯濾波 對圖像鄰域內(nèi)像素進(jìn)行平滑時(shí),鄰域內(nèi)不同位置的像素被賦予不同的權(quán)值 對圖像進(jìn)行平滑的同時(shí),同時(shí)能夠更多的保留圖像的總體灰度分布特征

意思就是使你的圖像灰度分布更均勻,每個(gè)點(diǎn)的像素均為周圍 按3*3的矩陣在周圍取樣求平均值,,標(biāo)準(zhǔn)差取0來處

blurred = cv2.GaussianBlur(image, (3, 3), 0)#GaussianBlur圖像高斯平滑處理#(3, 3)表示高斯矩陣的長與寬都是3,意思就是每個(gè)像素點(diǎn)按3*3的矩陣在周圍取樣求平均值,,標(biāo)準(zhǔn)差取0

灰度轉(zhuǎn)換----》也叫做二值化處理

故名思意就是轉(zhuǎn)換成黑白圖像,后面的參數(shù)中 cv2.COLOR_BGR2GRAY 其實(shí)就是色彩模式,所以函數(shù)名為 cvtColor(色彩模式轉(zhuǎn)換)

cvtColor()用于將圖像從一個(gè)顏色空間轉(zhuǎn)換到另一個(gè)顏色空間的轉(zhuǎn)換(目前常見的顏色空間均支持),并且在轉(zhuǎn)換的過程中能夠保證數(shù)據(jù)的類型不變, 即轉(zhuǎn)換后的圖像的數(shù)據(jù)類型和位深與源圖像一致

gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)#顏色模式轉(zhuǎn)換成cv2.COLOR_BGR2GRAY模式下的灰度圖像

邊緣識別提取

這一步是將二值化后的圖像提取邊緣,50和150分別代表低閾值和高閾值,高閾值用來將物體與背景區(qū)分開來,低的用于平滑連接高閾值產(chǎn)生的片段,使圖像成一個(gè)整體

簡明而言就是,小的用于細(xì)小的地方處理,大的宏觀處理----》大閾值用于分離背景與輪廓,曉得用于拼接細(xì)小的輪廓,即可形成一個(gè)整體

edge_output = cv2.Canny(gray, 50, 150)#提取上一步中處理好的圖像邊緣,50和150分別代表低閾值和高閾值,高閾值用來將物體與背景區(qū)分開來,低的用于平滑連接高閾值產(chǎn)生的片段,使圖像成一個(gè)整體

輸出即可,小面的函數(shù)只是對比學(xué)習(xí)而已,可以不用

(對于dst = cv2.bitwise_and(image, image, mask=edge_output) cv2.imshow('color edge', dst)#輸出帶顏色邊緣圖像

)

python+opencv邊緣提取與各函數(shù)參數(shù)解析

到此這篇關(guān)于python+opencv邊緣提取與各函數(shù)參數(shù)解析的文章就介紹到這了,更多相關(guān)python opencv邊緣提取內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 另类在线视频 | 久久久久久一级毛片免费无遮挡 | 欧美aⅴ在线| 国产欧美在线观看不卡一 | 曰韩美女一级视频 | 99精品国产成人一区二区在线 | 18性欧美69 | 一区二区三区四区视频在线观看 | 精品欧美一区二区三区在线观看 | 国产一区二区影院 | 超级碰碰碰视频视频在线视频 | 国产成人午夜 | 亚洲国产一区二区三区a毛片 | 亚洲人在线播放 | 亚洲欧美日本国产 | 国产三级视频网站 | 亚洲成a人片在线观看中 | 亚洲天堂男人网 | 一级毛片免费在线 | 美女叉开腿让男人捅 | 久久青草热 | 久久性生大片免费观看性 | aaa毛片手机在线现看 | 日韩欧美一区二区不卡看片 | 国产在线观看一区二区三区 | 国产黄网站 | 久久99国产精品一区二区 | 欧美精品国产一区二区三区 | 日韩黄在线观看免费视频 | 国产成人在线免费 | 欧美一级片网 | 精品一区二区三区视频在线观看 | 国产在线精品一区二区三区 | 国产成在线观看免费视频成本人 | 日本一区二区三区不卡视频中文字幕 | 欧美高清视频在线观看 | 免费一级毛片在线播放不收费 | 国内精品视频成人一区二区 | 国产91丝袜在线播放九色 | 久草中文在线观看 | 免费的三级网站 |