使用matlab编写基于图像差异的Excel表格 [英] Writing to Excel sheet based on image difference using matlab

查看:153
本文介绍了使用matlab编写基于图像差异的Excel表格的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一些文件夹名为 test * 从测试1到测试100,例如,我需要打印文件夹名称作为第一行的标题。



然后我需要检查我的测试图像image2与这些文件夹内的每个图像,如果我的测试图像2和每个文件夹测试的每个图像之间的diff大于0.05将写入1否则写入0。直到测试我的代码如下:

  srcFolders = dir(' D:* \test'); 
为folder = 1:length(srcFolders)
path = strcat('D:\',srcFolders(folder).name);
sear = strcat(path,'\ * .bmp');
srcFiles = dir(sear);
for i = 1:length(srcFiles)
filename = strcat(path,'\',srcFiles(i).name);
Image1 = imread(filename);
Image2 = imread('D:\2','jpeg'); %image 2

x = diff(Image2,Image1)
%任何建议,以获取我的输出在Excel中打印
if(x> = 0.05)
xlswrite(xlsfile,srcFiles(i),'0','A1');
else
xlswrite(xlsfile,srcFiles(i),'1','A1');
end
end
end

谢谢

解决方案

 %在每个文件夹循环中,增加列范围,以便按文件夹
%在每个文件循环中,增加行范围,以便有一行一个文件

xls_filename ='foo.xls'; %你的xls文件的名称
xls_sheet ='sheet_name'; %放在这里你想写的工作表的名称

column_range ='A'%列范围的初始化
srcFolders = dir('D:\test *');
为folder = 1:length(srcFolders)
path = strcat('D:\',srcFolders(folder).name);
folder_range = strcat(column_range,'1');
xlswrite(xls_filename,{srcFolders(folder).name},xls_sheet,folder_range); %在第一行中写入文件夹的名称
sear = strcat(path,'\ * .bmp');
srcFiles = dir(sear);
row_range ='2';
for i = 1:length(srcFiles)
filename = strcat(path,'\',srcFiles(i).name);
Image1 = imread(filename);
Image2 = imread('D:\2','jpeg');
x = diff(Image2,Image1);
file_range = strcat(column_range,row_range);
if(x> = 0.05)
xlswrite(xls_filename,{'0'},xls_sheet,file_range); %在第二行写入'0'
else
xlswrite(xls_filename,{'1'},xls_sheet,file_range); %在第二行写入'1'
end
row_range = char(row_range + 1); %移动到下一行
end
column_range = char(column_range + 1); %移至下一列
end


I have some folders named test* from test 1 to test 100 for example, I need to print names of folders as header in first row.

Then I need to check my test image image2 with each image inside these folders if the diff bigger than 0.05 between my test image2 and every images from each folder test* will write 1 otherwise write 0. till to testn.

My code is as follow :

srcFolders = dir('D:\test*');
for folder = 1:length(srcFolders)
    path = strcat('D:\',srcFolders(folder).name);
    sear = strcat(path, '\*.bmp');
    srcFiles = dir(sear);
    for i = 1 : length(srcFiles)
        filename = strcat(path,'\',srcFiles(i).name);
        Image1= imread(filename);
        Image2 = imread('D:\2','jpeg'); % Image 2

        x = diff( Image2 , Image1)
        % any suggestion here to get my output for printing in excel 
        if (x >= 0.05)
            xlswrite(xlsfile, srcFiles(i), ‘0’, ‘A1’);
        else
            xlswrite(xlsfile, srcFiles(i), ‘1’, ‘A1’);
        end
    end
end

thanks

解决方案

%On every 'folder loop', increment the column range so you have 1 column by folder
%On every 'file loop', increment the row range so you have 1 row by file

xls_filename = 'foo.xls'; %The name of your xls file
xls_sheet = 'sheet_name'; % Put here the name of the sheet you want to write in

column_range = 'A' % Initialisation of the column range
srcFolders = dir('D:\test*');
for folder = 1:length(srcFolders)
    path = strcat('D:\',srcFolders(folder).name);
    folder_range = strcat(column_range, '1');
    xlswrite(xls_filename, {srcFolders(folder).name}, xls_sheet, folder_range); %Writing the name of the folder in the first row
    sear = strcat(path, '\*.bmp');
    srcFiles = dir(sear);
    row_range = '2';
    for i = 1 : length(srcFiles)
        filename = strcat(path,'\',srcFiles(i).name);
        Image1= imread(filename);
        Image2 = imread('D:\2','jpeg');
        x = diff( Image2 , Image1);
        file_range = strcat(column_range, row_range);
        if (x >= 0.05)
            xlswrite(xls_filename, {'0'}, xls_sheet, file_range ); %Writing '0' in the second row
        else
            xlswrite(xls_filename, {'1'}, xls_sheet, file_range ); %Writing '1' in the second row
        end
        row_range = char(row_range + 1); %Moving to the next row
    end
    column_range = char(column_range + 1); %Moving to the next column
end

这篇关于使用matlab编写基于图像差异的Excel表格的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