見出し画像

pyblaze.multiprocessingでprocessにcropped imageを渡すと処理が進まない

Google ColabでOpenCVで読み込んだ画像を切り取り、それをpyblaze.multiprocessingのprocessに渡すとエラーも表示されずに処理中のままになる。

暫定対処

切り取る前の画像データを渡す。

import os
import pyblaze.multiprocessing as xmp

def func(num, image):
  cropped_image = image[0:600, 0:600]
  h, w, c = cropped_image.shape
  return {'h': h, 'w': w}

nums = [0, 1]
fp = os.path.join(PATH_TO_IMAGE_DIR, IMAGE_FILE_NAME)
image = cv2.imread(fp)

worker = xmp.Vectorizer(func)
outputs = worker.process(nums, image)

ダメなパターン

切り取った画像データをprocessに渡すと無のまま進まない。

import os
import pyblaze.multiprocessing as xmp

def func(num, cropped_image):
  h, w, c = cropped_image.shape
  return {'h': h, 'w': w}

nums = [0, 1]
fp = os.path.join(PATH_TO_IMAGE_DIR, IMAGE_FILE_NAME)
image = cv2.imread(fp)
cropped_image = image[0:600, 0:600]

worker = xmp.Vectorizer(func)
outputs = worker.process(nums, cropped_image)

少しだけ確認

型だけ見てみた → 同じだった。

print(type(image))
print(type(patch_image))
# <class 'numpy.ndarray'>
# <class 'numpy.ndarray'>

いいなと思ったら応援しよう!