Romi-知行合一

轻轻的风轻轻的梦,轻轻的晨晨昏昏, 淡淡的云淡淡的泪,淡淡的年年岁岁。
  博客园  :: 首页  :: 新随笔  :: 订阅 订阅  :: 管理

图像ROI显示/缩放/拖拽总体研究

Posted on 2012-11-21 22:39  romi  阅读(2205)  评论(0编辑  收藏  举报

工具:Visual Studio2008,Qt4.8 VS插件,GDAL库

功能:将大图像首先缩小显示,在缩小的图像中选择一块矩形区域(即ROI,感兴趣区域)显示,现实的图像可以实现缩放,鼠标拖拽,如同google map。

缩略图使用QLabel,显示大图区域使用QGraphicsView 框架,因为QGraphicsView框架功能丰富,很适合用于图形图像的显示操作。

步骤已使用方法如下:

1.图像缩放,根据需要缩小的倍数,使用GDAL库的读取图像数据接口RasterIO读取采样的数据,显示在缩略图区

2.ROI选择,实现鼠标事件(点击、释放)的获取,得到鼠标点在图像中的坐标,然后根据缩小的倍数得到鼠标选择的区域在原图像中的大小,读取原图像数据并显示

3.图像缩放,根据区域原图像数据,在此源图像数据的基础上做高斯金字塔构建,将每层的数据保存起来,然后根据缩放找到需要显示的数据层,将需要显示的图像显示出来

4.图像拖拽,获取鼠标移动的长度。根据长度确定滑动杆的值即可实现拖拽。QGraphicsView类是继承自QAbstractScrollArea类的,因此有QScrollBar对象

以上是总体的思路和方法,具体的实现见本博客其他文章,索引如下:

图像ROI显示http://www.cnblogs.com/Romi/archive/2012/11/21/2781753.html

图像缩放http://www.cnblogs.com/Romi/archive/2012/11/22/2782151.html

图像拖拽http://www.cnblogs.com/Romi/archive/2012/11/22/2782733.html