此函數(shù)將輸入的圖片從一個(gè)顏色域轉(zhuǎn)換到另一個(gè)。

公司主營(yíng)業(yè)務(wù):成都做網(wǎng)站、成都網(wǎng)站制作、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。創(chuàng)新互聯(lián)推出順慶免費(fèi)做網(wǎng)站回饋大家。
input: 以數(shù)組形式輸入圖片
zoom:浮點(diǎn)數(shù)或數(shù)組。如果是一個(gè)浮點(diǎn)數(shù),對(duì)每一個(gè)軸放縮相同的倍數(shù)。如果是一個(gè)數(shù)組,則對(duì)每一個(gè)軸分配一個(gè)值。
output:輸出,默認(rèn)為None
order:整型(范圍0-5)樣條插值的順序,默認(rèn)為3。詳見后續(xù)
mode:字符串,包括{‘reflect’, ‘constant’, ‘nearest’, ‘mirror’, ‘wrap’},輸入的數(shù)組如何擴(kuò)展邊界,默認(rèn)為 ‘constant'(具體參考官方文檔 插值的邊界處理 )
cval:浮點(diǎn)數(shù),當(dāng)插值的邊界處理模式為’constant‘時(shí)發(fā)揮作用。默認(rèn)為0.0
prefilter:bool,input輸入的數(shù)組是否經(jīng)過一個(gè)預(yù)樣條濾波器,默認(rèn)為True
設(shè)原圖 ,
目標(biāo)圖片
設(shè) 之比為 , ,則:
設(shè)原圖坐標(biāo)上的像素點(diǎn) ,
目標(biāo)圖片坐標(biāo)上的像素的為
1.計(jì)算目標(biāo)圖片的坐標(biāo)點(diǎn)對(duì)應(yīng)原圖中哪個(gè)坐標(biāo)點(diǎn),公式為:
2.根據(jù)dst_x,dst_y的值四舍五入為整數(shù),填充到目標(biāo)圖片的相應(yīng)位置。
由上圖可以看到,經(jīng)過轉(zhuǎn)換后的圖片出現(xiàn)了鋸齒感。
1.計(jì)算目標(biāo)圖片的坐標(biāo)點(diǎn)對(duì)應(yīng)原圖中哪個(gè)坐標(biāo)點(diǎn)(此步與最鄰近插值算法相同),公式為:
2.由于點(diǎn) 是個(gè)浮點(diǎn)數(shù)坐標(biāo),無(wú)法用整型的灰度值或RGB值來(lái)表示,因此雙線性插值算法通過尋找距離這個(gè)對(duì)應(yīng)坐標(biāo)最近的四個(gè)像素點(diǎn),來(lái)計(jì)算該點(diǎn)的值(灰度值或者RGB值)。
設(shè)分解后的坐標(biāo)為:
首先,在x方向上進(jìn)行線性插值, 代表該點(diǎn)的像素值。
然后,在y方向上進(jìn)行線性插值:
得到的 就是該點(diǎn)經(jīng)過處理后的像素值,填充到目標(biāo)圖片的相應(yīng)位置。
可見,雙線性插值算法的鋸齒感要少于最鄰近插值法。
三次插值法(cubic interpolation method)是一種 多項(xiàng)式插值法 ,逐次以 三次曲線 φ(t)=a 0 +a 1 t+a 2 t 2 +a 3 t 3 的極小點(diǎn)逼近尋求函數(shù)f(t)的極小點(diǎn)的一種方法.(摘自 百度百科 )
可見,三次插值法處理后的圖片幾乎沒有鋸齒感
1、點(diǎn)擊鍵盤 win+r,打開運(yùn)行窗口。在運(yùn)行窗口中輸入“cmd",點(diǎn)擊enter鍵,打開windows命令行窗口。
2、在windows命令行窗口中,輸入“python”,點(diǎn)擊enter鍵,進(jìn)入python的命令交互窗口。
3、使用import語(yǔ)句,引入numpy模塊,并重命名為np。
4、使用函數(shù)np.array()創(chuàng)建矩陣一個(gè)矩陣A,其中z矩陣A是2x2的矩陣。
5、使用函數(shù)np.linalg.inv(A),求解矩陣A的逆矩陣。
6、使用函數(shù)np.array()創(chuàng)建矩陣一個(gè)矩陣B,其中矩陣B是3x3的矩陣。
8個(gè)超好用內(nèi)置函數(shù)set(),eval(),sorted(),reversed(),map(),reduce(),filter(),enumerate()
python中有許多內(nèi)置函數(shù),不像print那么廣為人知,但它們卻異常的強(qiáng)大,用好了可以大大提高代碼效率。
這次來(lái)梳理下8個(gè)好用的python內(nèi)置函數(shù)
1、set()
當(dāng)需要對(duì)一個(gè)列表進(jìn)行去重操作的時(shí)候,set()函數(shù)就派上用場(chǎng)了。
用于創(chuàng)建一個(gè)集合,集合里的元素是無(wú)序且不重復(fù)的。集合對(duì)象創(chuàng)建后,還能使用并集、交集、差集功能。
2、eval()之前有人問如何用python寫一個(gè)四則運(yùn)算器,輸入字符串公式,直接產(chǎn)生結(jié)果。用eval()來(lái)做就很簡(jiǎn)單:eval(str_expression)作用是將字符串轉(zhuǎn)換成表達(dá)式,并且執(zhí)行。
3、sorted()在處理數(shù)據(jù)過程中,我們經(jīng)常會(huì)用到排序操作,比如將列表、字典、元組里面的元素正/倒排序。這時(shí)候就需要用到sorted() ,它可以對(duì)任何可迭代對(duì)象進(jìn)行排序,并返回列表。對(duì)列表升序操作:
對(duì)元組倒序操作:
使用參數(shù):key,根據(jù)自定義規(guī)則,按字符串長(zhǎng)度來(lái)排序:
根據(jù)自定義規(guī)則,對(duì)元組構(gòu)成的列表進(jìn)行排序:
4、reversed()如果需要對(duì)序列的元素進(jìn)行反轉(zhuǎn)操作,reversed()函數(shù)能幫到你。reversed()接受一個(gè)序列,將序列里的元素反轉(zhuǎn),并最終返回迭代器。
5、map()做文本處理的時(shí)候,假如要對(duì)序列里的每個(gè)單詞進(jìn)行大寫轉(zhuǎn)化操作。這個(gè)時(shí)候就可以使用map()函數(shù)。
map()會(huì)根據(jù)提供的函數(shù),對(duì)指定的序列做映射,最終返回迭代器。也就是說(shuō)map()函數(shù)會(huì)把序列里的每一個(gè)元素用指定的方法加工一遍,最終返回給你加工好的序列。舉個(gè)例子,對(duì)列表里的每個(gè)數(shù)字作平方處理:
6、reduce()前面說(shuō)到對(duì)列表里的每個(gè)數(shù)字作平方處理,用map()函數(shù)。那我想將列表里的每個(gè)元素相乘,該怎么做呢?這時(shí)候用到reduce()函數(shù)。
reduce()會(huì)對(duì)參數(shù)序列中元素進(jìn)行累積。第一、第二個(gè)元素先進(jìn)行函數(shù)操作,生成的結(jié)果再和第三個(gè)元素進(jìn)行函數(shù)操作,以此類推,最終生成所有元素累積運(yùn)算的結(jié)果。再舉個(gè)例子,將字母連接成字符串。
你可能已經(jīng)注意到,reduce()函數(shù)在python3里已經(jīng)不再是內(nèi)置函數(shù),而是遷移到了functools模塊中。這里把reduce()函數(shù)拎出來(lái)講,是因?yàn)樗匾恕?/p>
7、filter()一些數(shù)字組成的列表,要把其中偶數(shù)去掉,該怎么做呢?
filter()函數(shù)輕松完成了任務(wù),它用于過濾序列,過濾掉不符合條件的元素,返回一個(gè)迭代器對(duì)象。filter()函數(shù)和map()、reduce()函數(shù)類似,都是將序列里的每個(gè)元素映射到函數(shù),最終返回結(jié)果。我們?cè)僭囋嚕绾螐脑S多單詞里挑出包含字母w的單詞。
8、enumerate()這樣一個(gè)場(chǎng)景,同時(shí)打印出序列里每一個(gè)元素和它對(duì)應(yīng)的順序號(hào),我們用enumerate()函數(shù)做做看。
enumerate翻譯過來(lái)是枚舉、列舉的意思,所以說(shuō)enumerate()函數(shù)用于對(duì)序列里的元素進(jìn)行順序標(biāo)注,返回(元素、索引)組成的迭代器。再舉個(gè)例子說(shuō)明,對(duì)字符串進(jìn)行標(biāo)注,返回每個(gè)字母和其索引。
1、 定義x和y,畫圖展示,保存圖片
其中dpi參數(shù)指定圖像的分辨率為120
2、 優(yōu)化繪圖線條風(fēng)格
線條顏色color
線條標(biāo)記marker
線條風(fēng)格linestyle
3、 坐標(biāo)軸的控制
坐標(biāo)軸范圍和標(biāo)題
坐標(biāo)圖上標(biāo)記
坐標(biāo)間隔設(shè)定
函數(shù)plt.xticks()和plt.xticks()用來(lái)實(shí)現(xiàn)對(duì)x軸和y軸坐標(biāo)間隔(也就是軸記號(hào))的設(shè)定。用法上,函數(shù)的輸入是兩個(gè)列表,第一個(gè)表示取值,第二個(gè)表示標(biāo)記。當(dāng)然如果你的標(biāo)記就是取值本身,則第二個(gè)列表可以忽略
多圖與子圖
figure() 函數(shù)可以幫助我們同時(shí)處理生成多個(gè)圖,而subplot()函數(shù)則用來(lái)實(shí)現(xiàn),在一個(gè)大圖中,出現(xiàn)多個(gè)小的子圖。需要注意的是, figure() 中的參數(shù)為圖片序號(hào),一般是按序增加的,這里面還涉及一個(gè)當(dāng)前圖的概念,其中 subplot() 的參數(shù)有3個(gè),分別為行數(shù)、列數(shù)、以及子圖序號(hào)。比如 subplot(1,2,1) 表示這是一個(gè)1行,2列布局的圖(兩個(gè)子圖,在同一行,分居左右),其中,當(dāng)前處理的子圖是第一個(gè)圖(也就是左圖)。
這樣,我們就用一個(gè)腳本畫了兩張圖fig.1和fig.2。其中,fig.1包含了分居左右的兩個(gè)子圖,分別是y1和y3的曲線;fig.2是一張整圖,畫的是y2曲線。
如果想要某個(gè)子圖占據(jù)整行或者整列,可以采用下面
第三個(gè)圖,實(shí)際上相當(dāng)于將前面的兩個(gè)小的子圖看作是一個(gè)整圖
學(xué)習(xí)目標(biāo):
OpenCV 中有 150 多種色彩空間轉(zhuǎn)化的方法,這里只討論兩種:
HSV的色相范圍為[0,179],飽和度范圍為[0,255],值范圍為[0,255]。不同的軟件使用不同的規(guī)模。如果要比較 OpenCV 值和它們,你需要標(biāo)準(zhǔn)化這些范圍。
HSV 和 HLV 解釋
運(yùn)行結(jié)果:該段程序的作用是檢測(cè)藍(lán)色目標(biāo),同理可以檢測(cè)其他顏色的目標(biāo)
結(jié)果中存在一定的噪音,之后的章節(jié)將會(huì)去掉它
這是物體跟蹤中最簡(jiǎn)單的方法。一旦你學(xué)會(huì)了等高線的函數(shù),你可以做很多事情,比如找到這個(gè)物體的質(zhì)心,用它來(lái)跟蹤這個(gè)物體,僅僅通過在相機(jī)前移動(dòng)你的手來(lái)畫圖表,還有很多其他有趣的事情。
菜鳥教程 在線 HSV- BGR 轉(zhuǎn)換
比如要找出綠色的 HSV 值,可以使用上面的程序,得到的值取一個(gè)上下界。如上面的取下界 [H-10, 100, 100],上界 [H+10, 255, 255]
或者使用其他工具如 GIMP
學(xué)習(xí)目標(biāo):
對(duì)圖像進(jìn)行閾值處理,算是一種最簡(jiǎn)單的圖像分割方法,基于圖像與背景之間的灰度差異,此項(xiàng)分割是基于像素級(jí)的分割
threshold(src, thresh, maxval, type[, dst]) - retval, dst
計(jì)算圖像小區(qū)域的閾值。所以我們對(duì)同一幅圖像的不同區(qū)域得到不同的閾值,這給我們?cè)诓煌庹障碌膱D像提供了更好的結(jié)果。
三個(gè)特殊的輸入?yún)?shù)和一個(gè)輸出參數(shù)
adaptiveThreshold(src, maxValue, adaptiveMethod, thresholdType, blockSize, C[, dst]) - dst
opencv-threshold-python
OpenCV 圖片集
本節(jié)原文
學(xué)習(xí)目標(biāo):
OpenCV 提供兩種變換函數(shù): cv2.warpAffine 和 cv2.warpPerspective
cv2.resize() 完成縮放
文檔說(shuō)明
運(yùn)行結(jié)果
說(shuō)明 : cv2.INTER_LINEAR 方法比 cv2.INTER_CUBIC 還慢,好像與官方文檔說(shuō)的不一致? 有待驗(yàn)證。
速度比較: INTER_CUBIC INTER_NEAREST INTER_LINEAR INTER_AREA INTER_LANCZOS4
改變圖像的位置,創(chuàng)建一個(gè) np.float32 類型的變換矩陣,
warpAffine(src, M, dsize[, dst[, flags[, borderMode[, borderValue]]]]) - dst
運(yùn)行結(jié)果:
旋轉(zhuǎn)角度( )是通過一個(gè)變換矩陣變換的:
OpenCV 提供的是可調(diào)旋轉(zhuǎn)中心的縮放旋轉(zhuǎn),這樣你可以在任何你喜歡的位置旋轉(zhuǎn)。修正后的變換矩陣為
這里
OpenCV 提供了 cv2.getRotationMatrix2D 控制
cv2.getRotationMatrix2D(center, angle, scale) → retval
運(yùn)行結(jié)果
cv2.getAffineTransform(src, dst) → retval
函數(shù)關(guān)系:
\begin{bmatrix} x'_i \ y'_i \end{bmatrix}\begin{bmatrix} x'_i \ y'_i \end{bmatrix} =
其中
運(yùn)行結(jié)果:圖上的點(diǎn)便于觀察,兩圖中的紅點(diǎn)是相互對(duì)應(yīng)的
透視變換需要一個(gè) 3x3 變換矩陣。轉(zhuǎn)換之后直線仍然保持筆直,要找到這個(gè)變換矩陣,需要輸入圖像上的 4 個(gè)點(diǎn)和輸出圖像上的對(duì)應(yīng)點(diǎn)。在這 4 個(gè)點(diǎn)中,有 3 個(gè)不應(yīng)該共線。通過 cv2.getPerspectiveTransform 計(jì)算得到變換矩陣,得到的矩陣 cv2.warpPerspective 變換得到最終結(jié)果。
本節(jié)原文
平滑處理(smoothing)也稱模糊處理(bluring),是一種簡(jiǎn)單且使用頻率很高的圖像處理方法。平滑處理的用途:常見是用來(lái) 減少圖像上的噪點(diǎn)或失真 。在涉及到降低圖像分辨率時(shí),平滑處理是很好用的方法。
圖像濾波:盡量保留圖像細(xì)節(jié)特征的條件下對(duì)目標(biāo)圖像的噪聲進(jìn)行抑制,其處理效果的好壞將直接影響到后續(xù)圖像處理和分析的有效性和可靠性。
消除圖像中的噪聲成分叫做圖像的平滑化或?yàn)V波操作。信號(hào)或圖像的能量大部分集中在幅度譜的低頻和中頻段,在高頻段,有用的信息會(huì)被噪聲淹沒。因此一個(gè)能降低高頻成分幅度的濾波器就能夠減弱噪聲的影響。
濾波的目的:抽出對(duì)象的特征作為圖像識(shí)別的特征模式;為適應(yīng)圖像處理的要求,消除圖像數(shù)字化時(shí)混入的噪聲。
濾波處理的要求:不能損壞圖像的輪廓及邊緣等重要信息;圖像清晰視覺效果好。
平滑濾波是低頻增強(qiáng)的空間濾波技術(shù),目的:模糊和消除噪音。
空間域的平滑濾波一般采用簡(jiǎn)單平均法,即求鄰近像元點(diǎn)的平均亮度值。鄰域的大小與平滑的效果直接相關(guān),鄰域越大平滑效果越好,但是鄰域過大,平滑也會(huì)使邊緣信息的損失的越大,從而使輸出圖像變得模糊。因此需要選擇合適的鄰域。
濾波器:一個(gè)包含加權(quán)系數(shù)的窗口,利用濾波器平滑處理圖像時(shí),把這個(gè)窗口放在圖像上,透過這個(gè)窗口來(lái)看我們得到的圖像。
線性濾波器:用于剔除輸入信號(hào)中不想要的頻率或者從許多頻率中選擇一個(gè)想要的頻率。
低通濾波器、高通濾波器、帶通濾波器、帶阻濾波器、全通濾波器、陷波濾波器
boxFilter(src, ddepth, ksize[, dst[, anchor[, normalize[, borderType]]]]) - dst
均值濾波是方框?yàn)V波歸一化后的特殊情況。歸一化就是要把處理的量縮放到一個(gè)范圍內(nèi)如 (0,1),以便統(tǒng)一處理和直觀量化。非歸一化的方框?yàn)V波用于計(jì)算每個(gè)像素鄰近內(nèi)的積分特性,比如密集光流算法中用到的圖像倒數(shù)的協(xié)方差矩陣。
運(yùn)行結(jié)果:
均值濾波是典型的線性濾波算法,主要方法為鄰域平均法,即用一片圖像區(qū)域的各個(gè)像素的均值來(lái)代替原圖像中的各個(gè)像素值。一般需要在圖像上對(duì)目標(biāo)像素給出一個(gè)模板(內(nèi)核),該模板包括了其周圍的臨近像素(比如以目標(biāo)像素為中心的周圍8(3x3-1)個(gè)像素,構(gòu)成一個(gè)濾波模板,即 去掉目標(biāo)像素本身 )。再用模板中的全體像素的平均值來(lái)代替原來(lái)像素值。即對(duì)待處理的當(dāng)前像素點(diǎn)(x,y),選擇一個(gè)模板,該模板由其近鄰的若干像素組成,求模板中所有像素的均值,再把該均值賦予當(dāng)前像素點(diǎn)(x,y),作為處理后圖像在該點(diǎn)上的灰度個(gè)g(x,y),即個(gè)g(x,y)=1/m ∑f(x,y) ,其中m為該模板中包含當(dāng)前像素在內(nèi)的像素總個(gè)數(shù)。
均值濾波本身存在著固有的缺陷,即它不能很好地保護(hù)圖像細(xì)節(jié),在圖像去噪的同時(shí)也破壞了圖像的細(xì)節(jié)部分,從而使圖像變得模糊,不能很好地去除噪聲點(diǎn)。
cv2.blur(src, ksize[, dst[, anchor[, borderType]]]) → dst
結(jié)果:
高斯濾波:線性濾波,可以消除高斯噪聲,廣泛應(yīng)用于圖像處理的減噪過程。高斯濾波就是對(duì)整幅圖像進(jìn)行加權(quán)平均的過程,每一個(gè)像素點(diǎn)的值,都由其本身和鄰域內(nèi)的其他像素值經(jīng)過 加權(quán)平均 后得到。高斯濾波的具體操作是:用一個(gè)模板(或稱卷積、掩模)掃描圖像中的每一個(gè)像素,用模板確定的鄰域內(nèi)像素的加權(quán)平均灰度值去替代模板中心像素點(diǎn)的值。
高斯濾波有用但是效率不高。
高斯模糊技術(shù)生成的圖像,其視覺效果就像是經(jīng)過一個(gè)半透明屏幕在觀察圖像,這與鏡頭焦外成像效果散景以及普通照明陰影中的效果都明顯不同。高斯平滑也用于計(jì)算機(jī)視覺算法中的預(yù)先處理階段,以增強(qiáng)圖像在不同比例大小下的圖像效果(參見尺度空間表示以及尺度空間實(shí)現(xiàn))。從數(shù)學(xué)的角度來(lái)看,圖像的高斯模糊過程就是圖像與正態(tài)分布做卷積。由于正態(tài)分布又叫作高斯分布,所以這項(xiàng)技術(shù)就叫作高斯模糊。
高斯濾波器是一類根據(jù)高斯函數(shù)的形狀來(lái)選擇權(quán)值的線性平滑濾波器。 高斯平滑濾波器對(duì)于抑制服從正態(tài)分布的噪聲非常有效。
一維零均值高斯函數(shù)為: 高斯分布參數(shù) 決定了高斯函數(shù)的寬度。
高斯噪聲的產(chǎn)生
GaussianBlur(src, ksize, sigmaX[, dst[, sigmaY[, borderType]]]) - dst
線性濾波容易構(gòu)造,并且易于從頻率響應(yīng)的角度來(lái)進(jìn)行分析。
許多情況,使用近鄰像素的非線性濾波會(huì)得到更好的結(jié)果。比如在噪聲是散粒噪聲而不是高斯噪聲,即圖像偶爾會(huì)出現(xiàn)很大值的時(shí)候,用高斯濾波器進(jìn)行圖像模糊時(shí),噪聲像素不會(huì)被消除,而是轉(zhuǎn)化為更為柔和但仍然可見的散粒。
中值濾波(Median filter)是一種典型的非線性濾波技術(shù),基本思想是用像素點(diǎn)鄰域灰度值的中值來(lái)代替該像素點(diǎn)的灰度值,該方法在去除脈沖噪聲、椒鹽噪聲『椒鹽噪聲又稱脈沖噪聲,它隨機(jī)改變一些像素值,是由圖像傳感器,傳輸信道,解碼處理等產(chǎn)生的黑白相間的亮暗點(diǎn)噪聲。椒鹽噪聲往往由圖像切割引起。』的同時(shí)又能保留圖像邊緣細(xì)節(jié),
中值濾波是基于排序統(tǒng)計(jì)理論的一種能有效抑制噪聲的非線性信號(hào)處理技術(shù),其基本原理是把數(shù)字圖像或數(shù)字序列中一點(diǎn)的值用該點(diǎn)的一個(gè)鄰域中各點(diǎn)值的中值代替,讓周圍的像素值接近的真實(shí)值,從而消除孤立的噪聲點(diǎn),對(duì)于 斑點(diǎn)噪聲(speckle noise)和椒鹽噪聲(salt-and-pepper noise) 來(lái)說(shuō)尤其有用,因?yàn)樗灰蕾囉卩徲騼?nèi)那些與典型值差別很大的值。中值濾波器在處理連續(xù)圖像窗函數(shù)時(shí)與線性濾波器的工作方式類似,但濾波過程卻不再是加權(quán)運(yùn)算。
中值濾波在一定的條件下可以克服常見線性濾波器如最小均方濾波、方框?yàn)V波器、均值濾波等帶來(lái)的圖像細(xì)節(jié)模糊,而且對(duì)濾除脈沖干擾及圖像掃描噪聲非常有效,也常用于保護(hù)邊緣信息, 保存邊緣的特性使它在不希望出現(xiàn)邊緣模糊的場(chǎng)合也很有用,是非常經(jīng)典的平滑噪聲處理方法。
與均值濾波比較:
說(shuō)明:中值濾波在一定條件下,可以克服線性濾波器(如均值濾波等)所帶來(lái)的圖像細(xì)節(jié)模糊,而且對(duì)濾除脈沖干擾即圖像掃描噪聲最為有效。在實(shí)際運(yùn)算過程中并不需要圖像的統(tǒng)計(jì)特性,也給計(jì)算帶來(lái)不少方便。 但是對(duì)一些細(xì)節(jié)多,特別是線、尖頂?shù)燃?xì)節(jié)多的圖像不宜采用中值濾波。
雙邊濾波(Bilateral filter)是一種非線性的濾波方法,是結(jié)合 圖像的空間鄰近度和像素值相似度 的一種折衷處理,同時(shí)考慮空域信息和灰度相似性,達(dá)到保邊去噪的目的。具有簡(jiǎn)單、非迭代、局部的特點(diǎn)。
雙邊濾波器的好處是可以做邊緣保存(edge preserving),一般過去用的維納濾波或者高斯濾波去降噪,都會(huì)較明顯地模糊邊緣,對(duì)于高頻細(xì)節(jié)的保護(hù)效果并不明顯。雙邊濾波器顧名思義比高斯濾波多了一個(gè)高斯方差 sigma-d ,它是基于空間分布的高斯濾波函數(shù),所以在邊緣附近,離的較遠(yuǎn)的像素不會(huì)太多影響到邊緣上的像素值,這樣就保證了邊緣附近像素值的保存。 但是由于保存了過多的高頻信息,對(duì)于彩色圖像里的高頻噪聲,雙邊濾波器不能夠干凈的濾掉,只能夠?qū)τ诘皖l信息進(jìn)行較好的濾波。
運(yùn)行結(jié)果
學(xué)習(xí)目標(biāo):
形態(tài)變換是基于圖像形狀的一些簡(jiǎn)單操作。它通常在二進(jìn)制圖像上執(zhí)行。
膨脹與腐蝕實(shí)現(xiàn)的功能
侵蝕的基本思想就像土壤侵蝕一樣,它會(huì)侵蝕前景物體的邊界(總是試圖保持前景為白色)。那它是做什么的??jī)?nèi)核在圖像中滑動(dòng)(如在2D卷積中)。只有當(dāng)內(nèi)核下的所有像素都是 1 時(shí),原始圖像中的像素( 1 或 0 )才會(huì)被視為 1 ,否則它將被侵蝕(變?yōu)榱悖?/p>
erode(src, kernel[, dst[, anchor[, iterations[, borderType[, borderValue]]]]]) - dst
與腐蝕的操作相反。如果內(nèi)核下的至少一個(gè)像素為“1”,則像素元素為“1”。因此它增加了圖像中的白色區(qū)域或前景對(duì)象的大小增加。通常,在去除噪音的情況下,侵蝕之后是擴(kuò)張。因?yàn)椋治g會(huì)消除白噪聲,但它也會(huì)縮小我們的物體。所以我們擴(kuò)大它。由于噪音消失了,它們不會(huì)再回來(lái),但我們的物體區(qū)域會(huì)增加。它也可用于連接對(duì)象的破碎部分
標(biāo)題名稱:圖片平滑python函數(shù),python繪制光滑曲線圖
當(dāng)前地址:http://chinadenli.net/article41/dsegdhd.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、面包屑導(dǎo)航、手機(jī)網(wǎng)站建設(shè)、企業(yè)建站、全網(wǎng)營(yíng)銷推廣、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)