91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用MATLAB做一個完美的照片墻

發布時間:2021-12-30 17:10:04 來源:億速云 閱讀:148 作者:小新 欄目:大數據

這篇文章主要為大家展示了“怎么用MATLAB做一個完美的照片墻”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“怎么用MATLAB做一個完美的照片墻”這篇文章吧。

-- 原理 --

其實,如果前面分割圖片的原理理解了的話,本期中拼接圖片的原理不用說也能想的到。

照片墻不就是一個由許多小圖片構成的大圖片么,也就是說照片墻實際上就是由許多小矩陣構成的大矩陣。豁然開朗了把,只要用循環把這些矩陣拼接起來就能實現。(不過值得注意的是,一般都是rgb圖像,如果直接以原來的尺寸拼接,會出現矩陣太大,MATLAB就直接不干了,所以如果圖片比較多的話需要先采用imresize函數縮小一下

怎么用MATLAB做一個完美的照片墻

-- 源碼 --

clc
clear
close all
warning off

%% 我把保存圖片的文件夾temp移到當前路徑下了,里面有16張圖片
Pics = struct2cell(dir('temp \*jpg'));%讀取文件夾中的圖片
Pics = Pics(1,:);%獲取圖片名
OnePic = imread(['temp\' Pics{1}]);%讀入第一張圖片
OnePic = imresize(OnePic,0.5);%原圖比較大,合成成照片墻后,照片墻太大,所以縮小一下
m = size(OnePic,1);%獲取第一張圖片的像素行數
n = size(OnePic,2);%獲取第一張圖片的像素列數

%% temp中有16張圖片
%這里設置為4x4的照片墻
row = 4;%4行
column = 4;%4列

fullPic = uint8(zeros(m*row,n*column,3));%初始化照片墻
k = 1;%初始化計數器,用于記錄第幾張圖片
for i = 0:row-1
    for j = 0:column-1
        I_Temp = imread(['temp\' , Pics{k}]);%讀入照片
        I_Temp = imresize(I_Temp,[m,n]);%把所有照片大小設置為第一張照片的大小
        fullPic(i*m+1:(i+1)*m , j*n+1:(j+1)*n , :) = I_Temp;%拼接
        k = k+1;%更新計數器
        imshow(fullPic)%顯示當前的照片墻
        drawnow%刷新屏幕
    end
end
imwrite(fullPic,'PicWall.jpg')%保存圖片嘍

由于之前的分割圖片我們是要保存多張圖片,所以采用四維數組,第四維是照片的張數。而這里我們最后只要保存一張圖片所以采用三維數組保存即可

-- imresize函數的部分用法 --

這里我還是直接粘貼help的內容吧,大家一塊學學英語。

 imresize: Resize image.

   B = imresize(A, SCALE) returns an image that is SCALE times the

    size of A, which is a grayscale, RGB, or binary image.(這個非限定從別管它)

   B = imresize(A, [NUMROWS NUMCOLS]) resizes the image so that it has the specified number of rows and columns.  Either NUMROWS or NUMCOLS may be NaN, in which case imresize computes the number of rows or columns automatically in order to preserve the image aspect ratio.

解釋一下吧:第一個用法中,SCALE是把圖像矩陣A放大的倍數,比如縮小0.5倍就寫0.5,就行。

第二個用法用,[NUMROWS NUMCOLS]放的是resize后的圖片有NUMROWS行像素和NUMCOLS列像素。

程序中采用了第一種方法。

-- 效果 --

我電腦有點卡,所以下面的GIF開頭有點慢。(主要還是照片墻的矩陣有點大)

怎么用MATLAB做一個完美的照片墻

怎么用MATLAB做一個完美的照片墻

以上是“怎么用MATLAB做一個完美的照片墻”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

桐梓县| 高雄市| 怀集县| 盐山县| 临猗县| 仪陇县| 韩城市| 永登县| 衢州市| 舞钢市| 上高县| 婺源县| 二连浩特市| 平泉县| 兴海县| 独山县| 庆阳市| 咸宁市| 洮南市| 芜湖县| 甘肃省| 江山市| 伽师县| 新余市| 安泽县| 阳信县| 筠连县| 军事| 江阴市| 林周县| 大宁县| 沈丘县| 维西| 运城市| 衢州市| 舞钢市| 吉隆县| 临桂县| 获嘉县| 海阳市| 开化县|