matlab - imagec 将背景颜色更改为白色 matlab

标签 matlab

我有一个尺寸为 150 x 150 的滤镜,当使用 imagesc 绘制滤镜时,背景为绿色

最小值=-1.5;最大值 = +1.5;

图像中零点的 RGB 索引(绿色)为 0.5,1,0.5

我想将图像中的所有索引“0”/背景颜色更改为白色,同时尽可能保留其余部分。

大小(颜色图):64 3

我已尝试以下方法,但它似乎不适用于我的图像: matlab's imagesc background color

非常感谢

最佳答案

这是我的解决方案。直方图图像强度,找到最接近零的强度,然后将其设置为白色。例如:

 m=peaks(100); % generate data
 imagesc(m);   

 colormap_range=64; % default colormap_range is 64, but change it to your needs
 [n,xout] =hist(m(:),colormap_range);   % hist intensities according to the colormap range
 [val ind]=sort(abs(xout)); % sort according to values closest to zero
 j = jet;
 j(ind(1),:) = [ 1 1 1 ]; % also see comment below
 % you can also use instead something like j(ind(1:whatever),:)=ones(whatever,3); 
 colormap(j);

您可以使用 min 而不是 sort,但我认为通过排序,您还可以使用其他行编辑更多内容,例如 j (ind(1:3),:)=ones(3); 。下面的附图是用这个完成的...

enter image description here

关于matlab - imagec 将背景颜色更改为白色 matlab,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13339122/

相关文章:

python - 3D 空间中向量的旋转和方向 - 逆序

matlab - 查找列的最后一个真实元素

matlab - 在matlab中访问数组的特定 block

octave - Matlab 中的三维 (3D) 矩阵插值

matlab - 3D 中切片的线性组合

java - Matlab 将文件从 Windows 资源管理器拖放到图形 (gui)

Python相当于Matlab中的 'hold on'

r - 创建十六进制图

matlab - 如何在 MATLAB 中绘制没有黑边的曲面图?

image - 使用 matlab 对图像的色度分量进行下采样