亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

深入學(xué)習(xí)Python+Opencv常用四種圖像處理操作

 更新時(shí)間:2021年11月29日 15:27:26   作者:Rainbowman 0  
本文主要介紹了深入學(xué)習(xí)Pytho+OpenCV實(shí)現(xiàn)的基本圖像處理操作,例如:改變圖像大小,圖片色彩轉(zhuǎn)換,圖片模糊等,代碼具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以關(guān)注一下

opencv圖像處理(深度學(xué)習(xí)中常用的)

改變色彩空間: cv.cvtColor()

cv.cvtColor(img, flag)

  • img:原圖像
  • flag:要改變的類型

常用的flag有:cv.COLOR_BGR2GRAY (BGR->GRAY)、cv.COLOR_BGR2HSV

img = cv.imread(r'E:\0_postgraduate\test.jpg')
gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
cv.imshow('img', img)
cv.imshow('img_gray', gray)
k = cv.waitKey(0)
if k & 0xFF == ord('q'):
    cv.destroyAllWindows()

我們可以看看flag都有哪些:

flags = [i for i in dir(cv) if i.startswith('COLOR_')]
print( flags )

改變圖像大?。篶v.resize()

cv.resize(img, (width, height))

  • img:原始圖像
  • width:縮放后圖像的寬度
  • height:縮放后圖像的高度
img = cv.imread(r'E:\0_postgraduate\test.jpg')
img_resize = cv.resize(img, (500, 600))
cv.imshow('img shape: {} x {}'.format(img.shape[1], img.shape[0]), img)
cv.imshow('img_resize shape: {} x {}'.format(img_resize.shape[1], img_resize.shape[0]), img_resize)
k = cv.waitKey(0)
if k & 0xFF == ord('q'):
    cv.destroyAllWindows()

比如某些網(wǎng)絡(luò)要求輸入的圖像必須是固定大小的:256 x 256這么大的,這時(shí)就可以用cv.resize()對(duì)大小不一的圖像進(jìn)行縮放。

二維卷積操作

cv.filter2D()+軌跡條動(dòng)態(tài)控制圖像參數(shù):cv.createTrackbar()、cv.getTrackbarPos()

卷積操作是什么這里就不再介紹了。

cv.filter2D(img, -1, kernel)

  • img:原始圖像
  • -1:這個(gè)參數(shù)應(yīng)該是輸出圖像,沒(méi)什么用,填-1就行
  • kernel:卷積核,一個(gè)二維數(shù)組

而至于cv.createTrackbar()、cv.getTrackbarPos(),這兩個(gè)函數(shù)可以很方便的動(dòng)態(tài)調(diào)節(jié)圖像的參數(shù),很直觀地看到調(diào)節(jié)的效果:

cv.createTrackbar()

第一個(gè)參數(shù)是軌跡欄名稱

第二個(gè)參數(shù)是它所屬的窗口名稱,

第三個(gè)參數(shù)是默認(rèn)值,

第四個(gè)參數(shù)是最大值,

第五個(gè)參數(shù)是執(zhí)行的回調(diào)函數(shù)每次軌跡欄值都會(huì)發(fā)生變化,即每次滑動(dòng)軌跡條時(shí)都會(huì)調(diào)用該參數(shù)。

cv.getTrackbarPos()

第一個(gè)參數(shù)是滑動(dòng)條名字,

第二個(gè)時(shí)所在窗口,

返回值是滑動(dòng)條的數(shù)值

# cv.createTrackbar() 和 cv.getTrackbarPos()測(cè)試

def nothing(*arg):
    pass

img = cv.imread(r'E:\0_postgraduate\test.jpg')
img_original = img
cv.namedWindow('image_test')
cv.createTrackbar('kernel_width', 'image_test', 1, 30, nothing)
cv.createTrackbar('kernel_height', 'image_test', 1, 30, nothing)
while 1:
    w = cv.getTrackbarPos('kernel_width', 'image_test')
    h = cv.getTrackbarPos('kernel_height', 'image_test')
    print('w: {} h: {}'.format(w, h))
    if(w!=0 and h!=0):
        kernel = np.ones((w, h), np.float32)/(w*h)
        img = cv.filter2D(img_original, -1, kernel)
        cv.imshow('image_test', img)
    else:
        cv.imshow('image_test', img_original)
    k = cv.waitKey(5)
    if k & 0xFF == ord('q'):
        break
cv.destroyAllWindows()
    

常用模糊

常用的模糊有平均化模糊:cv.blur()和高斯模糊:cv.GaussianBlur()

(1) cv.blur()

平均化模糊cv.blur()就是讓原始圖像與一個(gè)全1的卷積核做卷積,然后將得到的值除以卷積核中像素的總個(gè)數(shù),這么說(shuō)太繞了,直接上圖:

比如我選的卷積核為3x3大小,則原始圖像要與如下的卷積核做卷積:

cv.blur(img, (weight, height))

  • img:原始圖像
  • weight:卷積核的寬
  • height:卷積核的長(zhǎng)

(2) cv.GaussianBlur()

高斯模糊是在平均化模糊基礎(chǔ)上的改進(jìn),考慮了距離對(duì)于中心像素的影響:與中心像素距離越近的像素?fù)碛性礁叩臋?quán)重,其實(shí)超級(jí)簡(jiǎn)單。高斯模糊的原理可以參考:python實(shí)現(xiàn)高斯模糊及原理詳解

