有誰知道可以用來旋轉非常大的圖像的Python庫嗎?我需要確保圖像使用相同的顏色,並且沒有內插,也就是說我必須使用最近的鄰居旋轉。在python中旋轉大圖像(85000x85000x3)
圖像格式爲tiff
。我正在使用NVIDIA DGX來處理它,該服務器擁有512 GB的系統內存。
OPENCV
我嘗試使用OpenCV的:
M = cv2.getRotationMatrix2D((w/2,h/2),angle,1)
im_rgb_rot = cv2.warpAffine(im_rgb,M,(w,h),flags=cv2.INTER_NEAREST)
而且好像之後旋轉im_rgb_rot
變成空白圖像由全零。
SciPy的
而且,我嘗試使用scipy.ndimage.interpolation.rotate
和scipy.misc.imrotate
和一個小的測試圖像上,但它似乎像下面看到的旋轉不給我直邊。我應該注意到,opencv給出了直接的優勢。
這個代碼是:
scipy.ndimage.interpolation.rotate(im_test, 40, reshape=False, mode='nearest')
PIL
最後,我不能用公益訴訟,因爲它不支持這樣的高畫質圖像。
這是14.5 terrabytes未壓縮。你還沒有接近提供足夠的信息。對於初學者來說,你需要解釋如何存儲這些東西以及你需要做什麼計算資源。 – Gene
對不起,我會用它更新帖子,但這些都是'tiff'圖片。有一系列尺寸和最大尺寸是85000x85000x3,我還沒有與這個尺寸的工作。但由於'tiff'圖像是一個像素3個字節,我相信圖像大約需要50-65GB的數據。我使用的是具有512GB系統內存的NVIDIA DGX。 –
我很抱歉,不知道我的數學課程在哪裏。 22Gb應該可以在這臺機器上運行,但是你一定需要一個完整的64位庫。你看過ImageMagick嗎?他們的文檔有一個關於「大量圖像」的部分http://www.imagemagick.org/Usage/files/#massive。你可以嘗試使用命令行工具,但我相信有一個Python API(我知道Ruby有一個)。這其中的一部分可能會設置您的操作系統,以允許分配這麼大。你沒有提到操作系統。 – Gene