files = dir('C:\Users\周子維\Desktop\畢設相關\碎紙片\附件1\*.png'); %批量載入影像
image = cell(1, size(files, 1)) % 定義一個元組
for n=1:numel(files)
image{n} = imread(['C:\Users\周子維\Desktop\畢設相關\碎紙片\附件1\', files(n).name]);
end
[h,z] = size(image{1,1}); % 計算一張圖片矩陣的大小(行,列)
% 只取最左和最右列進行灰色關聯分析
% byz 存放 n 張圖片的,最左列 (1980行, n列)
for k=1:n
byz(:, k) = image{1, k}(: , 1); % 將第k張圖片的最左邊一列放入矩陣byz的第k列
byy(:, k) = image{1, k}(: , z); % 將第k張圖片的最右邊一列放入矩陣byy的第k列
end
%利用頁邊距尋找第一張圖片
for i=1:n % 遍歷附件1的所有圖片
sum=0;
for j=1:h % 遍歷 圖片最左列 的所有行
if byz(j,i)== 255 % 計算255的個數
sum=sum+1;
else
break;
end
end
if sum==h % 如果 最左列255個數和行數一樣,說明他屬于第一張圖片
f=i;
end
end
paixu=zeros(1,n); % 定義 n列向量,用來排序
index=1;
paixu(index) = f ; % 選擇第一張圖片
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/54191.html
標籤:其他開發語言
