I have the following part of MATLAB code
skin_rgb = zeros(256.^3,1);for i = [2000 : 2003,2008,2010:2011,2013:2015,2017:2018,2021,2024,2027:2041,2043,2045:2059,2061:2063] I = imread(['skin_img',num2str(i),'.tif']); [x,y,~]= size(I); for l = 1:x for j = 1:y if (I(l,j,1) ~= 255 && I(l,j,2) ~= 255 && I(l,j,3) ~= 255) aa = double([I(l,j,1) , I(l,j,2) , I(l,j,3)]); [~,ee1] = ismember(aa,rgb_hist,'rows'); skin_rgb(ee1) = skin_rgb(ee1) + 1; b1 = b1 + 1; end end endend
The output of the code is perfect. The issue is it is very slow. Inside the if loop the size of rgb_hist variable is 255.^3 x 3. Is there any way to get rid of the two nested for loops? As I am doing Image processing on high resolution image the variable x and y (different for each "i" iteration) have a big number in it.
Thank you
Best Answer