#java #python #jython #jes
#java #python #jython #jes
Вопрос:
Я пытаюсь перевести изображение в оттенки серого в JES, размер изображения составляет около 3000×2000. Всякий раз, когда я его запускаю, выдает мне OutOfMemoryError: java.lang.OutOfMemoryError: пространство кучи Java.
Я довольно новичок в этом языке, поэтому не уверен, что проблема в моем коде.
def grayscale(pic):
for p in getPixels(pic):
intensity = (getRed(p) getGreen(p) getBlue(p))/3
setColor(p, makeColor(intensity, intensity, intensity))
Вывод должен быть просто версией изображения в оттенках серого
Комментарии:
1. Либо у вашего
getPixels()
orsetColor()
где-то есть утечка памяти (вызывает себя или создает слишком много переменных для хранения в стеке). Это или ваше изображение огромно.2. @Matt его размер составляет 2953×2088. Есть идеи, как я мог бы оптимизировать свою функцию?
3. С какими структурами данных вы работаете здесь?
4. что происходит, когда вы пробуете это на меньшем изображении?
5. @AdityaSantoso Это работает нормально и дает мне то, что я ожидаю.