COI实验室技能——自动切换显示器画面以及实现采集大量实验数据的方法 (可供深度学习训练)

  本文将介绍一种自动切换显示图片的方法,可以产生不同图像的实验数据;在该方法的基础上,结合控制相机采集图片的程序,即实现采集大量的实验数据。我们可以用这种方法为深度学习提供实验数据集,训练神经网络,实现特定的应用任务。

目录

  • 一、需求与应用场景
  • 二、实现方法
  • 三、应用实例

一、需求与应用场景

需求:假如手上有很多张图片(数据集),如何控制这些图片在显示器中自动切换显示呢?并且具有以下显示要求:
● 显示图片时没有窗口的边框;
● 图片可按任意尺寸进行显示;
● 图片可在任意位置进行显示,包括第二屏幕;
具体实现结果,如下图所示,

如图,该方法实现了无边框任意位置自动切换图片的功能,这在一些光学实验上可以作为很好的实验目标。

应用场景:
● 在空间光调制器上加载自己的图片,并实现自动切换图片;
● 将显示器作为光学成像实验的靶标,可以采集大量不同画面的实验数据,比如将它应用到散射成像中,就可以得到退化图像和清晰图像的配对数据,进而可以训练出实现散射成像的神经网络模型。

二、实现方法

  笔者主要通过matlab的java.swing工具包实现这一功能。其具体实现流程包括四步:

------------------
实现代码如下,自行准备好图片,可以直接复制下面代码到matlab中运行:

% matlab实现画面的自动显示
clc,clear
close all;n = 50;      % 图片集数量
show_in_second_screen = 0; % 是否在第二显示器显示
for i = 1:n% 读取图片并自动切换下一张图img = imread([num2str(i),'.png']);    % 注意图片的文件路径% 调用java.swaing工具包实现相关操作jimg = im2java(img);frame = javax.swing.JFrame;frame.setUndecorated(true);% 导入图片icon = javax.swing.ImageIcon(jimg);label = javax.swing.JLabel(icon);frame.getContentPane.add(label);% 设置窗口的位置,窗口大小默认为根据图像的尺寸if show_in_second_screenscreenSize = get(0, 'ScreenSize');frame.setLocation(screenSize,0);     % 平移第一显示器的宽度elseframe.setLocation(100,100);     % 根据自己的意愿设置显示位置end% 显示frame.pack;frame.repaint;frame.show;pause(1);
end

代码和数据可从网盘下载:
链接: https://pan.baidu.com/s/1KYLPijH_hznHk2u_ZcOpSw?pwd=p26k
提取码: p26k

采集大量实验数据
  在实现自动切换图片的功能之后,只要在程序执行显示命令之后,添加控制相机采集图片的程序即可完成自动采集数据的任务。matlab控制相机采集图片的方法可参考之前的博文:COI实验室技能:MATLAB控制PCO相机。

三、应用实例

  笔者利用上述方法进行散射成像的实验测试,将显示器放置在散射介质后面,采集对应的清晰图片和退化图片,训练神经网络,从而得到能实现散射成像的神经网络模型,其结果如下:


自动切换显示画面的效果:

  本次实验室技能介绍就到这里啦,后续持续补充,欢迎各位读者交流和指点!

