【问题标题】:How to fix the undefined function or variable error?如何修复未定义的函数或变量错误?
【发布时间】:2017-10-28 07:20:22
【问题描述】:

我正在研究 Matlab 17.a 程序的图像处理。我的工作是关于直方​​图均衡。代码如下。但是当我运行代码“未定义的函数或变量'cumulavite_hist'”时。我得到一个错误。我该如何解决这个问题?感谢您的帮助。

输出将是原始图像旁边的直方图。下面是变化的图片和直方图。感谢您的帮助。

>> img= imread ('C:\Users\emre.guzel\Desktop\homeworkimage.png');
if (size(img,3)>1) 
    img=rgb2gray(img); 
end


max_r = size (img,1);
max_c =size (img,2);
histogram =zeros ([1 256]);
cumulative_hist = zeros ([1 256]);

for r=1:max_r
    for c=1:max_c
        for count =1:256
            if(img(r,c) == count-1 )
                histogram (count) =histogram (count)+ 1;
                break ; 
            end    
        end
    end
end

%find cumulative histogram 
current_value = 0;
for count=1:256
    current_value = current_value + histogram (count);
    cumulative_hist(count) = current_value;
end
%find h =(cdf-cdf(min) / (MN - cdf (min) )) * 255
%this is the normalized cumulative histogram normalize dediğine bakma sen.
%histogram equalization formulu bu . aşağıda da bunu uygulamış.
normalized_hist = zeros ([1 256]);
cdf_min = min (cumulavite_hist) ;
for count = 1:256
    normalized_hist(count) = cumulative_hist(count) - cdf_min;
    normalized_hist(count) = normalized_hist (count) / ((max_r*max_c)- cdf_min);
    normalized_hist(count) = round (normalized_hist (count) * 255);
end
%replace the values with given equalized    values 
equalized_image = zeros ([max_r max_c]);
for r =1:max_r
    for c=1:max_c

        for count = 1:256
            if(img(r,c) ==(count-1))
                %
                %
                equlized_img(r,c) = normalized_hist(count);

                break;
            end
        end
    end
end
subplot(2,2,1)
imshow(img);
title('Orijinal Image');
subplot (2,2,2);
imhist(img) ;
title ('Hist of Orijinal Image');
subplot(2,2,3) ;
imhist (uint8(equalized_img));
title('Histogram Equalized Image');
H = uint (equalized_img);
subplot(2,2,4) ;
imhist(H) ;
title ('Histogram of Histogram Equalized Image');

a = histeq(img);
figure 
imshow(a)

【问题讨论】:

    标签: image matlab image-processing


    【解决方案1】:

    您在第 10 行有 cumulative_hist 变量,在第 33 行使用了 cumulavite_hist 变量。只是第 33 行中的名称错误。修复它,程序将运行。

    【讨论】:

      猜你喜欢
      • 2013-12-21
      • 1970-01-01
      • 1970-01-01
      • 2011-01-07
      • 2015-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多