国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

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

python 用opencv實(shí)現(xiàn)圖像修復(fù)和圖像金字塔

瀏覽:5日期:2022-07-04 09:25:58

我們將學(xué)習(xí)如何通過一種稱為修復(fù)的方法去除舊照片中的小噪音,筆畫等。基本思路很簡(jiǎn)單:用相鄰像素替換那些壞標(biāo)記,使其看起來(lái)像鄰域。

cv2.inpaint()

cv2.INPAINT_TELEA cv2.INPAINT_NS

import numpy as npimport cv2 as cvimg = cv.imread(’messi_2.jpg’)mask = cv.imread(’mask2.png’,0)dst = cv.inpaint(img,mask,3,cv.INPAINT_TELEA)cv.imshow(’dst’,dst)cv.waitKey(0)cv.destroyAllWindows()

第一張圖顯示降級(jí)輸入,第二個(gè)圖像是面具,第三個(gè)圖像是第一個(gè)算法的結(jié)果,最后一個(gè)圖像是第二個(gè)算法的結(jié)果。

python 用opencv實(shí)現(xiàn)圖像修復(fù)和圖像金字塔

圖像金字塔

通常,我們?cè)?jīng)使用恒定大小的圖像.但在某些情況下,我們需要使用不同分辨率的(相同)圖像.例如,在搜索圖像中的某些內(nèi)容時(shí),如臉部,我們不確定該對(duì)象在所述圖像中的大小.

具有不同分辨率的圖像被稱為圖像金字塔(因?yàn)楫?dāng)它們保持在堆疊中,底部具有最高分辨率圖像而頂部具有最低分辨率圖像時(shí),它看起來(lái)像金字塔).

圖像金字塔有兩種:

高斯金字塔和 拉普拉斯金字塔

高斯金字塔的頂部是通過將底部圖像中的連續(xù)的行和列去除得到的.頂部圖像中的每個(gè)像素值等于下一層圖像中 5 個(gè)像素的高斯加權(quán)平均值.這樣操作一次一個(gè) MxN 的圖像就變成了一個(gè) M/2xN/2 的圖像。所以這幅圖像的面積就變?yōu)樵瓉?lái)圖像面積的四分之一.這被稱為an Octave(一個(gè)八度)。連續(xù)進(jìn)行這樣的操作就會(huì)得到一個(gè)分辨率不斷下降的圖像金字塔.

函數(shù)cv2.pyrDown()從一個(gè)高分辨率大尺寸的圖像向上構(gòu)建一個(gè)金子塔 (尺寸變小,分辨率降低).代碼:

import cv2img = cv2.imread(’img.jpg’)lower_reso = cv2.pyrDown(img)cv2.imshow(’src’,img)cv2.imshow(’HigherReso’,lower_reso)cv2.waitKey()

python 用opencv實(shí)現(xiàn)圖像修復(fù)和圖像金字塔

繼續(xù)使用函數(shù)cv2.pyrUp()從一個(gè)低分辨率小尺寸的圖像向下構(gòu)建一個(gè)金子塔(尺寸變大,但分辨率不會(huì)增加)代碼:

import cv2img = cv2.imread(’img.jpg’)lower_reso = cv2.pyrDown(img)higher_reso2 = cv2.pyrUp(lower_reso)cv2.imshow(’show’,higher_reso2)cv2.waitKey()

python 用opencv實(shí)現(xiàn)圖像修復(fù)和圖像金字塔

NOTE:

當(dāng)用 cv2.pyrDown(),圖像的分辨率就會(huì)降低,信息就會(huì)被丟失.如果先cv2.pyrDown()產(chǎn)生的中間圖像再使用函數(shù)cv2.pyrUp()得到圖像,與原圖像相比分辨率差了很多.可以修改代碼:

import cv2img = cv2.imread(’img.jpg’)higher_reso2 = cv2.pyrUp(img)lower_reso = cv2.pyrDown(higher_reso2)cv2.imshow(’show’,lower_reso)cv2.waitKey()

拉普拉斯金字塔由高斯金字塔形成,大部分元素都是零,用于圖像壓縮.代碼:

import cv2img = cv2.imread(’img.jpg’)img = cv2.Canny(img, 100, 200)higher_reso2 = cv2.pyrUp(img)lower_reso = cv2.pyrDown(higher_reso2)cv2.imshow(’src’,img)cv2.imshow(’higher_reso2’,higher_reso2)cv2.imshow(’lower_reso’,lower_reso)cv2.waitKey()

python 用opencv實(shí)現(xiàn)圖像修復(fù)和圖像金字塔

以上就是python 用opencv實(shí)現(xiàn)圖像修復(fù)和圖像金字塔的詳細(xì)內(nèi)容,更多關(guān)于python 圖像修復(fù)和圖像金字塔的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 宣化县| 伊通| 思茅市| 乌审旗| 通海县| 赣榆县| 宁津县| 海伦市| 军事| 库车县| 三亚市| 平邑县| 左贡县| 岢岚县| 剑河县| 雷州市| 曲周县| 南投市| 鄯善县| 清镇市| 曲靖市| 金乡县| 九龙城区| 祁门县| 南宁市| 乌兰县| 华池县| 会泽县| 乐昌市| 永吉县| 兴隆县| 武隆县| 铜陵市| 东辽县| 德化县| 周宁县| 平遥县| 伊宁市| 铜川市| 郴州市| 南溪县|