全息投影图片合成-(matlab)(将4个视角图合成为一张)
生活随笔
收集整理的這篇文章主要介紹了
全息投影图片合成-(matlab)(将4个视角图合成为一张)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
全息投影圖片合成-(matlab)(將4個視角圖合成為一張)
(數字圖像處理課的作業,第一次發布文章,寫的不好,請見諒)
最終結果錄屏:
用matlab合成的全息投影
制作過程
- 讀入圖片,分組、旋轉、并轉化為二值圖
- 讀入圖片,分組
- 旋轉
- 轉化為二值圖
- 判斷各圖中心點,遍歷替換合成全息圖
- 循環播放
- 完整代碼及源文件
- 源文件
讀入圖片,分組、旋轉、并轉化為二值圖
讀入圖片,分組
A=cell(1,50);%存放原圖,50組 for i=1:1:50A{1,i}=cell(1,4);%存放第i組中的4張圖for j=1:1:4I=imread([num2str(4*(i-1)+j),'.png’]);A{i}{j}=I;%將I存為第i組第j張end end旋轉
if(j==4) I=imrotate(I,270);elseif(j==3); I=imrotate(I,180);elseif(j==2); I=imrotate(I,90); end轉化為二值圖
B=cell(1,50);%存放二值圖,50組J=rgb2gray(I); bw=im2bw(J,0.75);se=strel('disk',1,0); bw=imopen(bw,se); %開操作消噪bw=bwareaopen(bw,60,8); B{i}{j}=bw;判斷各圖中心點,遍歷替換合成全息圖
這是制作演講ppt時寫的一些步驟,參數有部分改動
循環播放
while(1)for i=1:1:50imshow(C{i});pause(0.1);end end完整代碼及源文件
clc,clear A=cell(1,50);%存放原圖 B=cell(1,50);%存放二值圖 C=cell(1,50);%存放全息圖 %% 讀入所有圖片,并得到A,B for i=1:1:50A{1,i}=cell(1,4);B{1,i}=cell(1,4);for j=1:1:4I=imread([num2str(4*(i-1)+j),'.png']);if(j==4)I=imrotate(I,270);elseif(j==3);I=imrotate(I,180);elseif(j==2);I=imrotate(I,90);endA{i}{j}=I;J=rgb2gray(I);bw=im2bw(J,0.75);se=strel('disk',1,0);bw=imopen(bw,se); bw=bwareaopen(bw,60,8); B{i}{j}=bw;end end %% 合成C for i=1:1:50C{1,i}=zeros(1200,1200,3);for j=1:1:4[m,n]=size(B{i}{j});if(j==4)w=600;h=300;elseif(j==3)w=300;h=600;elseif(j==2)w=600;h=900;elsew=900;h=600;endfor x=1:1:mfor y=1:1:nif (B{i}{j}(x,y)==0) C{i}(w-round(m/2)+x,h-round(n/2)+y,1)=A{i}{j}(x,y,1);C{i}(w-round(m/2)+x,h-round(n/2)+y,2)=A{i}{j}(x,y,2);C{i}(w-round(m/2)+x,h-round(n/2)+y,3)=A{i}{j}(x,y,3);C{i}=uint8(C{i});endendendend end %% 循環播放 while(1)for i=1:1:50imshow(C{i});pause(0.1);end end源文件
鏈接:百度網盤
提取碼:qxty
總結
以上是生活随笔為你收集整理的全息投影图片合成-(matlab)(将4个视角图合成为一张)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode——5805. 最小未被
- 下一篇: 独孤思维:哇,看到三点式又激动了