English readme (Thanks @Faberman for the translation and polishing.)
MulimgViewer多图像浏览器,在一个界面显示多个图像,方便图像的比较、筛选。
功能
- 多路径并行显示
- 多框并行放大
- 点按旋转
- 支持远程目录
- 批量化resize图片
下载地址:
- 稳定版(package+code): https://github.com/nachifur/MulimgViewer/releases
- 最新(code): https://codeload.github.com/nachifur/MulimgViewer/zip/refs/heads/master
您的star是我开发完善该项目最大的支持! qq交流群:945669929
v3.9.1以后仅提供Windows 10的包(amd64)。其他环境可以使用源码运行。建议使用Python3.6以上。
pip安装:(如果安装过程出错,可以使用conda安装)
pip install wxpython pillow pytest-shutil numpy运行:
python3 MulimgViewer.py直接运行exe文件。也可以下载源码运行MulimgViewer.py。
v3.9.3以后,Windows 10提供安装版_Setup.exe和便携版_Portable.exe(安装版_Setup.exe启动速度更快)。
浏览202,599张图片的数据库CelebA,需要多长时间?一次显示1000张,只需点击200多次即可完成!

以前你可能需要在多个窗口打开多个图像,逐个对比,再到文件夹找到对应的图像,复制到别的地方。
现在使用MulimgViewer多图像浏览器,输入各个需要对比的目录,一键保存需要对比的多张图像到本地!
图片并行挑选:Parallel auto or Parallel manual,关闭Parallel+Sequential(默认使用复制,选中MoveFile为剪切)。
MulimgViewer可以轻松的完成纵向与横向的拼接,支持自动拼接保存,支持并行放大!
同时支持任意位置划框(鼠标左键按住移动),多框并行放大(鼠标右键点击,生成新的框)。详细见
MulimgViewer可以方便的进行成对的数据的浏览、比较。详细见
支持显示标题,调整放大框的位置。放大框的位置选择middle bottom,建议🔍️Scale=-1,-1;如果选择其他位置,自行调节放大倍数,例如:🔍️Scale=1.5,1.5。详细见
显示半张图像。使用NumPerimg控制几张图像合成一张图像。Gap(x,y)=*,*,0,*,*消除间距。

