




已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
通信工程應(yīng)用技術(shù)綜合訓(xùn)練與實(shí)習(xí)課程設(shè)計(jì)課程設(shè)計(jì)任務(wù)書學(xué)生姓名: 專業(yè)班級(jí): 指導(dǎo)教師: 工作單位: 題 目: 運(yùn)動(dòng)估計(jì)算法 初始條件: MATLAB軟件平臺(tái)要求完成的主要任務(wù):1. 設(shè)計(jì)任務(wù)設(shè)計(jì)視頻壓縮系統(tǒng)中的運(yùn)動(dòng)估計(jì)算法:全搜索法(FS: Full Search)和三步法(TSS: Three Step Search),比較二種方法的搜索點(diǎn)和每幀的峰值信噪比(PSNR: peak signal to noise ratio)2. 設(shè)計(jì)要求 編制算法代碼;對(duì)視頻進(jìn)行運(yùn)動(dòng)估計(jì);計(jì)算PSNR時(shí)間安排: 答辯時(shí)間2013年1月24日。指導(dǎo)教師簽名: 年 月 日系主任簽名: 年 月 日目 錄摘 要11 運(yùn)動(dòng)估計(jì)算法概念21.1 運(yùn)功估計(jì)算法基本思想21.2 運(yùn)動(dòng)估計(jì)算法實(shí)驗(yàn)原理22 設(shè)計(jì)原理和方法32.1 三步法32.2 新三步法32.3 全搜索法42.4 峰值信噪比53 運(yùn)動(dòng)估計(jì)算法的MATLAB編程63.1全搜索法63.2三步法93.3全搜索法指標(biāo)113.4三步法指標(biāo)113.4仿真結(jié)果分析114 小結(jié)與體會(huì)11參考文獻(xiàn)11附錄12摘 要運(yùn)動(dòng)估計(jì)的基本思想是盡可能準(zhǔn)確地獲得序列圖像幀間的運(yùn)動(dòng)位移,即運(yùn)動(dòng)矢量。因?yàn)檫\(yùn)動(dòng)估計(jì)越準(zhǔn)確,預(yù)測(cè)補(bǔ)償?shù)膱D像質(zhì)量越高,補(bǔ)償?shù)臍埐罹驮叫?,補(bǔ)償編碼所需位數(shù)越少,需要傳輸?shù)谋忍芈示驮叫 @玫玫降倪\(yùn)動(dòng)矢量在幀間進(jìn)行運(yùn)動(dòng)補(bǔ)償。補(bǔ)償殘差經(jīng)過(guò)變換、量化、編碼后與運(yùn)動(dòng)矢量一起經(jīng)過(guò)熵編碼,然后以比特流形式發(fā)送出去。在視頻編碼和處理系統(tǒng)中,運(yùn)動(dòng)估計(jì)和運(yùn)動(dòng)補(bǔ)償技術(shù)對(duì)降低視頻序列時(shí)間冗余度、提高編碼效率起著非常關(guān)鍵的作用。運(yùn)動(dòng)估計(jì)的準(zhǔn)確程度將直接決定視頻編碼器的編碼效率。關(guān)鍵詞:運(yùn)動(dòng)估計(jì)、運(yùn)動(dòng)補(bǔ)償技術(shù)、位移(運(yùn)動(dòng))矢量AbstractThe basic idea is that the motion estimation as accurate as possible the image sequence interframe motion displacement, i.e. the motion vector. Motion estimation more accurate prediction compensation, the higher the image quality is compensated residuals is smaller, less compensation coding bits required, the smaller the transmission bit rate. Performing motion compensation using the motion vector obtained in the interframe. Compensation residuals through transformation, quantization, entropy-coded together with the motion vector is encoded, and then sent out in the form of a bit stream.In video coding and processing system, the motion estimation and motion compensation to reduce the temporal redundancy of video sequence to improve the coding efficiency plays a crucial role. The degree of accuracy of the motion estimation will directly determine the encoding efficiency of the video encoder.Keywords: Motion estimation Motion compensation techniques The vector of displacement (movement)多媒體信息處理1 運(yùn)動(dòng)估計(jì)算法概念視頻原始圖像中存在著大量的信息冗余,如時(shí)間冗余、空間冗余、信息熵冗余、譜間冗余、幾何結(jié)構(gòu)冗余、視覺(jué)冗余和知識(shí)冗余等等。運(yùn)動(dòng)估計(jì)是視頻壓縮編碼中的核心技術(shù)之一,采用運(yùn)動(dòng)估計(jì)和運(yùn)動(dòng)補(bǔ)償技術(shù)可以消除視頻信號(hào)的時(shí)間冗余以提高編碼效率。如何提高運(yùn)動(dòng)估計(jì)的效率,使運(yùn)動(dòng)估計(jì)算法的搜索過(guò)程更健壯、更快速、更高效成為目前研究的熱點(diǎn)。運(yùn)動(dòng)估計(jì)的基本思想是盡可能準(zhǔn)確地獲得序列圖像幀間的運(yùn)動(dòng)位移,即運(yùn)動(dòng)矢量。因?yàn)檫\(yùn)動(dòng)估計(jì)越準(zhǔn)確,預(yù)測(cè)補(bǔ)償?shù)膱D像質(zhì)量越高,補(bǔ)償?shù)臍埐罹驮叫?,補(bǔ)償編碼所需位數(shù)越少,需要傳輸?shù)谋忍芈示驮叫 @玫玫降倪\(yùn)動(dòng)矢量在幀間進(jìn)行運(yùn)動(dòng)補(bǔ)償。補(bǔ)償殘差經(jīng)過(guò)變換、量化、編碼后與運(yùn)動(dòng)矢量一起經(jīng)過(guò)熵編碼,然后以比特流形式發(fā)送出去。運(yùn)動(dòng)估計(jì)算法多種多樣,大體上可以把它們分成四類:塊匹配法、遞歸估計(jì)法、貝葉斯估計(jì)法和光流法。其中塊匹配運(yùn)動(dòng)估計(jì)算法因其具有算法簡(jiǎn)單、便于VLSI實(shí)現(xiàn)等優(yōu)點(diǎn)得到廣泛應(yīng)用。所以本文將重點(diǎn)介紹塊匹配運(yùn)動(dòng)估計(jì)算法,并對(duì)各種塊匹配算法在計(jì)算速度和估計(jì)精度上進(jìn)行簡(jiǎn)單比較。1.1 運(yùn)功估計(jì)算法基本思想運(yùn)動(dòng)估計(jì)的基本思想是盡可能準(zhǔn)確地獲得序列圖像幀間的運(yùn)動(dòng)位移,即運(yùn)動(dòng)矢量。運(yùn)動(dòng)估計(jì)算法的目標(biāo)是效率和準(zhǔn)確性。由于在成象的場(chǎng)景中一般有多個(gè)物體作不同的運(yùn)動(dòng),如果直接按照不同類型的運(yùn)動(dòng)將圖像分割成復(fù)雜的區(qū)域是比較困難的。最直接和不受約束的方法是在每個(gè)像素都指定運(yùn)動(dòng)矢量,這就是所謂基于像素表示法。這種表示法是對(duì)任何類型圖像都是適用的,但是它需要估計(jì)大量的未知量,并且它的解時(shí)常在物理上是不正確,除非在估計(jì)過(guò)程中施加適當(dāng)?shù)奈锢砑s束。這在具體實(shí)現(xiàn)時(shí)是不可能的,通常采用基于塊的物體運(yùn)動(dòng)表示法。因?yàn)檫\(yùn)動(dòng)估計(jì)越準(zhǔn)確,預(yù)測(cè)補(bǔ)償?shù)膱D像質(zhì)量越高,補(bǔ)償?shù)臍埐罹驮叫?,補(bǔ)償編碼所需位數(shù)越少,需要傳輸?shù)谋忍芈示驮叫 ?.2 運(yùn)動(dòng)估計(jì)算法實(shí)驗(yàn)原理在幀間預(yù)測(cè)編碼中,由于活動(dòng)圖像鄰近幀中的景物存在著一定的相關(guān)性。因此,可將活動(dòng)圖像分成若干塊或宏塊,并設(shè)法搜索出每個(gè)塊或宏塊在鄰近幀圖像中的位置,并得出兩者之間的空間位置的相對(duì)偏移量,得到的相對(duì)偏移量就是通常所指的運(yùn)動(dòng)矢量,得到運(yùn)動(dòng)矢量的過(guò)程被稱為運(yùn)動(dòng)估計(jì)。 運(yùn)動(dòng)矢量和經(jīng)過(guò)運(yùn)動(dòng)匹配后得到的預(yù)測(cè)誤差共同發(fā)送到解碼端,在解碼端按照運(yùn)動(dòng)矢量指明的位置,從已經(jīng)解碼的鄰近參考幀圖像中找到相應(yīng)的塊或宏塊,和預(yù)測(cè)誤差相加后就得到了塊或宏塊在當(dāng)前幀中的位置。 運(yùn)動(dòng)估計(jì)的準(zhǔn)確程度往往用補(bǔ)償圖像與原圖像比較的PSNR來(lái)衡量表示。2 設(shè)計(jì)原理和方法2.1 三步法三步法是應(yīng)用得相當(dāng)廣泛的一種次優(yōu)的運(yùn)動(dòng)估計(jì)搜索算法它的搜索區(qū)間一般為-7,7 即在候選區(qū)中與編碼塊相同坐標(biāo)位置處為原點(diǎn),將參考?jí)K在其上下左右距離為7的范圍內(nèi)按照一定規(guī)律移動(dòng)移到一個(gè)位置就做匹配計(jì)算它總共進(jìn)行了三步搜索在下一次搜索時(shí)步長(zhǎng)減半以前一步搜索得到的最優(yōu)點(diǎn)為中心。下圖為三步法的搜索示意圖。三步法(TSS)搜索示意圖算法的中心思想是,采用一種由粗到細(xì)的搜索模式,從原點(diǎn)開始,按一定步長(zhǎng)取周圍8個(gè)點(diǎn)構(gòu)成每次搜索的點(diǎn)群,然后進(jìn)行匹配計(jì)算,利用上一步搜索得到的最小塊誤差MBD點(diǎn)作為當(dāng)前搜索的中心位置,每做一步,搜索的步長(zhǎng)減1。步搜索算法搜索窗選取(-7,+7),最多只需要做25個(gè)位置的匹配計(jì)算,相對(duì)于全搜索來(lái)比,大大減少了匹配運(yùn)算的復(fù)雜度,而且數(shù)據(jù)讀取比較規(guī)則。2.2 新三步法TSS 假定運(yùn)動(dòng)矢量分布特點(diǎn)是在搜索窗口中均勻分布, 但事實(shí)證明運(yùn)動(dòng)矢量是偏置中心的,Renxiang Li等人在TSS的基礎(chǔ)上提出了一種增強(qiáng)運(yùn)動(dòng)矢量中心偏置搜索和減小補(bǔ)償誤差的新三步法。新三步法(NTSS)搜索示意圖NTSS 是對(duì)TSS 的一個(gè)改進(jìn),對(duì)運(yùn)動(dòng)量比較小的視頻序列如可視電話序列有比較好的性能。對(duì)于絕大多數(shù)的視頻序列,運(yùn)動(dòng)矢量的分布都是在中心位置上的概率最大,隨著與中心位置的距離的增大,概率會(huì)急劇地下降,這也就是前面所說(shuō)的運(yùn)動(dòng)矢量的中心偏移特性。運(yùn)動(dòng)量比較小的視頻序列的這一特性會(huì)更加明顯。NTSS算法在最好的情況下只需要做17個(gè)點(diǎn)的匹配,在最壞的情況下需要做33個(gè)點(diǎn)的匹配,由于運(yùn)動(dòng)矢量中心偏置在現(xiàn)實(shí)視頻序列中是普遍存在的,在通常情況下,NTSS算法需要做33點(diǎn)匹配的概率比較小,因此,在低速率視頻應(yīng)用中,如視頻電話或視頻會(huì)議中,NTSS算法的優(yōu)點(diǎn)可以得到較好的發(fā)揮。2.3 全搜索法全搜索法(Full Search Method, FS)也稱為窮盡搜索法,是對(duì)(M 2dx )(N 2dy )搜索范圍內(nèi)所有可能的候選位置計(jì)算MAD (i,j)值,從中找出最小MAD,其對(duì)應(yīng)偏移量即為所求運(yùn)動(dòng)矢量。此算法雖計(jì)算量大,但最簡(jiǎn)單、可靠,找到的必為全局最優(yōu)點(diǎn)。FS算法描述如下:從原點(diǎn)出發(fā),按順時(shí)針螺旋方向由近及遠(yuǎn),在逐個(gè)像素處計(jì)算MAD值,直到遍歷搜索范圍內(nèi)聽有的點(diǎn),然后在計(jì)算的所有點(diǎn)的MAD中找到最小值,該點(diǎn)所在位置即對(duì)應(yīng)最佳運(yùn)動(dòng)矢量。但是正因?yàn)樗歉F盡搜索因此會(huì)產(chǎn)生巨大的計(jì)算量如 7, 7的搜索區(qū)間每個(gè)宏塊16*16 需計(jì)算225個(gè)MAD值,這就直接制約了編碼的實(shí)時(shí)實(shí)現(xiàn)??焖偎惴ū举|(zhì)上是一種窮盡搜索法其計(jì)算量仍是相當(dāng)巨大的。全搜索算法是簡(jiǎn)單也是效果最好的一種匹配算法,通過(guò)的全搜索匹配得到的結(jié)果是全局最優(yōu)的,但由于計(jì)算量很大,我們?cè)诰幗獯a中往往不采用這種方法,而只把他作為與其他算法的一種比較。開始獲取圖像分成N*N大小的塊計(jì)算MSE進(jìn)行塊匹配計(jì)算MAD比較結(jié)束圖2-1程序流程圖2.4 峰值信噪比峰值信噪比(經(jīng)??s寫為PSNR)是一個(gè)表示信號(hào)最大可能功率和影響它的表示精度的破壞性噪聲功率的比值的工程術(shù)語(yǔ)。由于許多信號(hào)都有非常寬的動(dòng)態(tài)范圍,峰值信噪比常用對(duì)數(shù)分貝單位來(lái)表示。PSNR是“Peak Signal to Noise Ratio”的縮寫。peak的中文意思是頂點(diǎn)。而ratio的意思是比率或比列的。整個(gè)意思就是到達(dá)噪音比率的頂點(diǎn)信號(hào),psnr是一般是用于最大值信號(hào)和背景噪音之間的一個(gè)工程項(xiàng)目。通常在經(jīng)過(guò)影像壓縮之后,輸出的影像通常都會(huì)有某種程度與原始影像不一樣。為了衡量經(jīng)過(guò)處理后的影像品質(zhì),我們通常會(huì)參考PSNR 值來(lái)認(rèn)定某個(gè)處理程序夠不夠令人滿意。PSNR計(jì)算公式如下:Peak 就是指8 bits 表示法的最大值255。MSE 指 Mean Square Error(均方誤差,各值相差的n次方和的平均值的n次平方根(這幾個(gè)字應(yīng)該沒(méi)有)),I(角標(biāo)n)指原始影像第n個(gè)pixel 值,P(角標(biāo)n)指經(jīng)處理后的影像第n個(gè)pixel 值。PSNR 的單位為dB。所以PSNR值越大,就代表失真越少。PSNR 是最普遍,最廣泛使用的評(píng)鑒畫質(zhì)的客觀量測(cè)法,不過(guò)許多實(shí)驗(yàn)結(jié)果都顯示,PSNR 的分?jǐn)?shù)無(wú)法和人眼看到的視覺(jué)品質(zhì)完全一致,有可能 PSNR 較高者看起來(lái)反而比 PSNR 較低者差。這是因?yàn)槿搜鄣囊曈X(jué)對(duì)于誤差的敏感度并不是絕對(duì)的,其感知結(jié)果會(huì)受到許多因素的影響而產(chǎn)生變化(例如:人眼對(duì)空間頻率較低的對(duì)比差異敏感度較高,人眼對(duì)亮度對(duì)比差異的敏感度較色度高,人眼對(duì)一個(gè)區(qū)域的感知結(jié)果會(huì)受到其周圍鄰近區(qū)域的影響)。3 運(yùn)動(dòng)估計(jì)算法的MATLAB編程3.1全搜索法 圖3-1-1 the first frame 圖3-1-2 the second frame 圖3-1-3 幀間差值 圖3-1-4 DFD圖3-1-5 恢復(fù)后的第二幀圖像圖3-1-6 第一幀圖像的運(yùn)動(dòng)矢量圖圖3-1-7 第二幀圖像的運(yùn)動(dòng)矢量圖3.2三步法 圖3-2-1 the first frame 圖3-2-2 the second frame 圖3-2-3 幀間差值 圖3-2-4 DFD圖3-2-5 恢復(fù)后的第二幀圖像圖3-2-6 第一幀圖像的運(yùn)動(dòng)矢量圖圖3-2-7 第二幀圖像的運(yùn)動(dòng)矢量圖3.3全搜索法指標(biāo)全搜索算法:耗時(shí)長(zhǎng)為Elapsed time is 1. seconds.3.4三步法指標(biāo)三步法:耗時(shí)長(zhǎng)為Elapsed time is 0. seconds.3.4仿真結(jié)果分析根據(jù)峰值信噪比可知全搜索算法的效果比三步法的效果要好;但全搜索所消耗的時(shí)間要比三步法所消耗的時(shí)間長(zhǎng),其運(yùn)行較慢,因?yàn)槿阉魉惴ǖ乃阉鼽c(diǎn)數(shù)要比三步法的搜索點(diǎn)數(shù)多很多。 4 小結(jié)與體會(huì) 通過(guò)本次對(duì)全搜索塊匹配算法課程設(shè)計(jì),讓我更深刻的理解了多媒體信息的獲取、搜索和保存的基本方法。基于塊的運(yùn)動(dòng)估計(jì),是先將視頻圖像分成一個(gè)個(gè)規(guī)則的圖像塊,然后對(duì)每個(gè)圖像塊估計(jì)運(yùn)動(dòng)矢量?;趬K的運(yùn)動(dòng)估計(jì)和運(yùn)動(dòng)補(bǔ)償已經(jīng)廣泛應(yīng)用于各種視頻壓縮編碼標(biāo)準(zhǔn)。因此,本次課程設(shè)計(jì)是非常有作用的,讓我們清醒的認(rèn)識(shí)到自己還有好大的差距,它讓我了解了多媒體處理的基本原理。課程設(shè)計(jì)中會(huì)遇到很多很多的困難,但在同學(xué)的幫助和自己思考下最終還是沒(méi)有解決問(wèn)題。所以,本次課程設(shè)計(jì)我個(gè)人的收獲不大,但是讓我知道自己還在圖像編程方面有很多欠缺的地方,不僅對(duì)均方誤差(MSE)、絕對(duì)值誤差(MAD)更深的理解,并且采用全搜索塊匹配方法得到所有宏塊的運(yùn)動(dòng)矢量,把c語(yǔ)言的知識(shí)又重新的過(guò)了一遍,同時(shí)還理解了些多媒體信息處理的基本原理。參考文獻(xiàn)1羅軍輝. MATLAB7.0在圖像處理中的應(yīng)用. 機(jī)械出版社.20052王家文. MATLAB7.0編程基礎(chǔ).機(jī)械出版社.20053鐘麟. MATLAB仿真技術(shù)與應(yīng)用教程.國(guó)防工業(yè)出版社.20044岡薩雷斯. 數(shù)字圖像處理(MATLAB版).電子工業(yè)出版社.2005附錄FS:clear all;I1=imread(claire1.bmp); %read the first frameI2=imread(claire2.bmp); %read the second framedm=7;%給圖像擴(kuò)邊,每個(gè)邊都擴(kuò)大dm大小% |-|-|-|% | B | C | D |% |-|-|-|% | | | |% | | | |% | E | A | F | - 圖像% | | | |% | | | |% | | | |% |-|-|-|% | G | H | I |% |-|-|-|% I1=double(I1);I2=double(I2);rownum colnum = size(I1); II=zeros(rownum+2*dm,colnum+2*dm);II(dm+1:dm+rownum,dm+1:dm+colnum)=I1;for i=1:dm II(i,dm+1:dm+colnum)=II(dm+1,dm+1:dm+colnum); II(rownum+dm+i,dm+1:dm+colnum)=II(dm+rownum,dm+1:dm+colnum);endfor j=1:dm II(1:rownum+2*dm,j)=II(1:rownum+2*dm,dm+1); II(1:rownum+2*dm,colnum+dm+j)=II(1:rownum+2*dm,dm+colnum);end %下面進(jìn)行全搜索算法 blocksize=16; rowblocks =rownum/blocksize; colblocks =colnum/blocksize; A=; %為了找到最小的均方誤差,A用于設(shè)定一個(gè)很大的初值 Eij=0; xrecord=ones(16,16); %xrecord,yrecord用于存放匹配快的塊號(hào),即運(yùn)動(dòng)矢量 yrecord=ones(16,16); diff=zeros(256,256); %這幅圖的大小為256*256 tic for x=0:(rowblocks-1) %x表示行中第幾個(gè)子塊 row=x*blocksize; for y=0:(colblocks-1) %y表示列中第幾個(gè)子塊 col=y*blocksize;% tempx=x*blocksize+1:(x+1)*blocksize;% tempy=y*blocksize+1:(y+1)*blocksize; for p=-dm:dm for q=-dm:dm %(p,q)表示x,y對(duì)應(yīng)子塊在前一幀所的搜索位置 Eij=0; Eij=sum(sum(I2(row+1:row+blocksize,col+1:col+blocksize)-II(row+dm+p+1:row+dm+p+blocksize,col+dm+q+1:col+dm+q+blocksize).2)/(blocksize2); if EijA A=Eij; xrecord(x+1,y+1)=p; yrecord(x+1,y+1)=q; end end end A=; for mx=1:blocksize for ny=1:blocksize diff(row+mx,col+ny)=I2(row+mx,col+ny)-II(row+mx+dm+xrecord(x+1,y+1),col+ny+dm+yrecord(x+1,y+1); end end end endtoc figure,imshow(I1,); title(the first frame); figure,imshow(I2,); title(the second frame); IIII=I2-I1; figure,imshow(IIII,); title(幀間差值); figure,imshow(diff,); title(DFD); %title(利用全搜索算法匹配后的幀間差); for x=0:(rowblocks-1) % row=x*blocksize; for y=0:(colblocks-1) % col=y*blocksize; III(row+1:row+blocksize,col+1:col+blocksize)=II(row+dm+xrecord(x+1,y+1)+1:row+dm+xrecord(x+1,y+1)+blocksize,col+dm+yrecord(x+1,y+1)+1:col+dm+yrecord(x+1,y+1)+blocksize)+diff(row+1:row+blocksize,col+1:col+blocksize); end end %III=I1+abs(diff); figure,imshow(III,); title(); ERR=diff;% figure,imshow(ERR,);% title(DFD); numberarray=0:1:255; for m=1:255 numberarray(m+1)=0; end; zeronumber=0; for n=1:rownum for m=1:colnum dif=abs(ERR(m,n); if(dif=0) temp=zeronumber; zeronumber=temp+1; else numberarray(dif)=numberarray(dif)+1; end; end; end; figure;plot(0,zeronumber,k*);hold on;plot(numberarray,r*),title(DFD distribution);hold off; ERR1=zeros(16,16); for i=0:15 for j=0:15 ERR1(i+1,j+1)=round(sum(sum(ERR(i*blocksize+1:i*blocksize+blocksize,j*blocksize+1:j*blocksize+blocksize)/(blocksize*blocksize); end end numberarray=0:1:255; for m=1:255 numberarray(m+1)=0; end; zeronumber=0; for n=1:16 for m=1:16 dif=abs(ERR1(m,n); if(dif=0) temp=zeronumber; zeronumber=temp+1; else numberarray(dif)=numberarray(dif)+1; end; end; end; figure;plot(0,zeronumber,k*);hold on;plot(numberarray,r*),title(DFD(block average) distribution);hold off; %figure;mesh(diff);figure;contour(diff,15); figure; for i=1:16 for j=1:16 quiver(i,j,xrecord(i,j)/16,yrecord(i,j)/16); hold on; end end grid on;figure;quiver(1:16,1:16,yrecord,xrecord); grid on; S_3SS:clear all; I1=imread(claire1.bmp); %read the first frameI2=imread(claire2.bmp); %read the second frame dm=7;I1=double(I1);I2=double(I2);rownum colnum = size(I1);II=zeros(rownum+2*dm,colnum+2*dm);II(dm+1:dm+rownum,dm+1:dm+colnum)=I1;for i=1:dm II(i,dm+1:dm+colnum)=II(dm+1,dm+1:dm+colnum); II(rownum+dm+i,dm+1:dm+colnum)=II(dm+rownum,dm+1:dm+colnum);endfor j=1:dm II(1:rownum+2*dm,j)=II(1:rownum+2*dm,dm+1); II(1:rownum+2*dm,colnum+dm+j)=II(1:rownum+2*dm,dm+colnum);end blocksize=16; rowblocks =rownum/blocksize; colblocks =colnum/blocksize; A=; % Eij=0; xrecord=ones(16,16); % yrecord=ones(16,16); diff=zeros(256,256); % tic for x=0:(rowblocks-1) % row=x*blocksize; for y=0:(colblocks-1) % col=y*blocksize;% tempx=x*blocksize+1:(x+1)*blocksize;% tempy=y*blocksize+1:(y+1)*blocksize; for p1=-4:4:4 % for q1=-4:4:4 % Eij=0; Eij=sum(sum(I2(row+1:row+blocksize,col+1:col+blocksize)-II(row+dm+p1+1:row+dm+p1+blocksize,col+dm+q1+1:col+dm+q1+blocksize).2)/(blocksize2); if EijA A=Eij; xrecord(x+1,y+1)=p1; yrecord(x+1,y+1)=q1; end end end p1=xrecord(x+1,y+1); q1=yrecord(x+1,y+1); for p2=p1-2:2:p1+2 % for q2=q1-2:2:q1+2 if p2=p1 | q2=q1 Eij=0; Eij=sum(sum(I2(row+1:row+blocksize,col+1:col+blocksize)-II(row+dm+p2+1:row+dm+p2+blocksize,col+dm+q2+1:col+dm+q2+blocksize).2)/(blocksize2); if EijA A=Eij; xrecord(x+1,y+1)=p2; yrecord(x+1,y+1)=q2; end end end end p2=xrecord(x+1,y+1); q2=yrecord(x+1,y+1); for p3=p2-1:1:p2+1 % for q3=q2-1:1:q2+1 if p3=p2 | q3=q2 Eij=0; Eij=sum(sum(I2(row+1:row+blocksize,col+1:col+blocksize)-II(row+dm+p3+1:row+dm+p3+blocksize,col+dm+q3+1:col+dm+q3+blocksize).2)/(blocksize2); if EijA A=Eij; xrecord(x+1,y+1)=p3; yrecord(x+1,y+1)=q3; end end end end A=; for mx=1:blocksize for ny=1:blocksize diff(row+mx,col+ny)=I2(row+mx,col+ny)-II(row+mx+dm+xrecord(x+1,y+1),col+ny+dm+yrecord(x+1,y+1); end end end endtoc figure,imshow(I1,); title(the first frame); figure,imshow(I2,); title(the second frame); IIII=I2-I1; figure,imshow(IIII,); title(); figure,imshow(diff,); title(DFD); for x=0:(rowblocks-1) row=x*blocksize; for y=0:(colblocks-1) col=y*blocksize; III(row+1:row+blocksize,col+1:col+blocksize)=II(row+dm+xrecord(x+1,y+1)+1:row+dm+xrecord(x+1,y+1)+blocksize,col+dm+yrecord(x+1,y+1)+1:col+dm+yrecord(x+1,y+1)+blocksize)+diff(row+1:row+blocksize
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 量化交易系統(tǒng)設(shè)計(jì)試題及答案
- 計(jì)算機(jī)二級(jí)VB考試考生指南試題及答案
- 2025年軟考設(shè)計(jì)師解答技巧試題及答案
- 行政管理學(xué)專業(yè)中的研究方法試題及答案
- 行政法學(xué)問(wèn)題解析試題及答案總結(jié)
- 年度市場(chǎng)推廣戰(zhàn)略的制定計(jì)劃
- 財(cái)務(wù)預(yù)算工作匯報(bào)
- VB程序設(shè)計(jì)常見(jiàn)題庫(kù)及答案
- 【蘇州】2025年江蘇蘇州市吳中區(qū)事業(yè)單位公開招聘工作人員93人筆試歷年典型考題及考點(diǎn)剖析附帶答案詳解
- 2025年軟考設(shè)計(jì)師本科知識(shí)體系試題及答案
- 運(yùn)輸供應(yīng)商年度評(píng)價(jià)表
- 2023年海南省財(cái)金集團(tuán)有限公司招聘筆試題庫(kù)及答案解析
- 信息系統(tǒng)項(xiàng)目管理師論文8篇
- 北京中考英語(yǔ)詞匯表(1600詞匯)
- 超市消防監(jiān)控系統(tǒng)設(shè)計(jì)
- 封樣管理規(guī)定
- 黃腐酸鉀項(xiàng)目可行性研究報(bào)告-用于立項(xiàng)備案
- 管理人員責(zé)任追究制度
- 自動(dòng)旋轉(zhuǎn)門PLC控制
- 電影場(chǎng)記表(雙機(jī)位)
- 畢設(shè)高密電法探測(cè)及數(shù)據(jù)處理解釋
評(píng)論
0/150
提交評(píng)論