matlab - matlab中的归一化矩阵

标签 matlab matrix normalize

我有一个以 double 表示的 rgb 图像矩阵(高*宽*3)。 在对矩阵进行一些操作之后,一些值变得大于 1 或小于 0。 我需要将这些值归一化为 1 和 0。 谢谢。

最佳答案

好吧,只需使用按条件索引即可。假设您的矩阵称为 M。 如果只想将大于 1 的值设置为 1,小于 0 的值设置为零,请使用:

M(M > 1) = 1;
M(M < 0) = 0;

但是,如果您想将所有值按比例归一化到区间 [0; 1],那么你必须做类似的事情:

mmin = min(M(:));
mmax = max(M(:));
M = (M-mmin) ./ (mmax-mmin); % first subtract mmin to have [0; (mmax-mmin)], then normalize by highest value

你必须考虑矩阵 M 已经在区间 [0; 1] 并且不需要归一化。

关于matlab - matlab中的归一化矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8111339/

相关文章:

matlab - Matlab 符号 : xx@yy 的含义

c++ - fatal error C1083 : Cannot open include file: 'mexutils.h' : No such file or directory

matlab - 为什么 Matlab 使用 1-d 表示相关距离

machine-learning - 默认情况下始终标准化所有功能是不是一个坏主意?

javascript - 为什么 Normalize() 方法在某些情况下不起作用?

unit-testing - 如何将多个参数传递给在 Matlab xUnit 中共享相同设置代码的测试?

c++ - vector <字符串>或 vector < vector <字符>>?

c++ - 3d 相机 - 如何改变相机方向?

c++ - operator = 模板类中的重载

用于回归的 python pandas 标准化列