1:做过图像显示的都知道,我们的图片大部分都是压缩过的,大部分为JPEG PNG BMP其中BMP格式是点阵形式,当图片翻译到内存之后无论压没压缩过都会变成BMP格式放进内存,在这个过程中,图片数据会几倍的增大,就比如JPEG,一张1M大小的JPEG格式的图片,翻译到内存可能就会变成7倍左右,也就是7M会放在电脑内存里面,如果显示一张100M的JPEG图片,放进内存的话可能就会成为1G,好了如果是1G的图片呢,你的电脑内存还够用吗,可以,兄弟你可以说我电脑配置很高 达到16G内存条,,如果我要让你显示一张4G的图片呢,注意压缩过的,翻译到内存将近28G,你说我可以买一个28G的内存条,可以 ,兄弟你很有钱,哈哈哈,,如果你非要这样,这篇文章可以不用看了,跪拜土豪。那如果,我就想用一个2G的内存条显示这张压缩过还有4G的图片咋办,并且我还想生成这张图片呢,就比如说,我用显微镜拍一张切片,或则一个材料的纹理结构,那么虽然或许一个切片只有几个CM,但是显微镜人家分辨率高呀,看的细呀,用显微镜不就是想把图片放大个几千倍显示嘛,好了,问题来了,这样显微照相机可能要拍上千张图片,最后拼接成一张大图,然后放在电脑上显示,所有医生可以在电脑面前指指点点,是不是很方便,但是,同志,问题又来了,电脑内存不够,你也生成不了这么大的图片,生成的过程也是在电脑内存里面的,   好了,废话不多说了,看下面的演示吧。

1:准备一张54889x80315图片,当然不一定很多人会有这么大的图片,因为不知道这种技术的话,也没法生成这么大的图片。

如图:

这张图片大小是54889x80315 这数据量大概有多大呢,我算了一下,大概是4.2041G,细心的网友可能会注意到,为什么显示的大小只有399M 呢,,哈哈哈,,这就是另一个技术了,想听的朋友们,会在后续的文章中,解密。

2:现在假设我们大家都有了这张图片了,下面我们想显示这张图片:首先,都会想到的,我用常规的浏览器试一下呗,我们就先用微软自带的图片浏览器,不要小瞧了这个windows图片查看器,亲测,他很智能,也很高效,千万不要以为他是个小程序,有时候我确实可以打开我的图片,即使我的图片有着我设计的特殊的数据结构和压缩形式,PS都不能打开我的图片,这家伙可以打开,所以在这里我还是很佩服这个图片浏览器。

怎么样,哈哈哈,电脑内存不够吧,当然这个浏览器再吊,也只是傻大粗的野蛮式显示这张图片,当然内存不够用了。我在我朋友8G内存的电脑上也试了,一样死机!!!显示都显示不了了,还谈什么产生这张图片。

3:但是呢,我用自己写的软件,就可以打开这张图片,当然之前我也知道怎么产生这张图片,这是一个完整的流程;我的软件打开的效果是:

来一张全局的图像效果:如下:

其实把图片使劲缩小显示,图片的全局效果就长成这样。其实效果和你显示一张小图片没什么区别,流畅度,还有你可以做标记,什么的,,,,这些都是很多别的浏览器都具备的附加功能,但是当这些附加功能实现过程也是很痛苦的,为什么呢,就是因为这是一张超大图片,太大了,显示机制不一样,所以一切传统方法都得颠覆一下。

写的好累,这个项目,做了两年,就是为了完成这个软件,整个过程也比较痛苦,因为我是机械出身,现在还在学校读研究生,写代码的水平赶不上科班出身,这项技术整个完整流程,我打算慢慢写下来,从你如何产生一张目前为止最大的图片,让你图像拼接突破计算机限制,让你如何显示出来,如何平移,如何缩放,如何做标记等等,,太多了内容,,完整工程文件,包括编译好的库文件,我都有,压缩包解压就可以直接用,我用WPF编写的,其实WPF就和C#差不多,其实他两是兄弟。代码数量超过好几万。可是花费了我好大的心血。有兴趣的朋友可以百度一下Aperio,MOTIC这些企业,Aperio这个软件是和他的仪器配套出售的,据说一台仪器好几百万,功能就是显微镜扫描一个切片,然后打开浏览切片,主要是方便医生进行切片检查,同时减轻医生的工作量,要知道,没有这个仪器的话,医生可要用眼睛一个个看切片,成千上万的切片这是要累死医生呀!!!眼睛瞅瞎!!!Aperio他们做的扫描一张切片就几秒,然后就输入到电脑,用软件显示出来,这个软件核心功能,也就是我这个软件的功能。。。。。。。

整个软件涉及到的技术有,TIFF图像技术,四叉树,虚拟显示技术,虚拟容器技术,内存映射文件技术,图像金字塔技术等等剩下的就是什么,做标记,XML文档管理,缩略图显示,UI布局等等  真的很多。

有兴趣的朋友可以关注后续的文章,有需要这个软件的可以联系我,我的邮箱nanshanyi@sjtu.edu.cn,可以商量。今天就写到这。。。。。。

