如何在不调整大小的情况下处理大型(> 15000x15000)图像?
我需要实现的是:在鼠标悬停时获取像素值(x,y,r,g,b)。因此,不能选择调整图像大小以适应屏幕。
我试图找到一个添加滚动条的选项,但没有找到。 我也有想法用100%大小的图像显示固定的窗口大小并拖动图像,但我不知道如何实现它。
我还尝试使用QT构建OpenCV(如here所示),但失败了(无法判断的CMake警告)。
环境:Win 7,VS2013,C ++,OpenCV 3.0
答案 0 :(得分:2)
这不是一个真正的OpenCV问题。我的建议是你使用你选择的GUI框架来解决这个问题。 Qt将是一个非常合适的选择,它有很好的好处,OpenCV和Qt之间的集成是好的。
查看使用Qt显示非常大的图像。它拥有您需要的一切。快速搜索this SO回答建议QGraphicsView
。
如果你有足够的内存来存储你的15k x 15k图像,你就不需要使用QGraphicsView和平铺。如上所述here,您可能应该使用QPixmap,然后通过第二种方法查找RGB坐标。
Here是关于如何仅部分地加载图像,即不完全加载到存储器中的条目(有点旧)。请注意QImageReader的存在。