【问题标题】:Show gradient as image in matlab在matlab中将渐变显示为图像
【发布时间】:2015-08-22 10:12:19
【问题描述】:

我正在尝试运行一个代码,该代码应在 MATLAB 中将结果显示为图形。图像应该是 512 x 512。第一列中的所有行都是零,到达第 512 列时它们变为 255。然而,我得到的只是几根黑色的柱子,然后是白色的柱子。我看不出哪里错了!我正在附上我的代码。

clear all;

r=512;
c=512;

a=zeros(r,c);

for i=3:c
    b=round((i-2)/2);

    a(:,i)=b;

end

cast(a,'uint8');
imshow(a);

【问题讨论】:

    标签: matlab image-processing


    【解决方案1】:

    相对简单的解决方法:您忘记将cast 设置为a。现在你正在绘制双精度而不是 uint32。

    r=512;
    c=512;
    
    a=zeros(r,c);
    
    for i=3:c
        b=round((i-2)/2);
    
        a(:,i)=b;
    
    end
    
    a = uint8(a);
    imshow(a);
    

    【讨论】:

    • 我也使用了 uint8 而不是 cast,因为它稍微快一些。
    猜你喜欢
    • 2012-07-14
    • 1970-01-01
    • 2019-10-29
    • 1970-01-01
    • 2016-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多