我正在研究一个程序,该程序是从相当大的图像中检测彩色地面控制点。 TIFF图像大约是3 - 4 GB(大概35 000 x 33 000像素)。 我正在使用Python 2和OpenCV来完成图像处理。OpenCV将不会加载大图像(〜4GB)
import cv2
img = 'ortho.tif'
I = cv2.imread(img, cv2.IMREAD_COLOR)
这部分不会(总是)产生错误信息。同时显示图像的功能:
cv2.imshow('image', I)
我也试图通过使用matplotlib显示图像:
plt.imshow(I[:, :, ::-1]) # Hack to change BGR to RGB
是否有OpenCV的或Python关于大图像的任何限制? 你会建议如何加载这个iamge?
PS:我这样做的计算机是Windows 10“工作站”(它有足够的马力来处理图像)。
预先,感谢您的帮助:)
错误信息说什么? – Hexaholic
对于matplotlib plt.imshow(self.image [:,:,:: - 1]) 类型错误: 'NoneType' 对象没有属性 '\ _ \ _的GetItem \ _ \ _' 的OpenCV赛斯: OpenCV错误:断言失败(size.width> 0 && size.height> 0)在cv :: imshow,file .. \ .. \ .. \ modules \ highgui \ src \ window.cpp中,第261行 cv2.imshow ('image',self.image) cv2.error:.. \ .. \ .. \ modules \ highgui \ src \ window.cpp:261:error:(-215)size.width> 0 && size.height > 0在功能cv :: imshow 从本质上讲,它是图像的大小为0 x 0像素。 – cLupus
...你肯定这个东西(当我说这个东西,我的意思是OpenCV和Python)已经编译为64位? – carlosdc