如何显示一副超大图像相关推荐

  1. pythpn实现bgr颜色通道分离,并分别显示一副彩色图片的BGR通道图片

    分别显示一副彩色图片的B,G,R通道图片 要实现这个功能,原理很简单. 一张彩图有三个颜色通道,显示哪个就将另外两个通道置0 代码 import cv2 as cv img = cv.imread(' ...

  2. matlab同窗口显示图片,[求助]关于GUI的问题,如何在同一窗口里显示四副图片...........

    [求助]关于GUI的问题,如何在同一窗口里显示四副图片........ 我接到老师给的一个课题,现在遇到了困难.来向大家求助!希望大家能帮小弟一个忙,小弟感激不尽!我以前没接触过MATLAB,可以说是 ...

  3. opencv进阶学习9:图像阈值大全,图像二值化,超大图像二值化

    基础版笔记链接: python3+opencv学习笔记汇总目录(适合基础入门学习) 进阶版笔记目录链接: python+opencv进阶版学习笔记目录(适合有一定基础) 基础版二值化讲解 opencv ...

  4. iPad上浏览超大图像,kakadu和Jpeg2000在iOS上的例程

    如何能在iphone / iPad上高效地看超大图像(如地理.医学类图像), Jpeg2000和kakadu能很好的实现这一功能,下图基本实现了窗宽窗位.缩放.平移. 渲染采用OpenGL ES. 值 ...

  5. python下:用 matplotlib.pyplot 显示 Opencv 读取的图像

    在涉及图像处理时,我们通常用opencv去读取并处理图像,而用matplotlib去显示图像,因为opencv有很强的图像处理能力,而matplotlib有很强的可视化能力,可以方便的可视化分析实验的 ...

  6. [Powerpoint]幻灯片放映显示在副显示屏

    [Powerpoint]幻灯片放映显示在副显示屏 当我们使用了第二显示屏的时候,有时候会出现,幻灯片放映自动显示在我们的第二显示屏上.此时,为了调整它,我们可以在PPT的菜单栏中"幻灯片放映 ...

  7. 基于mschart控件,绘制工控采集类曲线,可对图像进行缩放,拖动滚动条显示放大后的图像

    基于mschart控件,绘制工控采集类曲线,可对图像进行缩放,拖动滚动条显示放大后的图像,并动态显示曲线上的数值点 在工控.采集.测试类项目中经常需要对采集接收回来的数据进行图像.曲线显示,本人在项目 ...

  8. ROS中使用乐视 奥比中光(Astra Pro)深度相机显示彩色和深度图像

    环境 Ubuntu ROS Kinect or Melodic 奥比中光ROS驱动包安装地址:https://github.com/orbbec/ros_astra_camera 1.安装ROS 2. ...

  9. 解决电脑扩展屏后图标老是显示在副屏问题

    现象:解决电脑扩展屏后图标老是显示在副屏问题 思路:网上找了一些,花了2小时,分析各种原因.总结如下 这个是罪魁祸首,这个是左面图标强制恢复软件 如果你在扩展屏幕期间恢复的话,恢复在副屏后,就会一直显 ...

最新文章

  1. 解决oninput在输入中文时,会获取拼音的问题
  2. 关于通过dll导出类模板和函数模板
  3. springboot netty给特定客户端推送_Spring Boot 又升级了?2.0 你搞懂了吗?!
  4. 关于cacti图形显示不正常的解决办法
  5. Intel 旗下 Habana Labs 遭勒索软件 Pay2Key 攻击,数据被盗
  6. SQL Server 2008 R2 企业版/开发版/标准版(中英文下载,带序列号)
  7. ie以及ie内核浏览器连不上网,其他浏览器可以,部分软件连不上网的解决办法
  8. linux计划任务踩坑
  9. Java常用关键字查询
  10. 项目-1.CROSSFORMER论文与代码解析(CrossFormer: A Versatile Vision Transformer Based on Cross-scale Attention)
  11. 林轩田机器学习基石5笔记:训练和测试的不同
  12. 冯雪 手术机器人的应用_外科手术机器人发展及其应用
  13. 喜报|Authing 入选 CNCF Landscape 云原生技术图谱
  14. 自媒体运营、平面设计封面如何搭配?3大色彩搭配网站推荐
  15. win7为什么打开桌面上的计算机很卡很慢,Win7电脑开机速度慢解决方法
  16. yox.js 的使用
  17. 东北大学acm暑期夏令营第七天
  18. jmockit抛NullPointer异常,initialize failed异常
  19. 如何查找app启动页面
  20. HTMLday2旅途

热门文章

  1. Xcode打开后Target 出现AppIcon不显示
  2. MyKtv点歌系统前台主要功能实现,内附数据库脚本,可以直接运行
  3. 1x1px透明GIF的Base64编码
  4. 港科夜闻|广东省委常委、副省长王曦到访香港科技大学
  5. 重磅消息,CMMI研究所并入ISACA!
  6. 公共基础知识:生活常识之垃圾分类
  7. excel两个指标相关性分析_如何用excel分析两组数据的相关性
  8. live2d 看板娘 简单添加看版娘到自己的网站
  9. 如何用ARDUINO制作一个鸟蛋孵化器
  10. 基于MCU_USB的虚拟串口助手实现