在参考了前辈们的思想之后,对于超大图像显示有了更多的理解
这里提供的思路是拆分大图,我们知道相机拍摄的大小是有限,但是实际需求中我们会把这些图拼接在一起,
搞成全景图,比如医院的细胞切片,哈勃拍摄的星空图,用全景的方式显示,有助于分析人员看清楚问题所在。
但是,但是,我们的计算机内存有限,不能一次行把这么大的图加载到内存中,会造成内存溢出的,怎么伴?
方法1:
降低图像分辨率,从而降低内存占用,多准备几张不同分辨率的图片,采用opencvsharp resize的方式,图像金字塔原理
缺点就是:准备的几张图都缓存在内存中,会导致内存过大,内存小的电脑不适用
方案2:
将图片切分成小图片,在显示的时候,按照顺序显示,在界面上看上去和大图没什么区别
优点:可以判断该图片是不是在可见区域,是否有交集,如果没有就不绘制,类似地图的瓦片功能,移动很快了
缺点:同上如果全部显示出来,依然和显示大图一样,切分图片也比较耗时,不过可以等待切割后再显示
方案3:
Win10的照片软件,可以打开很大的图片,而且缩放不卡顿,内存占用小,有兴趣的 小伙伴请研究一下告诉我,不甚感激,我找不到他们的源码