При выполнении медицинской обработки изображений, вероятно, что Вы выделяете большие блоки за один раз (512x512, изображения на 2 байта на пиксель). Фрагментация укусит Вас при выделении меньших объектов между выделения буферов изображения.
Запись пользовательского средства выделения не обязательно трудна для этого конкретного примера использования. Можно использовать стандартное средство выделения C++ для Объекта изображения, но для пиксельного буфера можно использовать пользовательское выделение, которое все организовано в Объекте изображения. Вот быстрая и грязная схема:
, Это - всего одна простая идея с большим количеством комнаты для изменения. Основной прием должен постараться не освобождать и перераспределять буферы пикселя изображения.
Попробуйте использовать имя файла относительно текущего пути к файлам. Пример для './my_file':[1277 providedIn Python 3.4+ вы также можете использовать pathlib :
fn = pathlib.Path(__file__).parent / 'my_file'
import os
cwd = os.getcwd()
path = os.path.join(cwd, "my_file")
f = open(path)
Вы также пытаетесь нормализовать свой cwd
с использованием os.path.abspath (os.getcwd ())
. Подробнее здесь .
Я часто использую что-то похожее на это:
import os
DATA_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), 'datadir'))
# if you have more paths to set, you might want to shorten this as
here = lambda x: os.path.abspath(os.path.join(os.path.dirname(__file__), x))
DATA_DIR = here('datadir')
pathjoin = os.path.join
# ...
# later in script
for fn in os.listdir(DATA_DIR):
f = open(pathjoin(DATA_DIR, fn))
# ...
Переменная
__file__
содержит имя файла сценария, в котором вы пишете этот код, поэтому вы можете создавать пути относительно сценария, но при этом записывать абсолютные пути. Он работает достаточно хорошо по нескольким причинам:
Но вам нужно следить за совместимостью платформ - Windows 'os.pathsep отличается чем UNIX.
Вы можете использовать сборку в переменной __ file __
. Он содержит путь к текущему файлу. Я бы реализовал getBaseOfProject в модуле в корне вашего проекта. Там я бы получил часть пути __ file __
и вернул бы его. Затем этот метод можно использовать везде в вашем проекте.