我想用OpenCV Python对遥感影像做SIFT特征检测。这些图像是高分辨率的,可以有数千像素宽(7000 x 6000 或更大)。但是,我遇到内存不足的问题。作为引用点,我在 Matlab 中运行了相同的 7000 x 6000 图像(使用 VLFEAT)而没有出现内存错误,尽管更大的图像可能会有问题。有人对使用 OpenCV SIFT 处理此类数据集有建议吗?
OpenCV 错误:cv::OutOfMemoryError 中的内存不足(无法分配 672000000 字节),文件 C:\projects\opencv-python\opencv\modules\core\src\alloc.cpp,第 55 行 OpenCV 错误:断言失败 (u != 0) in cv::Mat::create, file
(我在具有 32 GB RAM 的 Windows 64 位系统上的 Spyder IDE 中使用 Python 2.7 和 OpenCV 3.4。)
最佳答案
我会将图像分割成更小的窗口。只要您知道窗口重叠(我假设您知道横向偏移),任何窗口中的匹配都是有效的。
您甚至可以将其用作检查,图像任何部分的特征点之间的转换必须相同才能使转换有效
关于python - 使用 SIFT OpenCV 处理大图像时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48331004/