亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于MATLAB的圖像無縫拼合系統(tǒng)的研究與實現(xiàn)

        2015-06-24 13:00:40尹振鶴
        電腦知識與技術(shù) 2015年11期

        摘要:MATLAB是一種廣泛應(yīng)用于工程計算及數(shù)值分析領(lǐng)域的新型高級語言,有著強(qiáng)大的數(shù)值計算功能和繪圖功能,且具有豐富的圖像處理函數(shù)。目前Matlab已被廣泛的應(yīng)用于研究和解決各種工程問題。利用泊松圖像編輯方法,在Matlab環(huán)境下實現(xiàn)了圖像無縫拼合系統(tǒng)。該系統(tǒng)能夠?qū)崿F(xiàn)彩色圖像的無縫拼合,且可以改變待處理區(qū)域內(nèi)景物的色彩、光照等因素,使拼合后的圖像更加真實、自然。

        關(guān)鍵詞:Matlab;圖像無縫拼合;泊松方程

        中圖分類號:TP18 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2015)11-0167-02

        Research and Implementation of Seamless Image Mosaic System Based on MATLAB

        YIN Zhen-he

        (Jiangsu Lianhe Technical Institute Xuzhou Finance and Economics Branch, Xuzhou 221000, China)

        Abstract: MATLAB is a widely used in engineering calculation and numerical analysis in the field of advanced language, has a powerful calculation function and drawing numerical, and has rich image processing functions. At present, Matlab has been widely applied to research and solve all kinds of problems in engineering. By using the Poisson image editing method, image seamless splicing system in Matlab environment. The system can realize the seamless combination of color image, and can change the region scenery color, light and other factors to make the image mosaic, the more real, natural.

        Key words: Matlab; seamless image mosaic; Poisson's equation

        1系統(tǒng)的總體結(jié)構(gòu)

        本系統(tǒng)主要包含四個步驟:

        步驟1,將待處理區(qū)域圖像選取并拷貝到所要求的目標(biāo)圖像上,直接拼合后得到的圖像存在明顯的拼接贗像;

        步驟2,求指導(dǎo)矢量場V的散度值;

        步驟3,建立泊松方程,并求泊松方程的解向量;

        步驟4,進(jìn)行拉普拉斯插值。

        1)在步驟1中會用到getrect( )函數(shù)和getpts( )函數(shù),均是Matlab中自帶的系統(tǒng)函數(shù),分別完成選取一個矩形區(qū)域和一個點的功能。

        2)求指導(dǎo)矢量場散度的流程如圖1所示:

        圖1 求指導(dǎo)矢量場散度值

        在圖1中,pad_image( )函數(shù)是系統(tǒng)中的pad_image.m文件所完成的功能。在數(shù)字圖像處理中,微分由差分方程來取代。在取差分時,為了不丟失圖像的邊緣信息,建立pad_image( )函數(shù),對提取出的源圖像矩形區(qū)域和提取出的目標(biāo)圖像區(qū)域加一黑色邊框,邊框的大小由padding_factor參數(shù)決定。

        3)求泊松方程步驟如下:

        Step1:由五點差分法建立拉普拉斯方程;

        Step2:建立可進(jìn)行邏輯運算的模板矩陣mask,令其邊界元素為1,其余元素為0;

        Step3:mask矩陣與拉普拉斯方程矩陣進(jìn)行邏輯與運算,得到拉普拉斯線性方程的系數(shù)矩陣A_dash_dash;

        Step4:提取出的目標(biāo)圖像矩陣與mask進(jìn)行與運算,得到拉普拉斯線性方程的解向量x_dash_dash,系數(shù)矩陣與解向量相乘得到拉普拉斯方程的常數(shù)向量b_dash_dash;

        Step5:泊松方程的常數(shù)向量b_dash=divV-d_dash_dash;

        Step6:拉普拉斯方程矩陣與~mask矩陣進(jìn)行邏輯與運算,得到泊松方程的系數(shù)矩陣;

        Step7:進(jìn)行矩陣除法運算得到泊松方程的解向量x_dash;

        4)拉普拉斯插值:

        所謂拉普拉斯插值是指插值區(qū)域內(nèi)部滿足拉普拉斯方程。因此,僅需要將拉普拉斯方程的解向量賦值給插值區(qū)域內(nèi)部,泊松方程的解向量賦值給其邊界即可。

        2選取景物

        2.1讀入圖像

        在本系統(tǒng)中,為對多幅源圖像和目標(biāo)圖像進(jìn)行操作,引入變量fore_num和back_num來分別表示每一幅源圖像和目標(biāo)圖像的序號。每次執(zhí)行系統(tǒng)時使用者需要通過輸入序號來選擇源圖像和目標(biāo)圖像,為實現(xiàn)交互式操作,系統(tǒng)使用了Matlab自帶的disp( )函數(shù)來顯示圖像的信息。

        在Matlab環(huán)境中,通過imread( )函數(shù)來讀入圖像,源圖像信息存儲在fore_img矩陣中,目標(biāo)圖像信息存儲在back_img矩陣中。

        2.2選擇源圖像的待處理區(qū)域

        Matlab中的getrect( )函數(shù)可以實現(xiàn)用鼠標(biāo)選取矩形區(qū)域的功能,本系統(tǒng)采用此函數(shù)來選取景物所在的矩形區(qū)域。getrect( )函數(shù)的返回值是一個含有四個元素的矢量,且這四個元素分別是矩形區(qū)域左頂點像素所在源圖像矩陣中的行數(shù)、列數(shù)、矩形區(qū)域的寬、矩形區(qū)域的高。

        為得到矩形區(qū)域內(nèi)圖像的信息,采用Matlab系統(tǒng)中的round( )函數(shù)來取得這四個參數(shù)的整數(shù)值。因此,為不丟失圖像像素信息,在用鼠標(biāo)選取區(qū)域時,矩形區(qū)域的應(yīng)比目標(biāo)景物要大。將獲得的參數(shù)值分別賦給fore_st_x、fore_st_y、img_width和img_height。這樣便可以得到矩形區(qū)域在源圖像矩陣中所在的行數(shù)和列數(shù)。

        2.3拷貝矩形區(qū)域到目標(biāo)圖像

        在將源圖像矩形區(qū)域拷貝到目標(biāo)圖像之前,首先應(yīng)該選擇圖像的拼合區(qū)域。這一區(qū)域的大小與源圖像矩形區(qū)域大小相等。由2.2節(jié)可知已經(jīng)獲得矩形區(qū)域的寬和高,因此只要選定目標(biāo)圖像中的一點作為拼合區(qū)域的左頂點即可。

        Matlab中的getpts( )函數(shù)可以確定一個像素點,且其返回值是這一像素點在圖像矩陣中的行數(shù)和列數(shù)。由拼合區(qū)域左頂點的行數(shù)和列數(shù),以及矩形區(qū)域的寬和高,可以得到這一部分目標(biāo)圖像的像素信息。將這一部分的元素取出賦值給extracted_back_img矩陣。接著將源圖像矩形區(qū)域的像素賦值給這一區(qū)域即可得到直接拼合后的圖像。這種直接拼合的圖像存在明顯的拼接贗像。

        3消除拼接贗像

        3.1求指導(dǎo)矢量場V散度值

        在本課題中,本文令引導(dǎo)矢量場為穩(wěn)定場,即取它為函數(shù)的梯度。對于離散的數(shù)字圖像來說,梯度可以寫作:?Ii=Ii+1,j-Ii,ji+1-1=Ii+1,j-Ii,j,?Ij=Ii,j+1-Ii,jj+1-j=Ii,j+1-Ii,j。其中i,j分別是數(shù)字圖像I的行坐標(biāo)和列坐標(biāo)(圖像坐標(biāo)以左上角為整個坐標(biāo)空間的原點)。i,j不可超過圖像的高度和寬度。

        為保證所得差分不會丟失邊界信息,在本文中引入padding_factor參數(shù),并令其值為10(可以為大于0的任意數(shù))。系統(tǒng)中pad_image.m文件主要功能就是對提取出的待處理矩形區(qū)域和相對應(yīng)的目標(biāo)圖像中的矩形區(qū)域加一黑色邊框。將結(jié)果保存在padded_fore_img矩陣和padded_back_img矩陣中,上述的求差分均是對這兩個矩陣進(jìn)行的。具體程序如下(僅以源圖像為例):

        rws = size(fore_img,1);

        cls = size(fore_img,2);

        temp = zeros(rws,padding_factor);

        fore_img_temp_1 = zeros(rws,cls + (2*padding_factor),3);

        fore_img_temp_1(:,:,1) = [temp fore_img(:,:,1) temp];

        fore_img_temp_1(:,:,2) = [temp fore_img(:,:,2) temp];

        fore_img_temp_1(:,:,3) = [temp fore_img(:,:,3) temp];

        3.2建立拉普拉斯方程

        在系統(tǒng)中采用五點差分法建立拉普拉斯方程,存儲拉普拉斯方程的矩陣是大型的稀疏矩陣。設(shè)矩陣元素為N,為減少存儲量,本系統(tǒng)中引入三個5N維的列向量index、irow、icol分別來標(biāo)注矩陣中的非零元素所在的序號(按列的順序由左至右)、所在的行數(shù)和列數(shù),其初始化值均為0。

        在進(jìn)行編程時首先要確保中心像素不是位于邊界上的,即它一定含有四鄰域像素,可以進(jìn)行正常的五點差分。根據(jù)Matlab中自帶的sparse( )函數(shù)可以由這些列向量產(chǎn)生相應(yīng)的滿足拉普拉斯方程的矩陣。

        3.3解泊松方程

        在本系統(tǒng)中,通過拉普拉斯方程來構(gòu)建泊松方程。由數(shù)學(xué)知識可知,拉普拉斯方程如下:?2u?x2+?2u?y2=0 ,則相應(yīng)的泊松方程表達(dá)式為:?2u?x2+?2u?y2=φ(x,y) 。其中,由其邊界條件決定。兩者僅僅因邊界條件的不同而有所區(qū)別,因此,可以通過拉普拉斯方程來構(gòu)建泊松方程。

        結(jié)合邊界條件,把定解問題轉(zhuǎn)化為以未知函數(shù)在節(jié)點上的數(shù)值為未知量的線性方程組:。當(dāng)矩陣為非奇異矩陣時可以得到:。其中,為解向量,代表函數(shù)在節(jié)點上的數(shù)值;為系數(shù)矩陣,經(jīng)五點差分法后通常是一個大型的稀疏矩陣;為常數(shù)向量,由邊界條件確定。

        3.4拉普拉斯插值

        所謂拉普拉斯插值是指插值區(qū)域內(nèi)部滿足拉普拉斯方程,區(qū)域邊界滿足泊松方程。通過3.3節(jié)已經(jīng)取得泊松方程和拉普拉斯方程的邊界條件。設(shè)結(jié)果矩陣result是的矩陣(N為矩形區(qū)域中的像素點數(shù)目)。將拉普拉斯方程的解向量賦值給插值區(qū)域內(nèi)部,泊松方程的解向量賦值給插值區(qū)域邊界。通過reshape(result,rws,cls)函數(shù)重新構(gòu)成與矩形區(qū)域相同的圖像矩陣形式。其中rws和cls分別表示矩形區(qū)域圖像矩陣的行數(shù)和列數(shù)。列向量result的元素共有N=rws*cls個。新生成的矩陣的元素均來自列向量result中的元素。

        4 總結(jié)

        在本系統(tǒng)中,若選擇的矩形區(qū)域目標(biāo)過大,會超過內(nèi)存的容量,使得程序運行出錯。因此,有必要縮減Matlab對于矩陣信息的存儲。

        在泊松圖像編輯算法是對彩色圖像的三個顏色通道分別解泊松方程得到最后的結(jié)果。作者聲稱這三個通道是相互獨立的,但是未給出嚴(yán)格的數(shù)學(xué)證明。作為一種廣泛應(yīng)用的理論,對這一點給出嚴(yán)格的數(shù)學(xué)證明是必要的。

        參考文獻(xiàn):

        [1] 孫鑫,余安萍.VC++深入詳解.北京:電子工業(yè)出版社,2006.

        [2] 劉曉艷.微分方程數(shù)值分析基礎(chǔ)教程.北京:清華大學(xué)出版社, 2005.

        [3] 項志鋼.計算機(jī)圖形學(xué).北京:清華大學(xué)出版社,2008.

        [4] 馮有前.數(shù)值分析.北京:清華大學(xué)出版社,2008.

        [5] 尹振鶴.云計算的特點及應(yīng)用分析[J].硅谷.2014(12):126.

        [6] 鄒鈺.AutoCAD動態(tài)塊在室內(nèi)設(shè)計制圖中的應(yīng)用[J].硅谷.2014(12):126.

        [7] 楊翠芳.平面設(shè)計數(shù)字手段上的表達(dá)分析[J].電腦知識與技術(shù).2011(3):2148-2150.

        五月中文字幕| 91在线视频视频在线| 少妇太爽高潮在线播放| 精品精品久久宅男的天堂| 欧美牲交a欧美牲交| 国产av永久无码天堂影院| 中文字幕在线亚洲日韩6页手机版| 男人j进女人p免费视频| 精品国产97av一区二区三区| 亚洲色图专区在线视频| 麻豆╳╳╳乱女另类| 熟妇五十路六十路息与子| 国产又爽又黄又不遮挡视频| 免费观看日本一区二区三区| 岛国熟女精品一区二区三区| 亚洲国产成人精品无码区二本| 人人妻人人澡人人爽久久av| 中年人妻丰满AV无码久久不卡| 无码精品国产午夜| 亚洲精品一区二区成人精品网站| 精品九九人人做人人爱| 色先锋资源久久综合5566| 久久久99久久久国产自输拍| 日本系列有码字幕中文字幕| 妇女bbbb插插插视频| 可以免费观看的毛片| 日本最新一区二区三区视频| 亚洲精品av一区二区| 无码不卡av东京热毛片| 亚洲欧洲精品国产二码| 国产女主播大秀在线观看| 亚洲av无码日韩av无码网站冲| 农村欧美丰满熟妇xxxx| 国产精品视频一区二区噜噜| 91精品在线免费| 亚洲一区二区国产一区| 中文字幕日韩一区二区不卡| 久久久伊人影院| 一区=区三区国产视频| 婷婷伊人久久大香线蕉av| 欲妇荡岳丰满少妇岳|