展品影像的采集及加工
本节对展品影像的采集及加工做个简单介绍。
影像采集
影像拍摄和采集的原理图如下:
主要硬件组成包括:步进电机驱动的转台、单反相机、用于控制单反相机快门与转台联动的PC,同时接收从单反相机获得的初始影像文件。
将拍摄对象的观察角度360度均分,转动转台每个角度拍摄一帧。从而获得观察对象的不同角度的若干帧(帧数越多,交互回放的转动越平滑,但所需要的文件存储容量越大)高清照片影像文件。采集阶段的工作遂告完成。
影像加工
即使对单帧影像而言,为了表现藏品细节,通常会使用较高的分辨率。即使采用jpg怎样的互联网格式进行压缩,其单个文件的尺寸达到10M左右也很常见。这样的图片在互联网上直接浏览,用户需要等待漫长的下载过程。即时完成下载缓存到用户浏览器端,一则会占用较大的系统内存,二则对于超高分辨率的影像,如果缺少缩放、平移和鹰眼这样的交互方式,用户的浏览体验将会比较糟糕。
针对此种场景,最常见的解决方案就是对影像进行金字塔式的切片预处理。经过处理的图片,配合浏览器端的组件,可以实现按需加载、无级缩放和平移。同时也支持浏览器端对已访问切片的缓存。
影像金字塔的方法在WebGIS获得广泛而且成熟的应用,它的原理如下:
指在同一的空间参照下,根据用户需要以不同分辨率进行存储与显示,形成分辨率由粗到细、数据量由小到大的金字塔结构。影像金字塔结构用于图像编码和渐进式图像传输,是一种典型的分层数据结构形式,适合于栅格数据和影像数据的多分辨率组织,也是一种栅格数据或影像数据的有损压缩方式。 如图所示:
从图中可以看出, 从金字塔的底层开始每四个相邻的像素经过重采样生成一个新的像素, 依此重复进行, 直到金字塔的顶层。重采样的方法一般有以下三种: 双线性插值、最临近像元法、三次卷积法。其中最临近像元法速度最快, 如果对图像的边缘要求不是很高的话,最适合使用该方法。三次卷积由于考虑的参考点数太多、运算较复杂等原因, 速度最慢, 但是重采样后图像的灰度效果较好。
每一层影像金字塔都有其分辨率的,比如说放大(无论是拉框放大、还是固定比例放大)、缩小、漫游(此操作不涉及到影像分辨率的改变)计算出进行该操作后所需的影像分辨率及在当前视图范围内会显示的地理坐标范围,然后根据这个分辨率去和已经建好的影像金字塔分辨率匹配,哪层影像金字塔的分辨率最接近就用哪层的图像来显示,并且根据操作后当前视图应该显示的范围,来求取在该层影像金字塔上,应该对应取哪几块,然后取出来画上去就可以了。
金字塔是一种能对栅格影像按逐级降低分辨率的拷贝方式存储的方法。通过选择一个与显示区域相似的分辨率,只需进行少量的查询和少量的计算,从而减少显示时间。
影像格式
下表列举了常见的符合上述原理的切片格式:
desktop app for Windows |
||
panoramic image stitcher from Microsoft Research for the Windows desktop |
||
.NET library, comes with Deep Zoom Composer |
||
Python |
||
Perl utility |
||
PHP |
||
PHP |
||
an image slicing library and tool written in Ruby |
||
desktop app for Windows, Mac, Linux |
||
command line tool and library for a number of languages |
||
Node.js, uses VIPS |
||
shell script (Linux/Mac) |
||
C++ |
||
Node.js, under construction |
||
service, offers embeds; no explicit API |
||
service, under construction |
||
C++ library to encode or decode JPEG 2000 images |
IIIF (requires a IIIF-compliant image server with JPEG 2000 support, likeLoris; see also iiif.io for more details) |
相关推荐
360安全浏览器-网页无级缩放和网页自动填表.docx
VB实现文本框文本字体的无级缩放,单击一次“字放大”则字体大小增加2磅,单击一次“字缩斜则字体大小缩小2磅,也可复原文本,可了解一些VB理论基础,教师可借此来引导学生进行知识梳理.
内容索引:VB源码,字符处理,文本缩放,文本框 VB实现文本框文本字体的无级缩放,单击一次“字放大”则字体大小增加2磅,单击一次“字缩斜则字体大小缩小2磅,也可复原文本,可了解一些VB理论基础,教师可借此来引导...
qt实现图片缩放,qt实现图片缩放qt实现图片缩放qt实现图片缩放qt实现图片缩放qt实现图片缩放qt实现图片缩放qt实现图片缩放
嵌入式GIS提高矢量地图显示速度的软件方法实现
Qt 实现无边框窗口,可以自由缩放窗口尺寸,QT5.8+MinGW编译通过,运行效果见博客分类“Qt实用技术”中关于无边框窗口的实现文章。
photoView和viewPager的完美结合实现相册功能,支持收缩缩放,滑动到下一页上一页恢复默认大小
基于viewer.js实现的react图片预览组件,支持的旋转,缩放和缩放等操作
基于matlab的拖动和缩放工具设计与实现,以交互方式管理图中的轴。此简单功能可用于拖动和缩放轴,使用鼠标和键盘快捷键旋转三维轴。 支持2D打印、3D打印、日志打印和图像 支持一个地物上的多个混合(子地块)(2D...
用Qt实现的跨平台窗体缩放,详见博客:http://blog.csdn.net/caoshangpa/article/details/78543165
Qt5.3.2 实现的图片缩放,支持滚轮和按键缩放,复位,切换图片
在Unity里面实现UI窗口的操作,包含拖动,单边拖动缩放,对角拖拽缩放功能
1.例程具有说明文件; 2.例程具有仿真文件; 3.例程使用FPGA实现了二次线性插值算法。
图形学 二维图形的几何变换 对称平移缩放旋转 矩阵实现 C++
图片处理继续 实现等比缩放 大小控制 使用java实现 希望对大家有帮助
二维图形变换的方法。以三角形为例,使用Visual C++实现二维图形的平移、旋转和缩放功能
本文实例为大家分享了Unity3D实现物体旋转缩放移动的具体代码,供大家参考,具体内容如下 由于项目运行在安卓上,运用到了插件,比较麻烦。你们可以在触发条件上进行修改,不用插件也可以。 1.下载FingerGestures ...
js房产网站大小缩放图片滚动展示 js房产网站大小缩放图片滚动展示 js房产网站大小缩放图片滚动展示 js房产网站大小缩放图片滚动展示
读入一幅图像,对其进行等比例、不等比例缩放
华科图形学作业,opengl实现图形平移旋转缩放