opencv拼接器降低图像分辨率

时间:2019-10-31 15:07:45

标签: python opencv cv2 image-stitching

我是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

这是预期的行为吗?任何人都可以提示如何避免分辨率降低吗?

谢谢

0 个答案:

没有答案