一 序言

       近期接到评审人的修改建议,在其中一条为<RC: There were only five images evaluated in the experiment, and I recommend increasing to twenty to further evaluate the algorithm performance.>他说道我毕业论文仅有五副图象用于点评优化算法特性,强烈推荐我最少用20副图象来模拟仿真优化算法实际效果. 但绝大部分SCI论文的试验一部分全是五副红外线图象,三个参照优化算法,即每一张红外线图象相匹配五副不一样的結果,那麼5副图象便是25张图象了,那样出来早已占了毕业论文的大部分篇数了.假如提升为20副,那最少需放100张不一样結果的图象,可能得占好几页纸! 我TM, 简直无奈! 全是依照发布的毕业论文写的,评审人居然明确提出这般规定.....但是大学毕业只能硬着头皮搞, 就算评审人要我摘星星,因为我得踮脚尖往上跳!

 

二 MATLAB怎样完成一次打印出20副图象

 

(一)免费下载20副红外线图象

   即然要做二十副红外线图象的优化算法试验,最先得寻找二十张红外线图象,那便去在网上找红外线图象数据,一篇blog以下:https://blog.csdn.net/qq_15698613/article/details/109052006

因为近期也在数据IC找个工作,或是强烈推荐一下学习培训IC基本知识的blog;https://blog.csdn.net/mu_guang_/category_10397670.html

关键强烈推荐2个数据:用以根据深度神经网络的红外线目标检测

1.第一个数据

   http://csr.bu.edu/BU-TIV/BUTIV.html

2.第二个数据Thermal Infrared Dataset

https://projects.asl.ethz.ch/datasets/doku.php?id=ir:iricra2014

这种数据,大部分全是几千几百张图象,因此 全是一个G或4个G的尺寸,很恐怖!所以我立即启用了百度搜索网盘会员免费下载,要不然4个G下载不了!倘若对深度神经网络的红外线目标检测有兴趣,那么就必定免费下载用以优化算法科学研究!

 

(二) matlab完成对键入的20副红外线图像算法解决后輸出

 

   构思是;分为二步,第一步是把优化算法解决后的20副红外线图象放到一个元胞空间向量中;第二步,輸出表明每一个优化算法的結果图象,并分派一个文件夹名称;

1.第一步优化算法解决获得20副红外线图象的輸出結果

把键入的20副红外线图象取值给5行4列的元胞数组,用循环系统完成对元胞数组中的每一副红外线图象做优化算法解决,取值给一个包括20个原素的元胞空间向量OUT1,编码以下:

 

%this file is used to
%once display the result of Algorithm for 20 images
%pattention:the function can't have a figure
%--subplot(1,1,1);or imshow(test_R2); 
clc;
close all;
clear;
%----a example for display different solution images----
24*256
I1=imread('../infrared/17sempach_BG1_1.png');
I2=imread('../infrared/18sempach_BG2_1.png');
I3=imread('../infrared/19sempach_BG3_1.png');
I4=imread('../infrared/20sempach_BG4_1.png');
24*256
Q2*512
I5=imread('../infrared/01orange_raw01.png');
I6=imread('../infrared/02orange01_nuc.png');
I7=imread('../infrared/11green_TIV01.png');
I8=imread('../infrared/12red_TIV01.png');
Q2*512
d0*512
I9=imread('../infrared/03red_cma01.png');
I10=imread('../infrared/04red_cmb01.png');
I11=imread('../infrared/06cmA_seq01.png');
I12=imread('../infrared/07cmC_seq01.png');

I13=imread('../infrared/08cmA_seq1_01.png');
I14=imread('../infrared/09cmB_seq2_01.png');
I15=imread('../infrared/21FLIR_video_00001.tiff');
I16=imread('../infrared/22FLIR_08863.tiff');
I17=imread('../infrared/23FLIR_thermal1.tiff');
d0*512
24*512
I18=imread('../infrared/13raw01.png');
I19=imread('../infrared/14seq3_nuc01.png');
I20=imread('../infrared/15seq4_nuc01.png');
24*512
24*640
I21=imread('../infrared/16seq5_nuc01.png');
24*640
24*1024
I22=imread('../infrared/03red_cma01.png');
I23=imread('../infrared/10seq3_raw01.png');
24*1024
%----a example for display different solution of images----
%input 20 different images
%Picture save "batch"
I = cell(5,4);
I{1,1}=I1;  I{1,2}=I2; I{1,3}=I3; I{1,4}=I4;
I{2,1}=I5;  I{2,2}=I6; I{2,3}=I7; I{2,4}=I8;
I{3,1}=I9;  I{3,2}=I10;I{3,3}=I11;I{3,4}=I12;
I{4,1}=I13; I{4,2}=I14;I{4,3}=I15;I{4,4}=I16;
I{5,1}=I17; I{5,2}=I18;I{5,3}=I19;I{5,4}=I20;
out1 = cell(1,20);
%Picture save "batch" by method 1
%this method is not recommend
%Not centered
% for i =1:2
%     for j = 1:2
%         temp = I{i,j};
%         out = GABF_DDE_top820(temp);
%         out1{(2*(i-1) j)} = out;
%          H = figure;
%         subplot(2,2,(2*(i-1) j));
%         imshow(out);title({num2str(i);num2str(j)});
%         print(H,'-dtiffn','-r600',num2str((2*(i-1) j)));
%     end
% end
%Picture save "batch" by method 2
%the result is centred
%recommened 
for i =1:5
    for j = 1:4
        temp = I{i,j};
        out = GABF_DDE_top820(temp);
        out1{(4*(i-1) j)} = out;
