histpwl.m

来自「Matlab數位影音處理 影像方面的處理」· M 代码 · 共 20 行

M
20
字号
function [out]= histpwl(im,a,b)
%classchanged=0;
%if ~ is a(im,'double')
  classchanged=1;
  im=im2double(im);
%end
if length(a)~=length(a);
    error('vector a and b must be of equal size')
end
N=length(a);
out=zeros(size(im));
for i=1:N-1;
    pix=find(im >=a(i) & im <=a(i+1));
    out(pix)=(im(pix)-a(i))*(b(i+1)-b(i))/(a(i+1)+a(i))+b(i);
    pix=find(im==a(N));
    out(pix)=b(N);
    if classchanged==1;
       out=uint8(255*out);
    end
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?