COI实验室技能——自动切换显示器画面以及实现采集大量实验数据的方法(采集数据可供深度学习训练)相关推荐

  1. COI实验室技能:MATLAB控制PCO相机

    COI实验室技能:MATLAB控制PCO相机   利用程序控制相机采集图片可以实现采集任务的自动化,极大地提高实验效率.本文将系统性地介绍如何掌握这一技能.从环境配置 -> GUI界面使用 -& ...

  2. 计算光学成像(COI)实验室技能——matlab控制thorlabs位移平台(ActiveX控件)

    计算光学成像(COI)实验室技能--matlab控制thorlabs位移平台   本文将介绍如何用matlab代码控制thorlabs位移平台(其他支持ActiveX控件的硬件实现方法类似).通过代码 ...

  3. COI实验室技能:python控制相机的方法——采集、处理、显示、实时

    COI实验室技能:python控制相机的方法--采集.处理.显示.实时   本文介绍如何利用python控制办公摄像头.工业相机和科研相机.将数据采集和处理统一到python代码中.   主要围绕解决 ...

  4. COI实验室技能:常见的图像增强算法(含MATLAB代码)

    COI实验室技能:常见的图像增强算法(含MATLAB代码)   成像系统采集到的图片有时不一定具有很好的图像质量,往往需要进行一些图像增强的操作.本文主要整理了几种常见的图像增强算法,包括:同态滤波. ...

  5. android otg主从切换,一种自动切换OTG设备主从模式下的Vbus电压的方法与电路与流程...

    本发明涉及otg设备的检测领域,更具体地说,涉及一种自动切换otg设备主从模式下的vbus电压的方法与电路. 背景技术: 现有技术中,具备otg功能的设备通过检测usb_id引脚的状态来判断工作为ho ...

  6. hadoop主节点切换_hadoop2.0 HA的主备自动切换

    在<hadoop2.0 QJM方式的HA的配置>一文中介绍了HA的配置,是通过手工进行主备切换的.本文在这基础上,继续介绍HA的主备自动切换(automatic failover)的配置. ...

  7. 苹果7无线网怎么连接电脑连接服务器,iPhone7怎么连接Wifi无线网络?苹果iPhone7 wifi和网络流量自动切换吗?...

    iPhone7与7 Plus运行的都是iOS 10系统,体验非常出色,那么iPhone7怎么连Wifi?iPhone7无线网络怎么连接?iPhone7 wifi和网络流量自动切换吗?下面脚本之家的小编 ...

  8. 怎么调整计算机显示屏,电脑显示器画面怎么调整

    关于电脑显示器画面怎么调整这个问题,其实很简单的,下面就由学习啦小编来为你们简单的介绍电脑显示器画面的调整方法吧!希望你们喜欢! 电脑显示器画面的调整方法: 1.在桌面空白处点击鼠标右键,在弹出菜单中 ...

  9. [Android初级]可自动切换、无限滑动的广告栏的实现

    在很多的项目里都会遇到这样的需求,在主页上方实现类似可自动滑动(也可以手动滑动)的广告信息栏,主要是图片的显示和自动切换. 在网上很多博客看了很多方法,有使用Viewpager实现的,也有使用Gall ...

最新文章

  1. 使用Altera综合工具Quartus II下载到FPGA时无法识别USB-Blaster问题
  2. ThinkPHP+AJAX三级联动
  3. windows10下安装pytorch并导入pycharm
  4. video-js RTMP直播
  5. Ext Designer
  6. 使用java理解程序逻辑(16)
  7. 吴恩达机器学习(十)支持向量机(SVM)
  8. HTML解决div里面img的缝隙问题
  9. 关于Mysql服务自动关闭以及无法启动问题的解决办法
  10. ASP.NET MVC5+EF6+EasyUI 后台管理系统(59)-BLL层重构
  11. 将Excel文件数据导入到SqlServer数据库的三种方案
  12. 一起来做一个 c++ 单项选择题标准化考试系统
  13. 小米路由器3 mysql_小米路由器3 opkg安装
  14. Unity3D 学习笔记4 —— UGUI+uLua游戏框架
  15. 忆暖行动|“ 还可以留一点做成柿饼,做法也很简单,就是挑硬柿子把皮削掉,用开水烫个几秒”
  16. 【CV学习笔记】图像预处理warpaffine
  17. c语言模拟洛伦兹吸引子,洛伦兹吸引子相图的简易实现.pdf
  18. 解决TCP网络传输粘包问题
  19. Git 各种操作命令详细清单
  20. DSPF28335 SCI FIFO串口通讯

热门文章

  1. java犀牛书_犀牛书学习笔记(9):继承
  2. 弄清楚这里所说的解耦是什么意思。
  3. 关于列主元高斯消去法的matlab实现
  4. 微信支付问题:WeChatNotifyActivity} did not call finish() prior to onResume() completing
  5. float浮动和flex布局
  6. 【Grasshopper进阶】强制Grasshopper电池输入/输出参数数据结构扁平化 (i.e. Flatten/拍平/展开…)
  7. 使用 split()处理字符串出现空字符串?
  8. github收不到短信怎么办
  9. Android 横向列表滑动自动选中,RecyclerView实现;
  10. 计算机网络实验(三)3交换机的Telnet远程登陆配置