首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用map_coordinates放大图像

使用map_coordinates放大图像
EN

Stack Overflow用户
提问于 2021-01-08 17:59:16
回答 1查看 66关注 0票数 0

我的任务是创建具有相同形状的图像的低分辨率版本,方法是随机减少图像的形状(以丢失数据)并将其扩展回来。但是,我不能使用任何'resize‘方法,比如在scikit/opencv中。并且只允许使用scipy.ndimage.zoom和map_coordinates。

我已经设法做到了以下几点:(im是一个灰度图像)

代码语言:javascript
复制
factor = np.random.uniform(0.25, 1)
zoomed_im = ndimage.zoom(im, zoom)
height_range = np.arange(0, im.shape[0])
width_range = np.arange(0, im.shape[1])
col, row = np.meshgrid(width_range, height_range)
zoom_out = map_coordinates(input=zoomed_in, coordinates=[row, col])

然而,我得到了相同的放大图像,其余的像素被添加为黑色。我知道这是因为map_coordinates的默认参数是:

代码语言:javascript
复制
mode='constant'
cval = 0.0

如何使用插值将图像重新放大到相同的原始形状?

EN

回答 1

Stack Overflow用户

发布于 2021-03-10 00:48:03

您可以在np.arange()中使用不同的步长:

代码语言:javascript
复制
factor = np.random.uniform(0.25, 1)
zoomed_im = ndimage.zoom(im, factor)
height_range = np.arange(0, im.shape[0]*factor, step=factor)
width_range = np.arange(0, im.shape[1]*factor, step=factor)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65626865

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档