首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用两个值之间的CV2对图像进行归一化?

如何使用两个值之间的CV2对图像进行归一化?
EN

Stack Overflow用户
提问于 2021-02-15 19:34:43
回答 1查看 246关注 0票数 0

我目前正在尝试用cv2对从深度相机接收到的深度图像进行归一化处理。

我已经尝试了以下操作:我使用这行代码对收到的图像进行归一化处理,取值范围在0和1之间:

代码语言:javascript
复制
 cv2.normalize(depth_array, depth_array, 0, 1, cv2.NORM_MINMAX)

这种归一化的问题是,我的深度图像不是在两个设定值之间进行归一化,而是在depth_array的最大值和最小值之间进行归一化,这导致最近的对象始终是黑色的。

我想改变它在两个设置值之间的归一化,比如0 8 -> 0 1。当我在谷歌上搜索时,我没有找到任何我想做的事情。有没有办法在两个设定值之间对图像进行归一化?

EN

回答 1

Stack Overflow用户

发布于 2021-02-16 00:20:58

重帧通常具有这样的结构:

代码语言:javascript
复制
# linear reframe [min1, max1] -> [min2, max2]
def reframe(value, min1, max1, min2, max2):
    value -= min1;
    value /= (max1 - min1);
    value *= (max2 - min2);
    value += min2;
    return value;

使用它,我们可以看到我们需要对整个图像做些什么才能让它工作。假设我们从low,high -> 0,1开始,我们可以看到我们只需要从整个图像中减去"low“,然后将其除以(high - low)。这种类型的重帧也将进行外推。

代码语言:javascript
复制
import cv2
import numpy as np

# load images
img = cv2.imread("one.png");

# convert type to float
img = img.astype(np.float32);

# reframe
low = 100;
high = 200;
img -= low;
img /= (high - low);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66207292

复制
相关文章

相似问题

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