OpenCV брошюровщик уменьшает разрешение изображения - PullRequest
0 голосов
/ 31 октября 2019

Я новичок в openCV и использую его для сшивания нескольких изображений с микроскопа. Следовательно, аффинных преобразований отдельных изображений должно быть достаточно.

Класс Stitcher удобен в использовании и позволяет быстро собрать набор изображений. Однако при увеличении масштаба я понял, что разрешение результата значительно ниже, чем у оригинала. Я также попытался увеличить частоту перед сшиванием изображений, что не принесло никаких улучшений.

Вот фрагмент кода, который я использую:

up = 3

stitcher = cv2.Stitcher_create(mode=cv2.Stitcher_SCANS)
images_up = [im.repeat(up, axis=0).repeat(up, axis=1) for im in images]
(status, stitched) = stitcher.stitch(images_up)
#stitched = stitched.reshape(stitched.shape[0]//2, 2, stitched.shape[1]//2, 2).sum(1,3)
print(status)
stitched = stitched.astype(float).mean(-1) # sum RGB to grayscale
stitched = cv2.resize(stitched, (stitched.shape[0]//up, stitched.shape[1]//up)) #sample down

Здесь вы можете увидеть исходные и сшитые изображения для сравнения. Показан увеличенный угол, который является частью одного из исходных изображений

stitched

original

Ожидается ли такое поведение? Кто-нибудь может подсказать, как избежать потери разрешения?

Спасибо

...