圖像處理|插值

opencv

cv2.resize(src, dsize[, dst[, fx[, fy[, interpolation]]]]) → dst

interpolation 選項(xiàng) 所用的插值方法
INTER_NEAREST 最近鄰插值
INTER_LINEAR 雙線性插值(默認(rèn)設(shè)置)
INTER_AREA 使用像素區(qū)域關(guān)系進(jìn)行重采樣。 它可能是圖像抽取的首選方法,因?yàn)樗鼤?huì)產(chǎn)生無云紋理的結(jié)果讲婚。 但是當(dāng)圖像縮放時(shí)广恢,它類似于INTER_NEAREST方法昔驱。
INTER_CUBIC 4x4像素鄰域的雙三次插值
INTER_LANCZOS4 8x8像素鄰域的Lanczos插值

最近鄰插值

我們就舉個(gè)簡(jiǎn)單的圖像:33 的256級(jí)灰度圖眠寿。假如圖像的象素矩陣如下圖所示(這個(gè)原始圖把它叫做源圖,Source):
234 38 22
67 44 12
89 65 63
  這 個(gè)矩陣中蠢箩,元素坐標(biāo)(x,y)是這樣確定的劳翰,x從左到右敦锌,從0開始,y從上到下佳簸,也是從零開始乙墙,這是圖象處理中最常用的坐標(biāo)系。
  如果想把這副圖放大為 4
4大小的圖像生均,那么該怎么做呢听想?那么第一步肯定想到的是先把44的矩陣先畫出來再說,好了矩陣畫出來了马胧,如下所示汉买,當(dāng)然,矩陣的每個(gè)像素都是未知數(shù)佩脊,等待著我們?nèi)ヌ畛洌ㄟ@個(gè)將要被填充的圖的叫做目標(biāo)圖,Destination):
  ? ? ? ?
  ? ? ? ?
  ? ? ? ?
  ? ? ? ?
  然后要往這個(gè)空的矩陣?yán)锩嫣钪盗送苷常畹闹祻哪睦飦韥砟匦嗌渴菑脑磮D中來,好组题,先填寫目標(biāo)圖最左上角的象素,坐標(biāo)為(0抱冷,0)崔列,那么該坐標(biāo)對(duì)應(yīng)源圖中的坐標(biāo)可以由如下公式得出srcX=dstX
(srcWidth/dstWidth) , srcY = dstY * (srcHeight/dstHeight)
  好了,套用公式旺遮,就可以找到對(duì)應(yīng)的原圖的坐標(biāo)了(0(3/4),0(3/4))=>(00.75,00.75)=>(0,0)赵讯,找到了源圖的對(duì)應(yīng)坐標(biāo),就可以把源圖中坐標(biāo)為(0,0)處的234象素值填進(jìn)去目標(biāo)圖的(0,0)這個(gè)位置了。
  接下來,如法炮制,尋找目標(biāo)圖中坐標(biāo)為(1,0)的象素對(duì)應(yīng)源圖中的坐標(biāo),套用公式:
(10.75,00.75)=>(0.75,0) 結(jié)果發(fā)現(xiàn),得到的坐標(biāo)里面竟然有小數(shù),這可怎么辦?計(jì)算機(jī)里的圖像可是數(shù)字圖像,象素就是最小單位了,象素的坐標(biāo)都是整數(shù),從來沒有小數(shù)坐標(biāo)耿眉。這時(shí)候采用的一種策略就是采用四舍五入的方法(也可以采用直接舍掉小數(shù)位的方法)边翼,把非整數(shù)坐標(biāo)轉(zhuǎn)換成整數(shù),好鸣剪,那么按照四舍五入的方法就得到坐標(biāo)(1组底,0),完整的運(yùn)算過程就是這樣的:(10.75,00.75)=>(0.75,0)=>(1,0) 那么就可以再填一個(gè)象素到目標(biāo)矩陣中了筐骇,同樣是把源圖中坐標(biāo)為(1,0)處的像素值38填入目標(biāo)圖中的坐標(biāo)债鸡。
  依次填完每個(gè)象素,一幅放大后的圖像就誕生了铛纬,像素矩陣如下所示:
  234 38 22 22
  67 44 12 12
  89 65 63 63
  89 65 63 63
  這種放大圖像的方法叫做最臨近插值算法厌均,這是一種最基本、最簡(jiǎn)單的圖像縮放算法告唆,效果也是最不好的棺弊,放大后的圖像有很嚴(yán)重的馬賽克,縮小后的圖像有很嚴(yán)重的失真擒悬;效果不好的根源就是其簡(jiǎn)單的最臨近插值方法引入了嚴(yán)重的圖像失真模她,比如,當(dāng)由目標(biāo)圖的坐標(biāo)反推得到的源圖的的坐標(biāo)是一個(gè)浮點(diǎn)數(shù)的時(shí)候茄螃,采用了四舍五入的方法缝驳,直接采用了和這個(gè)浮點(diǎn)數(shù)最接近的象素的值,這種方法是很不科學(xué)的归苍,當(dāng)推得坐標(biāo)值為 0.75的時(shí)候用狱,不應(yīng)該就簡(jiǎn)單的取為1,既然是0.75拼弃,比1要小0.25 夏伊,比0要大0.75 ,那么目標(biāo)象素值其實(shí)應(yīng)該根據(jù)這個(gè)源圖中虛擬的點(diǎn)四周的四個(gè)真實(shí)的點(diǎn)來按照一定的規(guī)律計(jì)算出來的,這樣才能達(dá)到更好的縮放效果吻氧。