将远程服务器的目录挂载后,在MulimgViewer中选择目录即可,完成图片浏览。
- Ubuntu: 使用ubuntu的文件管理器
nautilus,stfp://10.8.0.4连接到服务器。
- win10: 安装WinFsp和SSHFS-Win之后,文件资源管理器中填写远程服务器ip,例如:
\\sshfs\user@ip!port
显示多张图片的同时,鼠标左键点击即可完成图片旋转。
利用自动保存功能,可以实现批量化resize图片。 操作:
- 输入模式选择:Sequential,选择输入文件夹
- 选择保存文件的输出目录
- 勾选自动保存
AutoSaveAll - 设置
TruthResolution为固定的大小,例如:256,256 - 点击保存💾️
测试图像下载地址:https://github.com/nachifur/MulimgViewer/blob/master/img/test_img.zip
-
在
Layout中填写布局参数:Row(一行有几张图片),NumPerImg(一个图片由几个子图片组成),Col(一列有几个图片) -
选择输入模式
2.1. Sequential: 一个文件夹多张图片。(
test_input/01)2.2. Parallel auto: 一个文件夹多个子文件夹。一个文件夹下有n个子文件夹,子文件夹中为图片。 (
test_input/)2.3. Parallel manual: 手动选择多个子文件夹。(
test_input//01+test_input//02)2.4. Image file list: 从文件导入图片列表文件。(Sample file)
-
打开文件夹,导入路径
-
这时图片显示在面板,可以使用
>查看下一张,<查看上一张图片 -
Input/OutPut->OutputMode, 选择输出模式 -
File->Select output path, 选择输出的路径。 -
点击保存💾️
-
输入路径:
Sequential: Ctrl+E
Parallel auto: Ctrl+A
Parallel manual: Ctrl+M
Image file list: Ctrl+F
-
输出路径:Ctrl+O
-
下一张:Ctrl+N
-
上一张Ctrl+L
-
保存:Ctrl+S
-
刷新:Ctrl+R (或者鼠标右键)
-
隐藏工具栏:Ctrl+H
-
使用键盘的上下左右,可以移动图像面板里的图像。
Sequential是串行浏览模式,一个文件夹下有不同的图片,命名不同,用于图片的拼接。
Parallel auto和Parallel manual是并行浏览模式(子文件夹的名称不一样),需要确保各子文件夹下面的图片命名相同,用于不同图片的对比。
Image File List是自定义模式,从txt, csv文件导入图片列表。支持csv文件多行多列显示。
如果需要自动排布,NumPerImg设为-1。
Stitch: 将拼接的图像保存到stitch_images目录下
Select: 分别保存当前浏览的图像到不同的文件夹,默认为copy模式,选中MoveFile为剪切模式。(推荐的输入模式为Parallel auto或Parallel manual,关闭Parallel+Sequential和Parallel->Sequential)
Magnifer: 单独保存放大图像,方便用户的后期处理。
默认:NumPerImg = -1,这时为程序自动布局模式。NumPerImg 的意思是几张图像合成一个图像。
当NumPerImg = 1或者>1,图像布局为手动模式,这时可以调整 Row 和 Col。
在Parallel auto和Parallel manual模式下,可以并行显示多个文件夹。
Parallel+Sequential:
选中Parallel+Sequential,在并行显示的同时,可以串行浏览每个文件夹中的前n张图片,n可由NumPerImg设定。例如:Row=5 ,NumPerImg=4, Col=1, 一次分别读取5个并行目录的4张图片,共20张。Vertical可以调整串行方向。修改Row和Col, 可以控制并行文件夹的二维排布。
Parallel->Sequential: 将多个文件夹的所有图片,拼接成一个图片列表进行串行显示。
在Parallel+Sequential模式下,各个子文件夹下的文件名称需要一样。在Parallel->Sequential模式下,则不需要。
勾选自动保存AutoSaveAll,点击保存💾️,实现批量化操作。
Fill: 图像尺寸为一组图像中的最大尺寸,填充模式(保持原始像素分辨率)
Crop: 图像尺寸为一组图像中的最小尺寸,裁剪模式(保持原始像素分辨率)
Resize: 图像尺寸为一组图像中的平均尺寸,缩放模式(不保持原始像素分辨率)
支持多种颜色填充。支持背景填充透明。同时支持前景透明度调节。
此功能可以保证显示的scale与输出独立。
应用场景:
- 同时浏览显示100张图像,屏幕放不下,使用
Scale:Show缩放即可 - 100张拼接造成的保存图片很大,使用
Scale:Out可以方便控制文件大小
操作:
- 点击放大按钮
🔍️
- 鼠标变为十字光标,在任意图片位置划框
- 选择放大区域:按住鼠标左键,移动鼠标,释放鼠标左键,显示放大结果
- 新增放大框:鼠标右键,实现多框放大
Tip:
- 开启
🔍️KeepSize,即可获得与原始图片长宽比一样的放大结果。 🔍️Scale,默认为-1,1,自动设置scale。- 可以选中
Vertical,Crtl+R刷新显示,放大图像放置在原图的右侧。 🔍️Scale,支持自定义倍数放大,最大不超过原图尺寸。例如:3,3,长宽3倍的放大。Box:Width设为2,3。原图中的线宽是2,放大图中的线宽是3。Box:Width设为0,0,即可隐藏框。Box:Width单位为pixel,在所有缩放下线宽保持不变。如果在Scale:Show为0.1,0.1,Scale:Out为1,1时,显示的框的宽度合适,那么输出框的宽度可能相比图片尺寸偏小。- 点击放大按钮
🔍️之后,鼠标单击图片选中,然后使用ctrl+鼠标滚轮全局缩放图像。 - 鼠标滚轮缩放功能,使用缩放因子控制。每次手动填写
Scale:Show回车之后,缩放因子清零,界面刷新。
移动box:
(注意:开启Box:SelectBox后,使用鼠标左键不能划框)
- 选中
Box:SelectBox - 鼠标左键单击,选中已有的放大框
- 然后使用键盘上下左右(或者鼠标滚轮),微调放大框(按
shift键可以改变速度)。使用鼠标右键,快速移动放大框。 - 关闭
Box:SelectBox。
清除放大框:
方法1:
- 选中
Box:SelectBox,键盘Del,删除特定box - 关闭
Box:SelectBox,键盘Del,删除所有box
方法2:
- 关闭
Box:SelectBox - 鼠标左键双击图片
Ctrl+R刷新显示。
手动修改放大框的颜色:
- 选中
Box:SelectBox - 在原图片上,鼠标左键选中某个框
- 鼠标左键单击
Color/transparency:Draw,选择颜色
不显示box/框:
- 不选中
Box:InBox,去掉原始图片上的框 - 不选中
Box:In🔍️,去掉放大图片上的框 - 不选中
ShowImg,不显示原始图片 - 不选中
Show🔍️,不显示放大图片
开启AutoWinSize,即可实现窗口自动大小调节。
粗定位: 移动slider。
精确定位:
Help->Index table- 查看图片显示序号
- 输入序号,回车
标题
- 关闭
Title:Auto之后,可以进行自定义显示标题 - 在
Sequential输入模式下,文件名为01_DSC.jpg,不选中Prefix和Suffix,文件显示为DSC。使用数字可以对图片文件进行排序。
字体
- 建议使用安装版
_Setup.exe - 将字体
1_Calibri-Light.ttf复制到安装目录C:\Program Files (x86)\MulimgViewer\font\using下 1_Calibri-Light.ttf中的数字越小,GUI中的字体排序靠前
- 使用多图浏览模式(Parallel manual和Parallel auto),对比的文件夹里面的图像命名需要一样!
- 子文件夹的命名。如果是0,1,2...10,11,需要改为00,01,02,...10,11。因为排序时会变为:0,1,10,11,2...
文件重命名工具推荐:
win10: uTools
Ubuntu:
- purrr.
sudo apt install purrr- Thunar - Bulk Rename Files.
sudo apt install thunar
- 关闭
AutoWinSize,最大化窗口 - 调节
Scale:Show,0.2,0.2缩小,2,2放大 - 更改
TruthResolution,将所有照片resize到同一尺寸,对于浏览及其友好
感谢各位提供意见!大家可以在issues中发表意见,采用的会致谢大家!如果大家希望可以和我一起合作开发,请联系我!
- 增加精确定位(目前已经有slider)
- 增加图片索引查看,方便进行精确定位
- 并行的局部放大功能(用于论文中的对比实验图片急需!)
- 输入方式,新增:路径文件的导入和存储(@nothingeasy提供改进意见)
- 增加删除功能(完善筛选功能)
- 保存带框的原始图像(@JuZiSYJ提供改进意见)
- 拼图过程中,点击可旋转图片
- 多框放大功能(@JuZiSYJ提供改进意见)
- 去除放大图像的box(@stefanklut提供改进意见)
- 高清图像的对比,放大图像1:1输出(@Faberman提供改进意见)
- 为图像添加titile(@Faberman提供改进意见)
- Everyone in the QQ group;
- nothingeasy:改进意见-(输入方式,新增:路径文件的导入和存储);
- JuZiSYJ:改进意见-(保存带框的原始图像+并行放大);
- Faberman:改进意见-(为图像添加titile+放大图像1:1输出);
- stefanklut:改进意见-(不显示放大图像的边界框);
- FunkyKoki:改进意见-(显示一半的图像+新增放大图像排布方式).
如果您在研究中使用此项目,请使用以下BibTeX条目。
@software{MulimgViewer,
author = {Liu, Jiawei},
license = {GPL-3},
title = {{MulimgViewer: A multi-image viewer for image comparison and image stitching}},
url = {https://github.com/nachifur/MulimgViewer}
}
许可证
GPL-3.0 License:https://www.gnu.org/licenses/gpl-3.0.en.html
额外条款
- 允许个人使用
- 商业使用请联系 - liujiawei18@mails.ucas.ac.cn.



















