在Matlab中复制图像的麻烦

时间:2018-04-14 17:52:48

标签: image matlab

我编写了Matlab代码来执行以下步骤:

  1. 阅读原始的山寨图片。
  2. 获取尺寸。
  3. 显示曲线拟合的x值。
  4. 复制原始图片。
  5. 遍历天空所在的前70行。使用函数polyfit和。
  6. 逐个浏览每种颜色。
  7. 多项式近似需要每行作为双向量。
  8. 计算合成行。
  9. 把行放到新的天空。
  10. 结束循环
  11. 显示新图片。
  12. 显示旧图像。
  13. 我已经测试并调试了它,看起来复制输入图像的代码部分无法正常工作。这是代码:

    function (imageName) 
    
    inputImage = imread(imageName);
    [sizeX,sizeY,~] = size(inputImage);
    copyImage = ones(sizeX,sizeY,3);
    for i=1:sizeX
        for j=1:sizeY
            for d=1:3
                copyImage(i,j,d)= inputImage(i,j,d);
            end
        end
    end   
    for r = 1:70
        for co = 1:3
            var1 = 1:sizeY;
            var2 = copyImage(r,:,co); 
            P = polyfit(var1,var2,2);
            Y = polyval(P,var1);
            copyImage(r,:,co) = Y; 
        end 
    end 
    imshow(copyImage);
    
    end  
    

    有人能告诉我复制输入图像的方法有什么问题吗?谢谢。

1 个答案:

答案 0 :(得分:0)

这是数字格式的问题,在显示之前将其更改为uint8:

imshow(uint8(copyImage));