%         subplot(5,4,(4*(i-1) j));
%         imshow(out);title({num2str(i);num2str(j)});
    end
end

 

  2.第二步,为每一个輸出結果分派文件夹名称,且让图象表明对话框没留空缺

       先用一个元胞空间向量filename储放20个红外线图象的文件夹名称,随后融合print函数和循环结构,给每一个結果特定储存图片文件格式如tiff,图象的屏幕分辨率600PPI('-r600'),文件夹名称filename{k}

在其中的一个闪光点是,matlab表明图象没留空缺,编码仅一行重要:set(gca, 'position', [0 0 1 1 ]);axis normal;%the csdn website

matlab编码以下:

filename = { 'IMA1', 'IMA2', 'IMA3', 'IMA4'...
             ,'IMA5', 'IMA6', 'IMA7', 'IMA8'...
             ,'IMA9','IMA10','IMA11','IMA12'...
             ,'IMA13','IMA14','IMA15','IMA16'...
             ,'IMA17','IMA18','IMA19','IMA20'};
for k = 1:length(filename)
      H = figure;   % 特定图片打印figure_handles
       subplot(1,1,1);imshow(out1{k});
       set(gca, 'position', [0 0 1 1 ]);axis normal;%the csdn website
       print(H,'-dtiffn','-r600',filename{k}) ;%internet
%        print(H,'-dtiffn','-r600',num2str(k)) ;%internet
end

  关键是print函数大批量輸出不一样文件夹名称的图象,matlab表明图象沒有不必要的空缺

三试验結果展现

 

下边得出,可以做到预期目标的试验結果:1.即一次大批量輸出20副红外线图象且每一个分派文件夹名称和储存为600PPI的tiff文件格式;2.一次輸出表明20副红外线图象;3.matlab表明图象沒有不必要空缺(为了更好地放到毕业论文漂亮);

图1

图2有不必要的空缺的結果图象,以下所显示

图3为填充斥着全部对话框的图象結果,以下

得出在同一幅图象表明二种实际效果的试验图,以下

 毕业论文如果图象有不必要的空缺,如上边Figure2对话框的图象,那麼评审人会怼你,便是为了更好地凑篇幅占篇数,非常尴尬!因此 为了更好地让毕业论文更紧密,內容充足,你得让matlab优化算法解决的红外线图象沒有不必要空缺,如如上边Figure1对话框图象新倩女幽魂2所显示,那样在毕业论文中很美观大方。以下所显示:第一张无空缺在word中,第二张是有空缺在word中,还得出了调节图象PPI的四种方式.

 

汇总:

 碰到难题,得学会思考,有更快和高效率的方法,并不一定一切都循规蹈矩做,如昨日搜索发现,许多 无效劳动都能够在matlab选用for循环完成,如与此同时表明四种优化算法的模拟仿真实际效果,能够 把四个优化算法封裝成涵数,在循环系统中对于键入的多副图象,启用不一样涵数解决表明就可以;也有平常的办公室,如在word中插进多副图象,如300副,并并不是必须每一次手动式搜索图象部位,在word中点插进,随后一次次调节尺寸,太费时间勒!我插进二十副,搞了一个夜里!可以用多种多样开发语言完成,如python,VB,宏命令的脚本制作!

脚本制作,代表着一劳永逸!

期待下一次遇上反复的体力活活,可以想起用脚本制作完成,但学习培训脚本制作毫无疑问必须抽附加時间不断学习!准备学习培训一下python,随后有李笑来的通过自学是门技艺,学无止境!

 

论文参考文献:

1.matlab帮助文件主题风格:储存图窗时尽量减少空缺室内空间

2.https://blog.csdn.net/u011624019/article/details/79267394

 

评论(0条)

刀客源码 游客评论