cv.GaussianBlur(img, (weight, height), sigmaX, sigmaY)

  • img:原始圖像
  • weight:卷積核的寬
  • height:卷積核的長(zhǎng)
  • sigmaX:二維高斯函數(shù)x的偏差
  • sigmaY:二維高斯函數(shù)y的偏差

注意:

核的寬度和高度,應(yīng)該是正數(shù)和奇數(shù)。我們還應(yīng)該指定X和Y方向的標(biāo)準(zhǔn)偏差,分別為sigmaX和sigmaY。如果只指定sigmaX,sigmaY將被視為與sigmaX相同。如果兩者都是零,則根據(jù)核大小計(jì)算。高斯模糊對(duì)去除圖像中的高斯噪聲非常有效。

img = cv.imread(r'E:\0_postgraduate\test.jpg')
img_blur = cv.blur(img, (5,5))
img_gaussian = cv.GaussianBlur(img, (5,5), 0)
cv.imshow('image_blur', img_blur)
cv.imshow('image_gaussian', img_gaussian)
k = cv.waitKey(0)
if k & 0xFF == ord('q'):
    cv.destroyAllWindows()

到此這篇關(guān)于深入學(xué)習(xí)Python+Opencv常用四種圖像處理操作的文章就介紹到這了,更多相關(guān)Python Opencv 圖像處理內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python實(shí)現(xiàn)周期性抓取網(wǎng)頁(yè)內(nèi)容的方法

    Python實(shí)現(xiàn)周期性抓取網(wǎng)頁(yè)內(nèi)容的方法

    這篇文章主要介紹了Python實(shí)現(xiàn)周期性抓取網(wǎng)頁(yè)內(nèi)容的方法,涉及Python時(shí)間函數(shù)及正則匹配的相關(guān)操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-11-11
  • 低版本中Python除法運(yùn)算小技巧

    低版本中Python除法運(yùn)算小技巧

    這篇文章主要介紹了低版本中Python除法運(yùn)算小技巧,python 2.5版本中存在兩種除法運(yùn)算,即所謂的true除法和floor除法,本文講解了兩種方法的使用技巧,需要的朋友可以參考下
    2015-04-04
  • Python實(shí)現(xiàn)string字符串連接的方法總結(jié)【8種方式】

    Python實(shí)現(xiàn)string字符串連接的方法總結(jié)【8種方式】

    這篇文章主要介紹了Python實(shí)現(xiàn)string字符串連接的方法,結(jié)合實(shí)例形式總結(jié)分析了Python實(shí)現(xiàn)字符串連接的8種常見(jiàn)操作技巧,需要的朋友可以參考下
    2018-07-07
  • Pillow圖像顏色處理的具體使用

    Pillow圖像顏色處理的具體使用

    Pillow 提供了顏色處理模塊 ImageColor,該模塊支持不同格式的顏色,可以修改RGB的顏色,具有一定的參考價(jià)值,感興趣的可以了解一下
    2021-11-11
  • 在Pycharm中安裝Pandas庫(kù)方法(簡(jiǎn)單易懂)

    在Pycharm中安裝Pandas庫(kù)方法(簡(jiǎn)單易懂)

    這篇文章主要介紹了在Pycharm中安裝Pandas庫(kù)方法,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • Python搭建自己IP代理池的方法實(shí)現(xiàn)

    Python搭建自己IP代理池的方法實(shí)現(xiàn)

    本文主要介紹了Python搭建自己IP代理池的方法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • python使用prettytable內(nèi)置庫(kù)美化輸出表格

    python使用prettytable內(nèi)置庫(kù)美化輸出表格

    這篇文章主要介紹了python使用prettytable內(nèi)置庫(kù)美化輸出表格,prettytable是pyhton內(nèi)置庫(kù),文章圍繞主題的相關(guān)資料展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下
    2022-06-06
  • 將Emacs打造成強(qiáng)大的Python代碼編輯工具

    將Emacs打造成強(qiáng)大的Python代碼編輯工具

    這篇文章主要介紹了將Emacs打造成強(qiáng)大的Python代碼編輯工具的方法,人們常說(shuō)Vim是編輯器之神而Emacs是神的編輯器:)需要的朋友可以參考下
    2015-11-11
  • pytorch關(guān)于Tensor的數(shù)據(jù)類型說(shuō)明

    pytorch關(guān)于Tensor的數(shù)據(jù)類型說(shuō)明

    這篇文章主要介紹了pytorch關(guān)于Tensor的數(shù)據(jù)類型說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Python實(shí)現(xiàn)發(fā)送與接收郵件的方法詳解

    Python實(shí)現(xiàn)發(fā)送與接收郵件的方法詳解

    這篇文章主要介紹了Python實(shí)現(xiàn)發(fā)送與接收郵件的方法,結(jié)合實(shí)例形式分析了Python基于smtplib庫(kù)使用SMTP協(xié)議進(jìn)行郵件發(fā)送及基于poplib庫(kù)使用POP3服務(wù)器接收郵件的相關(guān)操作技巧,需要的朋友可以參考下
    2018-03-03

最新評(píng)論