【问题标题】:quantize a grayscale image in matlab在matlab中量化灰度图像
【发布时间】:2012-02-27 10:27:21
【问题描述】:

我已经阅读了一个文本图像,将其转换为灰度图像并应用了 sobel 运算符。现在我想“量化图像”。

【问题讨论】:

  • 你为什么要做你不知道的事情?成为“非新手”的方法是投入一些工作并弄清楚一些事情。你已经做了什么,你还坚持什么特别的问题?
  • Signal processing stack 上会更好。
  • 我实际上正在尝试实现一种在我的大学中设计的算法......到目前为止,我已经编写了一个算法来检测图像中从第一列到最后一列的每一行并且从第一行到最后一行......计算每行中的几个条件,然后只移动几个字符......现在算法说“应用边缘检测和量化”。我做了边缘检测部分,现在我被“量化”部分卡住了

标签: matlab image-processing histogram quantization


【解决方案1】:

将 uint8 图像转换为双倍并除以 255。乘以所需的量子量,例如 50,然后将其转换回 uint8。现在你已经量化了它。要正确查看,请再次将其转换为 double 并除以 50,使用 imshow。示例代码:

img = imread("image.jpg");
quanta = 50;
img = double(img) / 255;
img = uint8(img * quanta);
img = double(img) / quanta;

【讨论】:

    【解决方案2】:

    图像量化

    clear
    
    new = [0.3 0.5 0.05;1 0.1 0.03;0.01 0.4 0.02;0.23 0.7 0.8];
    
    new1=zeros(3,3);
    
    for i=1:3
    
        for j=1:3
             if new(i,j)<1
                  new1(i,j)=new(i,j)*256;
             else
                  new1(i,j)=new(i,j);
             end
        end
    end
    new
    new1
    

    【讨论】:

    • @BradLarson - 感谢您关注这个标记的答案。但是,您认为您的编辑在哪些方面使它变得更好?它是神秘和不清楚的。更重要的是,它几乎没有解释它是如何解决这个问题的。这不是一个质量合理的答案
    • @Shai - 这是代码,是对答案的尝试。在这种情况下,我将怀疑的好处交给回答者。我不愿意删除一个诚实的答案,即使它是错误的,并且希望给他们一个机会来澄清他们发布的内容。
    • @BradLarson 我同意我们应该鼓励新用户,但代价是什么?引用"The war of closes" blog post:“我们不能降低我们的标准。我们不会。”
    最近更新 更多