San*_*ich 3 matlab normalize matrix
我有一个用双精度表示的rgb图像矩阵(高度*宽度*3).在对矩阵进行一些操作之后,一些值变为biger然后是1或小于0.我需要将这些值归一化为1和0.谢谢.
好吧,只需按条件使用索引.假设您的矩阵称为M.如果您只想设置大于1到1且小于0的值为零,请使用:
M(M > 1) = 1;
M(M < 0) = 0;
Run Code Online (Sandbox Code Playgroud)
但是,如果要按比例将所有值标准化为区间[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
Run Code Online (Sandbox Code Playgroud)
你的矩阵M已经在区间[0; 1]并且不需要归一化.