Input: RGB channels of the image I | Output: CrA, CrB, the upper and lower Cr thresholds | of the skin with wound | RGB2YcbCr(I) | Cr unique(reshape((:,:, 3)) | HCr Hist (Cr) | Sm [Cr(find(HCr = min(HCr(:, 1))), min(HCr(:, | 1))] | Delete Sm(1,1:2), Sm(length(Sm(:,1)),1:2) | A [, ], B [, ] | for i,j1 to length(Cr) | do pp (sum(HCr(1:i))+ | sum(HCr(length(Cr)-j: length(Cr))) | if pp > 5% | then lowi, highlength(Cr)-j, break | end | LCr (high) – Cr(low) | Lm0, pm0 | while Lm >=15 & Lm <=30 & pm > Lm/L | do HA Sm(find(Sm(:,1)<=A & | Sm(:,1)>=A), 2) | HB Sm(find(Sm(:,1)<=B & | Sm(:,1)>=B), 2) | CrASm(find(Sm(:, 2)=min(HA)),1) | CrBSm(find(Sm(:, 2)=min(HB)),1) | LmCrB – CrA | pmsum(HCr(CrA:CrB))/sum(HCr) | AA+randi(,1,1), B B+randi(- | ,,1,1) | end | return CrA, CrB |
|