雙線性插值

雙線型內(nèi)插值算法就是一種比較好的圖像縮放算法溺忧,它充分的利用了源圖中虛擬點(diǎn)四周的四個(gè)真實(shí)存在的像素值來共同決定目標(biāo)圖中的一個(gè)像素值咏连,因此縮放效果比簡(jiǎn)單的最鄰近插值要好很多。
雙線性內(nèi)插值算法描述如下:
  對(duì)于一個(gè)目的像素鲁森,設(shè)置坐標(biāo)通過反向變換得到的浮點(diǎn)坐標(biāo)為(i+u,j+v) (其中i祟滴、j均為浮點(diǎn)坐標(biāo)的整數(shù)部分,u歌溉、v為浮點(diǎn)坐標(biāo)的小數(shù)部分垄懂,是取值[0,1)區(qū)間的浮點(diǎn)數(shù)),則這個(gè)像素得值 f(i+u,j+v) 可由原圖像中坐標(biāo)為 (i,j)痛垛、(i+1,j)草慧、(i,j+1)、(i+1,j+1)所對(duì)應(yīng)的周圍四個(gè)像素的值決定匙头,即:f(i+u,j+v) = (1-u)(1-v)f(i,j) + (1-u)vf(i,j+1) + u(1-v)f(i+1,j) + uvf(i+1,j+1)
其中f(i,j)表示源圖像(i,j)處的的像素值漫谷,以此類推。
  比如蹂析,象剛才的例子舔示,現(xiàn)在假如目標(biāo)圖的象素坐標(biāo)為(1,1)识窿,那么反推得到的對(duì)應(yīng)于源圖的坐標(biāo)是(0.75 , 0.75), 這其實(shí)只是一個(gè)概念上的虛擬象素,實(shí)際在源圖中并不存在這樣一個(gè)象素,那么目標(biāo)圖的象素(1斩郎,1)的取值不能夠由這個(gè)虛擬象素來決定,而只能由源圖的這四個(gè)象素共同決定:(0喻频,0)(0缩宜,1)(1,0)(1甥温,1)锻煌,而由于(0.75,0.75)離(1,1)要更近一些姻蚓,那么(1,1)所起的決定作用更大一些宋梧,這從公式1中的系數(shù)uv=0.75×0.75就可以體現(xiàn)出來,而(0.75,0.75)離(0狰挡,0)最遠(yuǎn)捂龄,所以(0,0)所起的決定作用就要小一些加叁,公式中系數(shù)為(1-u)(1-v)=0.25×0.25也體現(xiàn)出了這一特點(diǎn)倦沧。
2,計(jì)算方法

image

首先它匕,在X方向上進(jìn)行兩次線性插值計(jì)算展融,然后在Y方向上進(jìn)行一次插值計(jì)算。

  
image
image

在圖像處理的時(shí)候豫柬,我們先根據(jù)
  srcX=dstX* (srcWidth/dstWidth) ,
  srcY = dstY * (srcHeight/dstHeight)
