Matlab如何对图像中的各个像素点移动不同的值

对整体图像移动相同的值可以用imtranslate等命令,但我想对图像每个像素移动不同的值,可以怎么做?

这个可以直接整个矩阵做平移的变换。

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以参考下这篇文章:Matlab图像处理基础(一)图像类型的转换
  • 除此之外, 这篇博客: 数字图像处理Matlab-图像的显示与格式变换(附代码)中的 (5)显示图像从64 到128 的灰度级 (使用函数 imagesc)。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    在这里插入图片描述
    图3 不同灰度级范围的图像

    Con:图中我用了四张图做了对比 大于范围的变成白色,小于范围的变成黑色可以发现灰度在64-128之间的大概在草坪的位置
    范围在0-63的由于大部分像素点都大于此范围,图片整体偏白
    范围在129-255的由于大部分像素点都小于此范围,图片整体偏黑

    :刚开始使用imagesc(f,clims);函数生成彩色图像,那是因为imagesc是进行线性映射,是对色图进行映射。
    后来加上colormap(gray);将图像变为灰色。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^