




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第利用Matlab一鍵生成工地海報(bào)特效目錄1.使用效果2.圖片準(zhǔn)備和導(dǎo)入3.圖像傾斜4.扭曲置換5.正交疊底6.緣修整(摳圖)7.背景圖像替換8.完整代碼
1.使用效果
這篇的本質(zhì)還是扭曲置換,其實(shí)看過前面幾篇文章的應(yīng)該都能猜出是怎樣做到的,下面開始講解:
2.圖片準(zhǔn)備和導(dǎo)入
首先m文件所在文件夾內(nèi)應(yīng)該有如下兩張圖:
此外還需要一張近似方形的圖片也要一起放在文件夾中,之后通過以下代碼導(dǎo)入和初步處理圖片(選擇幕布部分和去色代碼,可左右滑動):
bkgPic=imread('bkg.jpg');%背景圖
screenPic=bkgPic(190:555,(190:555)+160,:);%幕布區(qū)域圖片
grayscreenPic=rgb2gray(screenPic);%灰度化幕布區(qū)域圖片
screenRange=imread('screenRange.jpg');%幕布范圍圖(用來扣幕布邊緣細(xì)節(jié))
screenRange=rgb2gray(screenRange);
forePic=imread('2048.jpg');%要做成海報(bào)的圖片
3.圖像傾斜
我們可以看出幕布是有些傾斜的,我們?yōu)榱俗寛D片和幕布更加貼近,我們將圖片進(jìn)行傾斜處理并將其調(diào)整至與幕布區(qū)域相似的大?。?/p>
%前景圖片變形=============================================================
tform=affine2d([1-0.020;-0.0210;001]);
forePic=imwarp(forePic,tform);
exforePic=imresize(forePic,size(grayscreenPic)+26);
4.扭曲置換
這部分參考之前布料貼圖的部分呀:
%扭曲置換=================================================================
fori=1:size(grayscreenPic,1)
forj=1:size(grayscreenPic,2)
goffset=(double(grayscreenPic(i,j))-128)/10;
offsetLim1=floor(goffset)+13;
offsetLim2=ceil(goffset)+13;
sep1=goffset-floor(goffset);
sep2=ceil(goffset)-goffset;
c1=double(exforePic(i+offsetLim1,j+offsetLim1,:));
c2=double(exforePic(i+offsetLim2,j+offsetLim2,:));
ifsep1==0
c=double(exforePic(i+offsetLim1,j+offsetLim1,:));
else
c=c2.*sep1+c1.*sep2;
newforePic(i,j,:)=c;
end
5.正交疊底
%正交疊底=================================================================
newforePic=uint8((double(newforePic).*double(grayscreenPic))./220);
%imshow(newforePic)
%舊版本的用下面這段代碼
%newforePicR=double(newforePic(:,:,1)).*double(grayscreenPic)./220;
%newforePicG=double(newforePic(:,:,2)).*double(grayscreenPic)./220;
%newforePicB=double(newforePic(:,:,3)).*double(grayscreenPic)./220;
%newforePic(:,:,1)=newforePicR;
%newforePic(:,:,2)=newforePicG;
%newforePic(:,:,3)=newforePicB;
%newforePic=uint8(newforePic);
6.緣修整(摳圖)
上方正交疊底后,幕布外面還是灰色,而且幕布內(nèi)容部分超出幕布范圍,我們可以用幕布范圍圖修整幕布:
%邊緣修整=================================================================
screenPicR=screenPic(:,:,1);newforePicR=newforePic(:,:,1);
screenPicG=screenPic(:,:,2);newforePicG=newforePic(:,:,2);
screenPicB=screenPic(:,:,3);newforePicB=newforePic(:,:,3);
screenPicR(screenRange20)=newforePicR(screenRange
screenPicG(screenRange20)=newforePicG(screenRange
screenPicB(screenRange20)=newforePicB(screenRange
screenPic(:,:,1)=screenPicR;
screenPic(:,:,2)=screenPicG;
screenPic(:,:,3)=screenPicB;
screenPic=uint8(screenPic);
7.背景圖像替換
%將背景圖幕布區(qū)域換為新圖=================================================
bkgPic(190:555,(190:555)+160,:)=screenPic;
imshow(bkgPic)
8.完整代碼
functionconsPoster
bkgPic=imread('bkg.jpg');%背景圖
screenPic=bkgPic(190:555,(190:555)+160,:);%幕布區(qū)域圖片
grayscreenPic=rgb2gray(screenPic);%灰度化幕布區(qū)域圖片
screenRange=imread('screenRange.jpg');%幕布范圍圖(用來扣幕布邊緣細(xì)節(jié))
screenRange=rgb2gray(screenRange);
forePic=imread('2048.jpg');%要做成海報(bào)的圖片
%前景圖片變形=============================================================
tform=affine2d([1-0.020;-0.0210;001]);
forePic=imwarp(forePic,tform);
exforePic=imresize(forePic,size(grayscreenPic)+26);
%扭曲置換=================================================================
fori=1:size(grayscreenPic,1)
forj=1:size(grayscreenPic,2)
goffset=(double(grayscreenPic(i,j))-128)/10;
offsetLim1=floor(goffset)+13;
offsetLim2=ceil(goffset)+13;
sep1=goffset-floor(goffset);
sep2=ceil(goffset)-goffset;
c1=double(exforePic(i+offsetLim1,j+offsetLim1,:));
c2=double(exforePic(i+offsetLim2,j+offsetLim2,:));
ifsep1==0
c=double(exforePic(i+offsetLim1,j+offsetLim1,:));
else
c=c2.*sep1+c1.*sep2;
newforePic(i,j,:)=c;
%正交疊底=================================================================
newforePic=uint8((double(newforePic).*double(grayscreenPic))./220);
%imshow(newforePic)
%舊版本的用下面這段代碼
%newforePicR=double(newforePic(:,:,1)).*double(grayscreenPic)./220;
%newforePicG=double(newforePic(:,:,2)).*double(grayscreenPic)./220;
%newforePicB=double(newforePic(:,:,3)).*double(grayscreenPic)./220;
%newforePic(:,:,1)=newforePicR;
%newforePic(:,:,2)=newforePicG;
%newforePic(:,:,3)=newforePicB;
%newforePic=uint8(newforePic);
%邊緣修整=================================================================
screenPicR=screenPic(:,:,1);newforePicR=newforePic(:,:,1);
screenPicG=screenPic(:,:,2);newforePicG=newforePic(:,:,2);
screenPicB=screenPic(:,:,3);newforePicB=newforePic(:,:,3);
screenPicR(screenRange20)=newforePicR(screenRange
screenPicG(screenRange20)=newforePicG(screenRange
screenPicB(screenRange20)=newforePicB(screenRange
screenPic(:,:,1)=screenPicR;
screenPic(:,:,2)=screenPicG;
screenPic(:,:,3)=screenPicB;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中班健康與身體游戲探索
- 孕產(chǎn)婦健康教育核心要點(diǎn)
- 教育教學(xué)經(jīng)歷分享
- 常規(guī)測井方法原理課件
- 中班健康教育故事
- 消防安全教育預(yù)案
- 個人2025年技術(shù)技能提升計(jì)劃
- 九年級作文寫作目標(biāo)分階段計(jì)劃
- 危險化學(xué)品事故隱患排查治理導(dǎo)則
- 山東勝利油田教管中心2025年八年級地理模擬試題無答案
- 校園外賣公司管理制度
- BA系統(tǒng)對電氣設(shè)備動力柜(箱)的自控接口要求
- 汕尾市市直單位招聘政府聘員筆試真題2024
- 遼寧省鐵嶺市鐵嶺縣2023-2024學(xué)年七年級下學(xué)期7月期末考試地理試卷(含答案)
- 房顫患者用藥護(hù)理
- 2025年全國統(tǒng)一高考數(shù)學(xué)試卷(全國二卷)
- 無菌技術(shù)及手衛(wèi)生
- 托管機(jī)構(gòu)轉(zhuǎn)讓合同范本
- 綠電制綠氫及其綜合利用技術(shù)
- 農(nóng)村房產(chǎn)抵押協(xié)議書
- 2025年中國主控操作鍵盤市場現(xiàn)狀分析及前景預(yù)測報(bào)告
評論
0/150
提交評論