來計(jì)算目標(biāo)像素在源圖像中的位置告希,這里計(jì)算的srcX和srcY一般都是浮點(diǎn)數(shù)扑浸,比如f(1.2, 3.4)這個(gè)像素點(diǎn)是虛擬存在的,先找到與它臨近的四個(gè)實(shí)際存在的像素點(diǎn)
 ⊙嗯肌(1喝噪,3) (2,3)
 ≈该础(1仙逻,4) (2,4)
  寫成f(i+u,j+v)的形式涧尿,則u=0.2,v=0.4, i=1, j=3
  在沿著X方向差插值時(shí),f(R1)=u(f(Q21)-f(Q11))+f(Q11)
  沿著Y方向同理計(jì)算檬贰。
  或者姑廉,直接整理一步計(jì)算,f(i+u,j+v) = (1-u)(1-v)f(i,j) + (1-u)vf(i,j+1) + u(1-v)f(i+1,j) + uvf(i+1,j+1) 翁涤。

參考

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末桥言,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子葵礼,更是在濱河造成了極大的恐慌号阿,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,185評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鸳粉,死亡現(xiàn)場(chǎng)離奇詭異扔涧,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)届谈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門枯夜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人艰山,你說我怎么就攤上這事湖雹。” “怎么了曙搬?”我有些...
    開封第一講書人閱讀 163,524評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵摔吏,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我纵装,道長(zhǎng)征讲,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,339評(píng)論 1 293
  • 正文 為了忘掉前任搂擦,我火速辦了婚禮稳诚,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘瀑踢。我一直安慰自己扳还,他們只是感情好才避,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,387評(píng)論 6 391
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著氨距,像睡著了一般桑逝。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上俏让,一...
    開封第一講書人閱讀 51,287評(píng)論 1 301
  • 那天楞遏,我揣著相機(jī)與錄音,去河邊找鬼首昔。 笑死寡喝,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的勒奇。 我是一名探鬼主播预鬓,決...
    沈念sama閱讀 40,130評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼赊颠!你這毒婦竟也來了格二?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,985評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤竣蹦,失蹤者是張志新(化名)和其女友劉穎顶猜,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體痘括,經(jīng)...
    沈念sama閱讀 45,420評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡长窄,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,617評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了纲菌。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片抄淑。...
    茶點(diǎn)故事閱讀 39,779評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖驰后,靈堂內(nèi)的尸體忽然破棺而出肆资,到底是詐尸還是另有隱情,我是刑警寧澤灶芝,帶...
    沈念sama閱讀 35,477評(píng)論 5 345
  • 正文 年R本政府宣布郑原,位于F島的核電站,受9級(jí)特大地震影響夜涕,放射性物質(zhì)發(fā)生泄漏犯犁。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,088評(píng)論 3 328
  • 文/蒙蒙 一女器、第九天 我趴在偏房一處隱蔽的房頂上張望酸役。 院中可真熱鬧,春花似錦、人聲如沸涣澡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)入桂。三九已至奄薇,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間抗愁,已是汗流浹背馁蒂。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蜘腌,地道東北人沫屡。 一個(gè)月前我還...
    沈念sama閱讀 47,876評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像撮珠,于是被迫代替她去往敵國(guó)和親谁鳍。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,700評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 昨天去見工劫瞳,面試了下。女老板面試途中一直反復(fù)提到價(jià)值绷柒。 我就一直在思考志于,我所能創(chuàng)造的價(jià)值是啥? 我能做多少事废睦,如果...
    微微的微笑66閱讀 208評(píng)論 -2 1
  • Proxy/Delegate Application框架 有的時(shí)候伺绽,為了實(shí)現(xiàn)一些特殊需求,如界面換膚嗜湃、插件化等奈应,我...
    CodePlayer_Jz閱讀 1,154評(píng)論 3 1
  • 想象一個(gè)場(chǎng)景刚陡,你的寶貝2017年在重慶或者山東歡天喜地的出生了惩妇,為了讓寶寶健康的成長(zhǎng),你分三次去檢疫中心接種了長(zhǎng)春...
    馮塵閱讀 311評(píng)論 0 0
  • 一年前的這個(gè)時(shí)候筐乳, 或許我還在考場(chǎng)歌殃。 那時(shí)的我, 做完英語試卷蝙云, 望著窗外泛綠的樹葉發(fā)呆氓皱, 忽然腦海冒出一句話: ...
    moon蘇蘇閱讀 119評(píng)論 0 0