Mulimg_viewer是多图像浏览器,在一个界面查看多个图像,方便图像的比较,方便的选出对比明显的图像对,同时可以方便的进行图像的拼接。
下载地址:https://github.com/nachifur/Mulimg_viewer/releases
测试图像地址:https://github.com/nachifur/Mulimg_viewer/blob/master/img/test_img.zip
目前处于测试阶段,需要改进的部分或者bug可以告诉我。邮箱:nachifur@mail.ustc.edu.cn
提供Ubuntu和Windows的包(amd64)。其他环境可以使用源码运行。建议使用Python3.6以上。
安装: 推荐使用conda安装,pip安装wxpython可能会失败。 pip:
sudo apt-get install build-essential libgtk-3-dev
/usr/bin/pip3 install wxpython pillow pytest-shutil
运行:
python3 main.py
注: 错误 Failed to open file “/home/liu/.local/share/recently-used.xbel”: 权限不够
解决:
sudo chmod 777 * -R /home/liu/.local/share
目前已经发布一个deb包(release中可以找到),在Ubuntu18.04(amd64)测试可用,安装之后运行:
/etc/Mulimg_viewer/main
这个不含测试图像,可以从code中直接下载。
目前已经打包一个exe,已经在win10下测试。也可以下载源码运行main.py
。
以前你可能需要打开多个图像,逐个对比,再到文件夹找到图像,复制到别的地方。
现在只需使用Mulimg_viewer多图像浏览器,输入各个需要对比的目录,一键保存对比图像对到本地!
Mulimg_viewer可以轻松的完成纵向与横向的拼接,支持自动拼接保存,支持并行放大!
浏览一个1000张图片的数据库,需要多长时间?一次显示100张,只需点击10次即可完成!同样Mulimg_viewer可以方便的进行成对的数据的浏览、比较。
-
在Setting中填写布局参数:row(一行有几张图片), num per img(一个图片由几个子图片组成), col(一列有几个图片)
-
File->Input path,选择输入模式
2.1. Sequential: 一个文件夹多张图片。
2.2. Parallel auto: 一个文件夹多个子文件夹。一个文件夹下有n个子文件夹,子文件夹中为图片。
2.3. Parallel manual: 手动选择多个子文件夹。
2.4. Image file list: 从文件导入图片列表文件
-
这时图片显示在面板,可以使用next、last查看下一张,上一张图片
-
File->Out 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
使用键盘的上下左右,可以移动图像面板里的图像。
1是串行浏览模式,一个文件夹下有不同的图片,命名不同,用于这些图片的拼接。
2和3是并行浏览模式,需要确保各子文件夹下面的图片命名相同,用于不同图片的对比。
4是自定义模式,从txt, csv文件导入图片列表。支持csv文件多行多列显示。需要自动排布,Num per img
设为-1。
Stitch: 将拼接的图像保存到stitch_images目录下
Select: 分别保存当前浏览的图像到不同的文件夹,默认为copy模式,选中Move file
为剪切模式。
Magnifer: 单独保存放大图像,方便用户的后期处理。
默认:Num per img
= -1,这时为程序自动布局模式。Num per img
的意思是几张图像合成一个图像。
当num per img
= 1或者>1,图像布局为手动模式,这时可以调整 row
和 col
。
此时需要选中Parallel+Sequential
,可以同时显示文件夹1-12的前n张图片,n可由Num per img
设定。
勾选自动保存,点击保存💾️
Fill: 图像尺寸为一组图像中的最大尺寸,填充模式(保持原始像素分辨率)
Crop: 图像尺寸为一组图像中的最小尺寸,裁剪模式(保持原始像素分辨率)
Resize: 图像尺寸为一组图像中的平均尺寸,缩放模式(不保持原始像素分辨率)
gap
值可以控制间距x,y方向的间距。可以使用负数,这时可以达到覆盖重叠的效果。
支持多种颜色填充。支持背景填充透明。同时支持前景透明度调节。
此功能可以保证显示的scale与输出独立。
应用场景:
- 同时浏览显示100张图像,屏幕放不下,使用
Show scale
缩放即可 - 100张拼接造成的保存图片很大,使用
Output scale
可以方便控制文件大小
操作:
- 点击放大按钮
- 鼠标变为十字光标,在左上角第一张图片划框
- 按住鼠标左键,选择放大区域,释放鼠标左键,显示放大结果
Tip:
- 鼠标右键可以移动框的位置
- 默认放大结果的尺寸与原始图片一样,关闭
Keep size
,即可获得任意长宽比的放大结果 - 放大
Scale
,默认为-1,1
,即自动设置,默认放大图像放置原图下方。如果放大框的高度大于宽度,放大倍数为:原图高度/放大框的高度。此时可以选中Vertical
,Crtl+R
刷新显示,放大图像放置在原图的左侧 - 放大
Scale
,支持自定义倍数放大,最大不超过原图尺寸。例如:3,3
,长宽3倍的放大。 Draw line width
设为0,即可隐藏框Draw line width
单位为pixel,在所有缩放下保持不变。注意:如果在Show scale
为0.1,0.1
,Output scale
为1,1
时,显示的框的宽度合适,那么输出框的宽度可能相比图片尺寸偏小
关闭Auto layout
即可。
- 使用多图浏览模式(Parallel manual和Parallel auto),对比的文件夹里面的图像命名需要一样!
- 子文件夹的命名。如果是0,1,2...10,11,需要改为00,01,02,...10,11。因为排序时会变为:0,1,10,11,2...
- 可以最大化窗口,或者关闭
Auto layout
- 调节
Show scale
,0.2,0.2
缩小,2,2
放大 - 更改
Truth resolution
,将所有照片resize到同一尺寸,对于浏览及其友好
https://www.gnu.org/licenses/gpl-3.0.en.html
感谢各位提供意见!大家可以在issues中发表意见,采用的会致谢大家!如果大家希望可以和我一起合作开发,请联系我!
- 增加精确定位(目前已经有slider)
- 增加图片索引查看,方便进行精确定位
- 并行的局部放大功能(用于论文中的对比实验图片急需!)
- 输入方式,新增:路径文件的导入和存储(@nothingeasy提供改进意见)
- 增加删除功能(完善筛选功能)
- 任意图像数量的多模板拼图,每个图点击后可旋转,平移
- 用于图像分类标注?
nothingeasy:改进意见-(输入方式,新增:路径文件的导入和存储)
如果您在研究中使用此项目,请使用以下BibTeX条目。
@misc{Mulimgviewer2020,
author = {Jiawei Liu},
title = {{Mulimg viewer: A multi-image viewer for image comparison and image stitching}},
howpublished = {\url{https://github.com/nachifur/Mulimg_viewer}},
year = {2020}
}