При сохранении свойств региона из Skimage.measure в файл Pickle возникает ошибка RecursionError: превышена максимальная Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 При сохранении свойств региона из Skimage.measure в файл Pickle возникает ошибка RecursionError: превышена максимальная

Сообщение Anonymous »

В моем коде анализа я выполняю некоторый анализ свойств изображения с помощью Skimage.measure.regionprops.
Чтобы сэкономить время обработки, я хотел бы сохранить свойства региона в файле file, и я подумывал использовать рассол, как я это часто делаю.
Вот мой фрагмент кода.

Код: Выделить всё

import numpy as np
import pickle

from skimage.draw import ellipse
from skimage.measure import label, regionprops
from skimage.transform import rotate

# generate fake image
image = np.zeros((600, 600))

rr, cc = ellipse(300, 350, 100, 220)
image[rr, cc] = 1

image = rotate(image, angle=15, order=0)

rr, cc = ellipse(100, 100, 60, 50)
image[rr, cc] = 1

# find labels
label_img = label(image)

# calculate region props
regions = regionprops(label_img, image)

# save to pickle file
with open('test.sav', 'wb') as f:
pickle.dump(regions, f)

# reload it
with open('test.sav', 'rb') as f:
saved_regions = pickle.load(f)
Сохранение в файл не является проблемой, но когда я пытаюсь перезагрузить его, я получаю следующее сообщение об ошибке:

Код: Выделить всё

Traceback (most recent call last):
File "C:\Users\bulghao\AppData\Roaming\JetBrains\PyCharmCE2023.3\scratches\cosmic\save_2_file.py", line 31, in 
saved_regions = pickle.load(f)
File "C:\Users\bulghao\venv\autoradenv\lib\site-packages\skimage\measure\_regionprops.py", line 341, in __getattr__
if self._intensity_image is None and attr in _require_intensity_image:
File "C:\Users\bulghao\venv\autoradenv\lib\site-packages\skimage\measure\_regionprops.py", line 341, in __getattr__
if self._intensity_image is None and attr in _require_intensity_image:
File "C:\Users\bulghao\venv\autoradenv\lib\site-packages\skimage\measure\_regionprops.py", line 341, in __getattr__
if self._intensity_image is None and attr in _require_intensity_image:
[Previous line repeated 995 more times]
RecursionError: maximum recursion depth exceeded
Насколько я понимаю, изображение интенсивности не было сохранено или его невозможно было перезагрузить.
Мой вопрос: это есть ли способ сохранить реквизиты региона на диск для дальнейшего использования?
Я могу сохранить и перезагрузить метки, но было бы намного лучше сохранить оба.
Спасибо за помощь,
тото

Подробнее здесь: https://stackoverflow.com/questions/790 ... recursione
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»