function varargout = EgalHisto1D(varargin) % Egalisation d'histogramme 1D % Pour image non binaire % Traitement marginal des images à P plans % % INPUT: % - image PxQ, Q>1 % - valeur numérique : % du nombre de niveaux de gris de l'image % % OUTPUT: % - image PxQ % % Plugin for OpenIsaac % version 1 % © 2011-2018 Alain Clément - Université d'Angers %--------------------------------------------------------------------------------------------------- % Copyright 2007 - 2018 Université d'Angers - Author: Alain Clément % % This program is free software; you can redistribute it and/or modify it under the terms of the GNU % General Public License as published by the Free Software Foundation; either version 3 of the % License, or any later version. This program is distributed in the hope that it will be useful, but % WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A % PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received % a copy of the GNU General Public License along with this program; if not, write to the Free % Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. %--------------------------------------------------------------------------------------------------- % PLUGIN PARAMETERS if (nargin == 1) && strcmp(varargin{1},'-f') % input varargout{1} = {'IMG','image', ... 'DATA','% nb de niveaux de gris'}; % output varargout{2} = {'IMG','image'}; return end % INPUT ObjIMG = varargin{1}; val = IsaacDATA_get(varargin{2},'Val'); %--------------------------------------------------------------------------------------------------- if (IsaacIMG_get(ObjIMG,'BitClass') == 1) error('image incompatible') end img = IsaacIMG_img2mat(ObjIMG); nbp = IsaacIMG_get(ObjIMG,'DimZ'); for k = 1:nbp nbval = max(round(length(unique(img(:,:,k)))*val/100),2); % nbval >= 2 OK même si 1 seul niveau de gris img(:,:,k) = histeq(img(:,:,k),nbval); end ObjIMG = IsaacIMG_mat2img(ObjIMG,img); %--------------------------------------------------------------------------------------------------- % OUTPUT varargout{1} = ObjIMG;