How to make a segmentation in fibers?

1 次查看(过去 30 天)
Hello
I wanto to make a segmentation in textile photos, aiming to get a difference colour reader, using LAB system . Don't know if it is enough to get a colour filter, as my biggest problem is recognising light colours. It is necesary to use a CNN to get a proper filtering ? Besides it is not necesary to get the full shape of the fiber , just big chunks of them , as I want to get each pixel averaged. Attached are some photo samples and the full code.
First of all, I want to get the foreground stand out from the background . Then to get a the mask eroded until having debris out and getting it clean . And finally getting two mask and recognise its proper colours ,compare them and calculate the difference by dEcmc. Code is in Spanish , hope can understand. Thanks in advance
%Down here some picture samples , between light and dark colours, mostly troubled with light.
a=imread('IMG_20250430_174124109.jpg');
a=imread('IMG_20250430_173858174.jpg');
a = 1792x4080x3 uint8 array
a(:,:,1) = Columns 1 through 30 152 150 151 154 150 143 145 150 145 148 149 152 157 154 155 148 149 152 150 150 150 154 143 153 150 152 151 154 155 154 148 148 150 152 151 147 149 150 151 157 156 145 143 145 153 152 149 149 149 151 154 159 150 157 151 151 150 153 156 155 149 150 150 148 147 149 153 152 139 146 154 149 150 152 152 148 148 148 152 152 152 154 151 156 152 154 153 155 155 154 151 151 150 147 147 150 154 155 153 146 147 145 149 151 151 154 151 149 155 153 149 150 152 155 153 155 154 154 154 153 148 149 150 150 150 150 151 152 157 150 153 153 154 150 147 152 154 150 153 152 150 153 157 156 155 153 150 152 154 154 148 148 149 150 149 147 147 149 153 150 152 151 153 150 150 151 153 151 151 150 146 149 152 151 154 154 152 154 155 153 148 148 147 147 147 146 147 148 148 148 151 150 153 150 150 145 149 151 149 151 144 148 148 149 153 156 156 157 154 151 142 144 146 147 149 150 149 147 150 151 151 152 154 149 152 149 147 150 146 153 152 158 156 155 154 155 153 153 152 151 148 144 148 149 150 146 149 148 146 148 152 151 151 154 151 153 148 149 151 150 148 155 150 152 155 152 153 154 151 152 148 146 149 151 150 148 149 148 149 149 152 149 148 151 151 153 152 152 153 153 152 158 152 153 154 150 151 152 149 150 143 144 146 151 149 151 147 146 154 151 153 150 149 152 155 154 152 150 152 152 152 158 154 156 152 150 153 154 150 150 140 142 146 150 150 152 150 146 157 152 155 152 150 152 153 149 151 148 150 148 148 153 152 156 152 152 156 157 151 147 148 147 150 148 151 152 153 149 154 148 152 149 149 151 153 148 153 151 154 149 147 149 148 152 150 150 153 155 153 152 148 145 145 141 144 144 147 144 152 147 151 146 149 150 153 151 152 153 158 151 149 149 148 149 147 145 143 145 151 154 154 151 151 150 150 150 152 149 155 153 157 147 149 147 150 150 150 152 158 149 149 150 149 150 155 155 151 150 154 157 147 147 147 152 150 151 148 145 148 149 156 146 149 146 150 153 150 152 157 147 147 150 150 150 149 153 153 151 152 154 149 151 149 149 147 147 153 150 146 148 152 151 150 149 155 151 152 157 155 155 158 154 146 149 150 149 151 153 151 151 150 153 151 149 148 149 155 152 153 152 155 152 149 147 153 151 155 154 148 148 154 157 154 156 152 148 150 150 150 153 149 151 150 150 150 150 156 155 158 153 156 153 150 150 155 157 156 154 150 150 155 158 157 153 155 149 151 151 152 154 149 148 149 151 152 149 152 155 157 149 151 148 146 144 148 151 151 152 153 152 152 150 151 143 151 149 149 153 155 152 149 150 150 151 152 150 149 151 156 149 151 150 150 148 151 152 155 155 156 153 152 150 155 148 147 151 149 154 157 150 146 150 151 148 152 154 151 149 152 147 148 151 153 150 155 153 154 151 149 147 150 148 155 148 144 150 146 148 150 143 146 147 149 146 152 153 148 148 155 154 152 156 155 149 156 151 154 151 149 149 154 149 156 149 152 154 154 148 150 147 151 146 145 147 152 147 140 145 149 151 148 152 151 144 155 148 150 149 148 148 154 146 155 151 150 149 154 144 147 150 152 150 151 152 153 151 148 144 148 152 152 147 152 147 160 148 152 149 151 147 155 150 152 151 154 153 152 155 155 154 153 150 150 153 156 155 152 147 146 149 152 148 149 141 154 145 145 147 152 151 152 150 154 156 156 155 153 155 155 154 149 149 153 154 152 151 151 149 151 150 152 151 155 148 160 151 147 151 155 154 146 147 150 152 157 155 153 155 155 154 149 149 153 154 152 151 153 153 155 151 151 148 152 146 155 146 147 148 152 152 145 148 151 149 155 154 153 155 155 153 153 149 149 151 154 156 156 155 151 151 155 151 156 153 163 155 149 150 157 157 154 156 159 154 156 154 152 154 153 152 153 150 149 151 153 154 155 153 150 149 153 148 152 148 154 144 152 155 162 163 160 158 160 156 157 154 150 151 150 150 153 153 155 156 154 154 155 156 158 153 157 153 160 157 161 152 147 151 153 157 155 156 155 156 157 154 151 152 152 152 150 148 151 154 155 156 156 155 156 150 154 149 152 146 153 149 152 153 148 153 151 156 152 156 156 154 153 156 157 156 153 151 152 149 151 150 155 156 154 154 157 154 156 152 153 150 156 156 159 154 152 153 149 158 157 153 152 157 156 156 150 150 150 152 153 156 156 156 156 156 157 154 154 154 157 158 155 155 157 150 153 156 151 154 154 151 149 152 153 156 152 153 151 153 152 156 156 158 155 156 156 156 155 156 155 155 157 154 157 150 156 156 152 153 153 152 149 150 153 156 153 155 155 154 151 152 154 158 156 156 153 157 157 160 155 152 156 149 154 151 155 148 148 152 154 153 150 152 155 156 151 153 156 155 157 154 155 155 155 153 148 150 150 156 154 154 159 152 157 155 158 151 154 156 154 152 149 152 155 153 154 152 154 153 158 156 156 154 154 153 151 149 148 151 153 155 156 152 153 150 153 153 156 151 152 151 147 150 154 153 155 153 152 151 154 155 155 155 157 156 157 155 156 155 156 155 157 154 153 151 149 152 155 150 150 152 148 150 154 154 148 151 151 154 151 153 153 156 156 153 153 151 158 158 158 154 157 154 152 152 145 144 148 149 148 152 149 150 155 155 155 154 154 154 151 151 154 157 154 156 153 150 152 154 155 156 155 152 153 154 154 148 146 147 156 151 153 151 152 156 153 153 155 156 153 152 155 157 157 156 152 152 156 158 157 157 153 150 151 151 155 154 154 151 154 150 153 154 155 156 151 151 153 154 151 150 153 154 155 154 154 155 155 153 152 156 151 152 153 150 154 155 157 153 156 150 150 151 152 152 153 151 151 152 150 149 151 152 152 153 155 156 154 148 146 152 153 157 159 154 153 151 152 149 156 151 150 149 148 149 154 151 152 153 153 153 152 151 150 150 152 155 156 152 149 151 150 152 156 154 154 152 154 155 153 153 153 153 151 151 154 150 152 155 156 155 153 151 145 148 151 153 155 154 154 156 160 157 155 153 154 149 149 149 152 154 154 153 152 153 154 151 150 152 154 153 151 149 145 150 151 149 150 152 155 157 153 150 151 151 154 152 153 153 153 154 152 152 151 151 158 154 152 152 152 151 150 149 152 155 151 146 148 153 154 152 151 152 154 151 152 149 150 149 152 153 152 155 153 150 150 151 151 151 154 156 154 150 152 150 149 153 149 152 152 155 155 152 153 149 152 158 153 150 147 150 153 152 152 157 152 151 151 151 154 156 156 153 151 152 153 156 150 151 152 155 152 153 155 153 153 154 152 151 148 151 154 153 151 151 156 152 153 153 153 154 154 151 154 151 149 151 149 152 154 155 150 152 152 153 153 151 152 152 153 151 152 154 153 153 152 149 151 154 154 154 155 152 151 150 151 155 156 156 152 147 154 153 149 152 152 149 153 153 154 151 152 155 155 156 153 150 152 154 154 153 153 151 155 153 152 150 148 149 150 147 159 157 151 153 153 148 152 153 151 152 155 154 152 154 155 155 153 152 152 150 148 148 153 152 153 151 151 151 150 144 155 154 153 155 153 149 152 155 153 154 155 153 151 153 148 153 151 149 153 152 150 152 160 155 153 148 153 156 158 152 152 149 151 152 152 152 152 157 155 155 155 154 153 155 145 154 153 150 156 155 150 152 154 153 155 150 152 153 155 149 155 149 150 150 152 155 152 155 152 154 156 156 154 154 154 147 156 153 152 150 157 149 155 152 150 149 153 152 158 158 156 151 152 153 150 152 155 152 153 156 156 153 157 155 151 147 150 148 149 146 148 148 150 150 153 149 152 148 157 156 156 152 151 152 150 151 153 151 154 155 156 154 158 153 147 149 148 151 156 152 149 155 158 154 157 152 158 154 160 151 158 156 154 153 153 154 155 155 155 155 155 155 159 153 146 147 145 147 155 152 150 154 157 152 152 150 156 155 156 143 155 154 151 150 152 152 152 154 155 155 155 154 158 153 157 153 151 149 155 151 157 153 154 156 155 156 156 158 159 153 156 155 153 152 154 154 154 155 155 157 156 152 156 154 151 148 150 149 153 149 158 149 152 157 155 157 155 157 157 156 154 153 152 153 153 153 152 152 157 158 157 152 156 155 146 147 150 153 154 149 157 152 156 158 152 154 158 158 155 154 156 154 155 157 156 156 156 153 155 156 155 151 155 153 155 157 152 155 152 147 155 158 155 157 150 150 161 158 155 155 154 150 154 157 155 155 156 152 152 151 150 149 153 149 146 155 154 151 154 157 159 156 154 157 155 154 155 158 158 154 148 153 153 156 155 152 155 153 155 155 153 153 148 155 148 151 153 153 153 157 152 160 158 158 156 154 154 154 153 150 148 152 152 153 152 151 154 153 153 153 156 155 153 152 152 152 155 151 148 152 138 152 155 155 154 155 156 156 156 156 152 155 154 155 154 154 156 155 155 151 154 150 152 150 148 151 156 154 156 164 152 163 157 155 156 157 157 157 156 157 153 156 157 157 157 156 156 155 154 152 153 151 152 149 148 151 153 151 156 156 150 154 158 154 156 156 156 156 153 156 152 153 154 154 154 154 153 152 152 152 151 151 152 152 149 149 149 154 158 152 152 153 154 150 153 153 155 157 154 158 153 152 153 151 151 153 152 153 151 153 150 151 155 156 152 151 150 157 155 152 153 151 154 150 153 151 152 156 152 154 153 151 153 151 152 154 152 153 151 154 155 155 158 153 152 154 154 158 151 156 156 152 153 149 152 149 151 155 150 152 150 149 152 150 151 154 150 151 151 150 151 146 152 144 152 150 155 156 144 151 158 153 152 155 157 154 159 153 147 152 152 157 154 155 151 154 154 153 156 153 155 154 156 149 152 151 153 155 152 155 156 153 158 155 151 148 159 158 153 155 156 157 154 157 157 157 155 153 153 152 153 155 159 156 151 150 152 154 159 157 157 157 155 158 160 157 162 158 154 157 159 158 155 154 153 149 152 153 156 155 151 151 154 155 149 149 153 151 155 153 157 157 157 156 155 151 156 154 151 153 158 157 156 153 154 151 158 159 154 156 156 156 155 154 150 149 155 150 149 150 155 151 152 155 160 156 158 154 150 151 156 157 157 155 159 157 160 155 151 153 155 156 156 153 150 149 154 152 150 153 156 148 156 158 160 151 147 145 150 157 157 160 159 156 156 155 156 152 156 155 154 152 157 155 147 151 154 154 152 153 153 153 158 157 160 156 158 157 154 153 156 160 158 158 155 156 159 160 158 157 157 149 158 158 146 155 155 154 151 148 146 155 148 151 159 157 159 158 157 155 156 158 155 160 158 158 156 155 155 154 150 134 145 151 145 151 152 152 150 154 154 155 152 155 157 153 155 156 160 156 154 157 156 159 158 156 155 153 160 157 160 157 155 152 149 147 151 147 159 157 159 153 154 153 154 151 155 156 160 158 156 159 155 152 155 159 159 151 155 153 159 159 160 155 164 160 164 156 165 156 159 154 154 152 154 155 159 157 157 156 158 157 153 153 156 157 158 155 164 159 161 160 160 156 151 151 153 152 151 147 149 151 154 153 156 156 158 155 155 154 156 157 156 157 155 151 152 152 155 151 156 157 159 155 150 149 148 153 154 157 156 159 157 156 157 152 152 150 153 154 141 150 153 153 154 157 159 156 160 156 158 156 157 153 152 148 147 147 154 153 154 153 158 157 158 154 154 151 154 155 153 156 155 155 156 156 156 151 156 153 156 152 153 154 154 151 153 150 156 153 156 155 155 152 154 156 159 155 155 155 159 156 153 156 158 157 157 156 155 158 164 160 160 159 151 150 150 149 153 152 153 152 153 146 146 151 158 155 155 156 153 156 153 153 155 158 160 155 152 155 161 156 155 157 154 150 151 155 157 156 156 156 159 152 155 152 153 154 156 153 157 157 160 154 157 156 163 155 154 153 160 158 156 158 150 151 153 151 150 150 151 149 153 148 154 154 154 152 155 156 158 153 159 157 156 150 153 157 157 154 158 156 155 155 150 151 153 152 151 153 155 154 155 150 156 157 157 154 155 157 158 154 158 156 157 157 154 157 165 158 161 160 159 156 155 149 147 150 153 152 153 153 155 151 156 156 159 157 156 157 157 157 155 154 155 157 153 150 157 150 152 154 158 157 156 149 148 152 154 154 156 154 149 151 158 156 159 159 158 158 157 159 155 161 160 156 160 157 162 154 153 151 155 154 147 148 150 150 151 153 156 153 146 152 160 156 157 155 154 155 158 161 156 159 156 151 158 147 153 150 151 148 153 153 154 155 156 154 151 152 156 154 150 153 156 151 153 150 149 151 151 152 155 156 155 156 166 154 157 159 160 154 156 155 156 152 151 152 151 150 155 158 160 156 154 150 156 154 152 155 154 147 158 159 152 144 156 153 158 161 160 150 152 155 153 153 150 152 154 150 155 155 157 159 153 159 155 155 151 152 158 152 156 156 157 152 152 152 151 155 159 150 151 155 154 154 153 153 152 149 152 154 156 156 157 152 154 150 154 158 155 150 152 153 156 157 153 150 158 156 156 150 154 158 155 155 156 154 151 149 149 154 154 151 159 151 159 154 155 156 151 152 156 157 153 156 155 156 155 154 153 153 154 154 155 154 158 154 151 151 149 154 155 150 154 147 153 156 156 160 156 154 153 156 154 159 155 155 154 155 155 156 155 151 155 153 157 153 153 153 151 154 158 157 166 156 159 157 154 156 158 152 150 154 152 155 152 155 158 157 153 152 154 153 154 153 155 153 154 155 153 153 149 145 152 138 150 148 156 156 156 151 153 154 151 152 152 157 157 157 156 153 158 156 152 153 152 153 155 155 155 153 156 156 161 150 159 154 157 152 158 151 151 152 156 158 155 152 156 157 157 154 162 156 150 153 151 153 156 155 157 154 145 154 157 153 153 152 156 155 154 151 155 153 156 156 155 152 158 152 148 144 158 151 150 152 153 148 160 155 153 151 148 154 158 153 151 156 157 157 155 150 152 153 159 156 157 157 159 157 153 157 160 159 151 147 147 149 158 148 149 156 153 154 156 154 154 157 157 158 155 151 153 153 156 153 153 152 157 152 148 153 159 159 151 152 151 149 154 152 153 159 158 155 156 156 156 155 154 158 152 152 153 153 155 154 155 154 160 154 148 152 156 154 150 148 148 154 157 151 150 157 157 155 158 157 155 153 153 158 156 158 157 155 154 154 155 154 157 155 152 152 155 153 147 147 149 155 158 155 152 152 154 154 157 156 154 155 154 158 157 159 159 157 153 155 155 155 158 160 159 158 159 157 156 158 156 150 153 158 159 153 156 155 156 155 156 158 155 154 153 156 155 155 152 155 155 156 153 155 155 155 157 152 161 155 155 151 155 152 157 158 159 157 157 156 157 158 155 155 155 157 155 157 154 155 153 153 153 154 156 158 160 152 148 151 159 155 159 155 159 154 157 155 158 157 157 157 156 160 153 155 154 158 156 159 155 156 155 155 157 159 157 145 146 150 160 156 154 153 158 157 157 158 158 156 159 154 154 156 159 160 157 157 158 157 157 158 159 157 159 159 159 159 142 149 157 159 154 153 156 156 157 155 153 150 155 155 158 158 154 158 157 158 159 157 157 157 157 154 155 155 155 155 145 146 148 154 151 155 155 155 158 158 160 157 156 154 157 156 153 159 159 160 160 157 157 158 159 156 156 156 157 157 155 152 152 155 154 156 155 154 157 156 162 160 155 150 153 152 152 158 157 156 155 153 154 156 156 154 156 156 157 156 147 147 155 155 154 150 153 154 162 156 158 159 158 155 159 159 155 160 159 158 157 157 159 160 154 153 156 156 156 155 149 148 155 154 156 154 160 159 159 154 154 154 155 151 155 157 150 156 155 155 156 156 158 157 154 153 156 156 155 155 156 152 151 149 151 154 157 154 157 158 159 156 157 153 153 154 153 157 155 154 156 157 158 156 153 152 154 154 154 154 152 152 151 152 151 157 158 156 154 156 154 151 157 158 156 153 158 160 155 152 154 155 155 152 154 152 154 155 156 157 153 151 156 154 160 155 160 153 152 158 158 156 158 159 156 155 155 157 157 155 155 154 154 155 157 152 155 154 156 158 151 154 158 156 158 152 155 152 151 157 159 158 159 157 154 154 152 154 157 159 158 156 156 156 157 152 154 154 155 156 146 152 156 158 161 155 153 151 152 154 155 156 157 156 154 156 156 153 155 157 153 151 153 155 155 153 156 159 155 153 147 152 151 156 162 159 155 153 155 154 154 157 159 158 158 159 160 155 156 156 150 149 153 152 154 151 153 159 156 153 154 155 150 152 157 156 154 155 154 154 156 158 156 154 155 157 158 155 158 158 153 154 157 154 157 149 146 153 155 157 152 154 154 154 156 152 153 155 156 156 157 155 148 146 151 156 157 156 157 156 154 157 160 157 156 151 153 157 157 156 148 150 157 157 158 150 155 155 159 158 158 155 149 150 156 159 158 156 154 154 155 157 158 158 156 154 158 159 157 155 152 151 157 155 157 149 158 158 155 152 154 156 156 157 158 154 155 154 153 157 160 158 156 158 160 152 152 151 156 159 148 153 158 155 160 161 161 157 154 153 156 158 156 157 159 156 155 159 161 159 158 158 158 159 156 153 156 156 152 155 148 153 158 154 158 157 158 155 155 156 154 154 157 158 158 157 155 157 157 156 158 158 158 159 154 152 158 156 154 155 164 153 152 155 164 158 154 153 152 155 152 152 160 160 155 155 155 159 158 156 157 158 158 158 155 152 159 154 156 155 159 152 153 156 162 154 155 160 153 155 152 153 159 159 155 154 156 162 164 160 158 157 156 155 157 154 158 153 157 158 146 151 158 155 159 160 163 163 159 156 154 153 153 156 158 155 159 159 159 160 159 155 153 156 155 156 157 155 155 160 148 152 158 156 161 160 160 156 156 153 154 155 153 156 160 157 161 153 150 156 159 154 153 159 152 156 157 154 151 155 150 151 157 157 158 150 151 155 152 153 155 156 158 159 159 158 160 155 151 153 156 156 156 160 153 156 156 151 151 153 155 150 152 153 161 160 160 159 157 160 158 156 160 159 157 159 156 162 161 153 153 158 160 158 156 155 156 149 157 158 156 156 157 153 155 159 163 161 162 161 155 158 159 157 160 159 162 162 161 160 159 155 156 162 157 155 157 157 157 160 145 148 154 155 156 156 157 157 157 156 151 154 156 154 158 158 153 154 159 163 161 160 159 157 155 153 157 157 158 158 148 150 155 155 155 154 158 162 154 154 152 156 158 156 158 158 157 154 157 159 155 158 160 155 155 152 158 157 160 157 150 152 157 158 156 153 155 157 154 156 156 160 161 159 159 158 158 157 158 159 158 157 156 154 154 150 156 153 157 153 152 154 158 156 154 153 154 155 154 155 156 157 159 158 156 156 156 158 156 158 161 156 154 161 159 154 161 156 158 154 154 155 157 155 154 156 158 158 155 154 154 153 155 156 155 156 158 161 156 155 160 153 150 161 153 151 157 154 155 153 148 149 155 156 157 155 156 156 158 156 156 153 155 157 155 156 156 159 159 160 161 153 148 153 154 153 158 156 155 156 151 150 151 153 153 152 156 160 159 157 158 155 157 159 155 155 157 157 158 158 158 157 157 159 157 157 159 155 152 156 158 150 154 155 155 156 161 156 157 156 157 158 156 154 155 157 155 159 162 155 161 159 154 157 158 156 156 155 154 155 149 151 161 159 157 156 158 151 155 158 158 155 155 158 158 155 160 158 156 143 152 152 154 159 153 156 159 157 154 155 153 155 160 154 153 154 160 159 156 159 159 156 156 158 160 158 158 159 161 150 160 155 155 155 152 154 156 154 155 155 151 148 152 152 156 153 156 157 158 158 158 158 156 155 158 160 160 160 160 153 159 156 156 155 155 153 153 152 157 155 153 150 155 156 161 158 159 159 159 156 154 155 156 156 157 157 156 160 159 159 160 158 155 152 155 154 156 156 158 153 152 152 156 152 152 154 159 159 159 156 152 151 155 161 159 153 160 163 156 156 154 158 159 159 157 156 158 157 156 153 152 151 159 157 154 154 159 157 158 157 154 152 155 160 159 154 153 158 157 159 158 158 158 154 157 155 155 154 154 156 154 147 155 158 155 152 157 155 158 157 156 156 155 154 156 158 155 158 157 157 158 157 161 157 152 153 155 153 154 158 153 152 151 154 156 154 157 159 155 156 156 154 154 156 158 158 156 153 155 158 158 158 159 159 156 158 157 154 158 157 152 157 158 157 157 157 159 155 156 157 156 155 155 156 157 156 157 156 156 159 158 157 158 158 157 160 152 151 155 154 152 155 157 159 159 155 156 157 157 157 156 155 156 156 156 155 156 156 155 159 157 155 159 158 159 162 155 154 155 157 153 153 155 159 159 155 158 161 156 157 157 157 157 156 157 156 155 156 154 159 157 154 160 159 155 154 159 155 152 157 155 158 159 158 159 160 162 160 155 156 158 158 158 157 158 158 156 156 155 159 157 155 159 159 158 153 159 159 156 160 157 158 159 159 159 157 157 155 153 155 157 158 157 155 157 159 159 155 156 157 155 155 155 156 158 155 151 156 157 156 157 155 156 159 158 152 152 154 154 155 156 157 156 155 156 157 160 153 155 155 153 155 152 154 159 159 154 156 156 156 155 158 158 157 155 154 157 156 157 156 157 158 157 155 156 157 160 151 155 153 153 157 152 155 155 155 158 152 149 154 153 152 155 154 159 158 158 159 160 160 160 160 158 159 159 157 160 160 157 159 161 157 154 158 160 158 156 155 155 156 149 149 155 155 159 156 157 158 159 161 160 157 157 157 157 156 159 156 154 157 160 163 156 147 157 155 153 154 154 154 150 151 156 156 159 157 160 161 152 157 161 156 162 161 161 159 157 157 161 160 153 155 158 154 156 154 154 155 152 150 147 148 154 157 160 156 158 155 160 161 157 144 152 151 155 155 162 157 157 158 154 153 155 156 159 155 153 154 152 151 156 153 153 155 158 157 163 159 157 159 157 148 158 156 156 153 158 157 153 154 156 154 151 152 159 154 151 153 153 153 157 152 149 150 151 151 160 156 162 160 155 147 153 153 155 152 153 160 158 151 151 152 152 156 154 154 155 156 152 150 152 153 156 160 158 152 160 153 156 156 157 156 159 161 160 156 159 161 157 151 151 154 156 155 151 156 158 156 152 149 156 156 159 160 155 150 163 159 159 158 156 155 154 155 156 154 161 158 158 158 153 152 154 152 156 157 155 153 153 154 154 158 160 155 151 154 159 162 158 161 159 156 159 155 160 158 163 159 158 160 160 150 155 154 158 156 155 153 155 156 154 159 158 145 145 155 161 156 157 159 154 157 155 158 160 158 159 157 156 157 157 154 158 156 154 154 153 151 153 156 149 150 154 150 156 158 163 161 157 158 157 160 154 156 157 155 154 156 153 154 151 155 158 156 155 155 156 153 152 154 148 144 154 157 161 150 153 157 160 155 158 159 158 155 160 156 158 160 155 157 151 158 158 158 152 154 156 155 154 155 159 158 164 160 161 154 159 160 161 151 154 156 158 157 162 161 158 157 152 154 147 154 152 154 151 151 153 154 153 154 153 152 154 149 152 151 155 153 155 154 157 160 153 154 154 158 161 158 154 157 150 156 154 158 157 153 151 154 151 150 158 156 158 158 159 157 156 154 150 157 162 160 152 154 152 155 158 156 154 155 150 156 154 156 157 151 149 155 153 150 152 155 159 159 157 157 155 152 152 156 159 150 156 163 164 161 159 157 157 155 151 157 155 156 158 149 148 157 155 151 155 155 159 153 148 156 160 156 153 158 157 155 154 155 158 156 159 159 158 157 164 158 159 158 155 149 153 152 159 154 152 153 160 159 153 155 157 158 155 160 159 156 153 154 158 158 156 157 155 157 162 159 160 160 159 148 149 153 160 155 157 151 154 154 156 155 154 156 152 158 159 159 159 160 161 159 158 160 157 159 160 159 158 158 163 158 155 154 157 159 160 153 153 151 158 160 158 157 160 161 159 160 161 161 158 152 156 160 157 161 159 161 161 162 157 161 160 156 155 161 150 153 159 152 155 158 160 159 158 158 153 154 158 161 162 158 156 160 158 160 156 160 161 161 159 160 161 161 158 158 149 154 162 151 151 153 159 157 159 160 157 156 156 156 158 157 160 162 159 158 155 158 160 157 163 162 163 161 159 157 156 152 159 152 155 156 161 157 154 157 157 159 158 158 160 159 159 158 157 155 156 160 165 158 158 157 161 158 160 158 150 142 153 154 159 157 161 155 158 159 156 156 157 157 158 156 162 158 156 152 157 160 165 156 156 151 158 160 162 152 150 153 161 156 162 155 154 157 156 156 157 158 155 157 158 157 157 158 158 155 161 158 158 158 157 153 157 155 160 154 153 151 155 147 151 150 156 162 158 157 158 159 158 159 160 159 158 158 159 157 162 159 159 159 154 151 154 151 156 153 152 152 160 159 159 158 159 160 160 158 158 159 159 159 160 158 160 160 161 160 163 161 161 162 156 156 161 159 163 159 152 150 158 160 157 159 159 156 158 156 158 158 159 158 160 158 160 159 159 159 160 159 159 161 163 159 159 156 158 155 156 151 156 157 154 159 160 156 154 152 156 156 158 155 157 156 160 159 159 160 159 158 159 161 159 157 158 161 162 156 153 148 154 154 153 157 158 153 160 157 162 160 161 155 158 156 159 157 158 162 158 159 159 160 162 157 154 154 154 152 157 153 160 155 157 158 162 159 164 160 164 161 164 157 161 159 155 154 155 162 157 158 158 158 161 161 159 159 158 158 151 150 161 156 159 156 159 155 153 148 152 151 156 152 157 155 158 156 159 167 162 163 162 162 159 160 157 154 153 158 150 147 150 159 154 158 158 156 164 154 158 157 155 156 161 157 160 161 158 160 163 161 160 157 155 156 157 152 161 158 154 147 149 151 155 155 158 154 157 150 153 152 152 155 160 155 151 153 153 157 159 158 159 156 155 157 156 153 158 158 161 156 162 157 162 155 160 156 159 154 157 155 155 156 161 156 156 156 157 159 157 156 159 156 154 157 155 153 154 157 149 147 156 153 158 152 159 156 157 154 157 157 155 152 157 153 155 154 155 157 154 155 161 158 155 157 157 154 154 156 157 153 155 154 159 157 158 153 154 153 156 160 159 152 158 157 156 154 156 159 156 156 162 158 158 158 160 154 155 153 150 151 156 157 161 160 158 155 152 152 153 158 159 152 157 156 155 155 156 158 155 152 154 149 157 155 159 153 155 153 150 155 160 159 159 156 154 153 160 160 157 159 162 157 162 157 154 157 158 161 159 156 157 155 155 153 156 153 154 155 158 159 160 155 160 160 162 163 160 161 155 154 159 158 163 155 154 158 158 159 158 156 157 158 158 156 156 155 153 156 160 152 162 160 157 157 163 160 160 156 156 155 154 156 159 159 158 154 158 162 162 152 163 158 159 159 160 157 157 160 155 151 155 157 157 154 159 150 156 153 155 156 155 154 156 156 159 155 157 159 160 152 163 160 156 156 158 157 158 160 156 156 155 159 161 155 163 159 153 153 156 159 157 155 158 159 160 157 158 159 160 154 164 162 158 156 158 158 158 159 161 160 158 162 161 151 156 159 158 158 159 160 158 154 156 159 163 159 159 159 157 151 155 152 160 156 157 157 157 158 149 150 154 157 161 159 155 158 158 159 158 158 157 155 156 159 157 156 158 159 161 159 162 161 158 154 155 156 157 157 148 153 157 154 155 161 156 154 156 158 157 157 159 157 157 158 158 157 156 155 156 156 157 157 158 155 157 157 157 156 145 152 152 151 152 159 160 157 159 161 157 155 158 158 155 154 158 157 156 154 156 159 159 160 160 157 158 157 156 156 153 153 147 156 157 159 159 151 154 156 152 150 157 160 159 157 159 159 157 155 156 158 156 156 159 156 156 154 154 156 149 151 156 157 157 152 158 156 158 158 159 159 162 159 158 157 156 160 157 158 159 158 160 159 160 155 156 156 159 155 153 153 156 157 159 154 157 150 152 150 156 152 157 157 155 152 151 154 154 156 156 153 153 153 157 153 155 155 157 155 159 158 159 157 159 158 162 157 161 154 163 155 159 161 159 156 153 155 158 160 159 157 154 157 159 156 157 157 157 155 157 158 162 157 155 154 160 159 159 151 156 153 154 158 160 158 159 158 162 161 159 156 151 156 159 156 156 156 155 155 150 153 161 158 157 155 159 157 163 157 155 160 158 157 163 160 160 157 159 157 156 155 151 157 159 156 155 156 156 159 151 148 154 153 156 155 155 153 154 151 149 157 158 150 157 154 161 159 157 156 156 156 155 159 160 158 156 158 157 160 166 156 159 157 159 158 157 154 151 149 155 157 167 157 165 163 163 163 158 156 156 155 154 153 156 156 155 157 153 156 157 148 153 154 158 157 155 154 151 148 159 151 166 153 161 159 159 161 155 157 160 159 160 157 154 156 156 159 154 156 149 150 153 155 158 160 160 157 154 159 154 160 166 160 167 160 161 161 161 161 159 158 156 155 156 154 157 158 154 156 153 155 158 158 157 156 156 155 152 157 152 155 164 159 163 159 161 158 156 157 158 158 155 153 152 157 156 161 160 157 158 158 160 158 156 156 157 158 153 156 153 153 162 159 159 159 163 161 160 160 158 155 155 156 154 159 157 158 159 159 157 156 157 158 158 157 158 158 153 152 154 152 157 155 155 156 160 160 160 161 158 155 157 160 156 156 157 155 154 161 152 153 157 160 158 154 153 153 158 154 161 160 158 157 160 160 161 158 156 156 156 154 153 153 153 153 154 156 152 159 151 153 157 159 155 150 152 156 156 153 160 160 156 154 159 160 163 161 158 157 155 155 154 153 155 158 152 155 152 152 154 152 155 157 155 151 153 158 156 158 160 159 160 154 158 163 160 161 160 158 157 160 161 161 158 158 154 151 154 152 154 151 153 158 160 155 152 151 155 161 157 155 161 153 154 163 164 162 157 154 156 160 159 154 155 151 160 149 160 160 157 151 153 155 162 158 155 156 157 160 159 155 154 157 159 158 163 163 162 157 158 156 157 157 161 156 160 153 160 159 148 147 151 150 156 158 159 161 159 160 159 156 156 158 161 160 162 157 155 155 160 160 160 159 158 154 157 150 154 153 162 164 165 157 159 160 159 158 160 160 161 161 160 159 157 156 161 155 152 152 157 155 155 154 154 154 160 158 160 157 159 159 159 152 156 160 161 161 160 158 158 159 160 158 155 154 158 155 156 155 156 154 157 157 156 154 156 157 159 158 161 159 158 149 150 153 156 160 160 155 151 152 155 155 157 159 157 157 159 156 155 155 159 156 154 153 156 157 157 156 153 155 158 151 150 148 149 154 161 155 151 153 156 157 158 160 158 157 158 154 154 156 159 153 152 155 161 160 158 154 152 156 162 157 156 151 149 149 159 155 154 157 159 159 158 157 158 154 157 155 155 158 161 156 154 154 157 151 150 151 154 156 159 155 159 159 157 154 156 153 152 155 159 160 159 159 159 155 157 155 152 152 156 154 155 154 156 151 154 157 157 158 155 154 156 154 153 156 153 149 155 155 159 160 148 153 153 158 156 154 157 152 163 152 154 157 155 154 158 157 159 161 162 160 158 154 153 154 154 151 156 157 160 159 150 154 156 156 155 148 146 144 158 159 156 157 157 157 158 158 159 157 155 154 153 155 156 155 153 152 152 153 154 152 150 153 157 156 162 158 153 147 152 155 156 155 154 154 154 155 160 155 152 149 147 151 154 152 155 155 152 152 153 150 155 157 159 156 157 157 156 150 153 151 157 153 152 152 149 151 154 155 157 156 152 152 155 155 153 154 153 152 153 148 158 157 161 160 153 156 159 155 161 154 157 153 153 154 152 153 152 153 156 158 157 156 157 156 151 152 154 154 155 149 157 155 154 159 152 156 157 153 159 148 153 151 152 154 155 155 156 154 153 155 158 155 152 152 154 153 158 156 157 152 159 155 157 159 154 156 155 154 158 152 151 150 149 151 155 154 154 153 153 156 159 154 151 154 154 150 156 152 154 150 156 153 155 154 153 155 155 157 156 152 155 153 149 150 155 154 159 155 155 155 158 152 151 152 153 153 154 154 152 154 155 154 155 157 153 155 158 157 156 156 157 157 158 154 156 154 156 154 154 153 157 153 155 156 153 152 153 154 150 153 154 152 155 154 153 152 157 157 158 146 159 157 155 151 153 154 154 154 155 154 157 153 153 153 153 151 152 155 149 153 155 152 160 156 157 151 151 152 163 154 158 157 154 154 154 157 154 153 155 155 156 150 149 150 155 152 152 157 150 155 157 155 158 156 159 157 154 149 158 157 156 156 153 156 155 158 156 152 151 152 155 149 151 155 154 151 151 153 148 152 153 151 157 157 154 156 157 153 151 151 155 155 151 152 151 155 156 152 151 152 157 152 153 156 158 156 155 155 154 152 153 152 155 158 151 151 156 158 154 152 153 154 152 152 151 154 156 154 154 152 158 155 154 152 154 153 155 151 156 150 148 148 150 154 158 159 161 159 160 155 156 156 155 153 155 155 157 156 154 149 155 156 156 153 153 154 156 152 162 154 151 152 155 151 159 160 159 152 160 156 160 157 155 151 154 154 161 157 160 155 157 158 158 159 161 157 154 155 158 156 154 155 158 161 159 158 160 154 159 153 162 161 159 160 159 159 147 142 151 156 159 155 154 156 159 154 149 152 157 157 154 153 154 159 154 160 157 157 159 157 158 157 154 155 154 155 159 156 159 151 150 157 164 158 159 155 151 153 159 160 158 158 157 160 155 161 158 156 158 158 159 158 156 157 157 157 155 152 159 159 156 155 159 152 156 155 153 153 156 157 157 159 160 160 159 160 161 154 158 157 157 158 158 160 159 159 159 154 157 156 155 157 164 158 154 155 153 152 154 156 156 157 159 158 161 161 162 156 157 157 157 158 158 160 159 159 153 156 159 155 155 158 162 151 157 156 153 152 156 159 158 156 159 160 159 162 159 159 156 157 160 160 159 160 158 158 157 155 155 158 162 157 161 159 156 156 153 152 157 160 158 155 159 160 158 160 157 159 156 158 159 159 158 158 157 157 161 162 158 154 158 157 162 157 156 158 157 155 158 162 161 161 157 155 158 154 157 157 159 158 159 160 159 160 158 157 157 155 159 157 150 154 161 156 161 158 159 156 157 162 163 162 159 158 159 158 163 157 156 158 157 158 155 157 157 162 157 160 157 156 159 153 151 159 159 157 157 155 154 158 161 160 154 156 159 159 162 160 158 156 155 155 152 154 155 160 156 161 155 153 160 154 151 161 157 157 158 156 155 159 162 161 161 161 161 162 160 163 162 159 157 157 153 154 155 159 157 158 156 153 153 156 159 158 158 160 161 160 157 159 162 161 161 160 159 161 156 160 159 157 160 160 158 158 157 159 160 158 159 154 149 155 161 153 158 161 161 160 157 156 160 157 160 158 160 165 160 160 159 158 158 160 162 162 161 159 156 156 155 153 154 153 154 154 157 160 159 159 156 156 160 157 159 157 158 162 158 156 155 156 156 158 161 161 162 159 151 153 151 152 156 153 153 158 157 160 157 158 157 157 163 159 163 163 164 162 161 157 158 160 157 156 159 158 161 159 152 152 151 152 154 154 157 160 159 161 157 157 156 155 162 158 157 162 165 161 164 159 158 159 159 156 156 155 160 158 158 156 155 155 156 155 160 158 153 157 157 155 165 161 157 160 161 161 162 164 165 163 161 160 162 153 164 158 162 154 158 156 157 158 158 155 160 159 159 159 161 157 162 163 164 159 157 161 163 162 160 159 159 160 160 155 162 158 159 156 159 156 158 157 157 151 153 155 167 155 155 156 159 160 165 161 155 159 161 158 156 157 159 159 158 157 159 158 156 160 155 152 156 154 156 155 158 160 154 148 156 162 162 157 158 155 159 159 158 156 157 160 160 159 158 157 158 158 156 160 157 155 159 153 154 156 156 155 144 153 162 159 157 155 157 155 162 158 155 155 157 158 158 158 158 155 157 156 157 156 152 152 158 151 155 160 159 156 154 158 157 150 155 155 158 161 158 157 155 155 155 154 155 157 157 155 158 155 158 154 159 157 164 155 155 159 157 155 158 154 152 153 160 156 156 157 153 155 156 156 155 154 155 156 155 157 160 155 157 155 159 154 160 152 152 156 156 158 155 154 156 155 157 155 158 156 152 155 157 157 158 160 159 156 153 158 160 154 155 155 155 159 163 151 160 161 162 159 157 159 152 157 155 157 155 157 158 160 161 159 159 156 159 158 161 159 157 157 154 157 150 153 158 149 160 163 163 161 153 159 158 159 157 158 158 158 158 158 155 156 158 157 159 156 158 157 158 157 155 156 162 157 163 156 160 153 150 158 149 157 159 157 158 159 161 155 158 159 157 157 157 156 159 159 157 153 155 155 157 156 157 148 152 153 165 164 158 167 151 153 155 152 158 157 160 152 156 157 158 155 155 150 156 158 157 152 154 153 159 156 160 160 161 152 157 159 154 155 157 155 159 156 162 157 163 155 161 158 161 156 162 153 160 158 153 154 160 157 162 157 153 158 158 153 157 159 158 161 154 153 159 158 159 152 159 155 157 155 158 154 159 151 158 157 152 155 160 158 163 158 164 158 150 155 164 159 155 153 157 156 162 162 161 156 163 159 157 157 157 158 159 155 159 161 155 157 156 156 162 161 154 157 151 156 160 154 154 155 156 154 157 158 157 156 162 157 160 157 151 158 159 160 159 159 159 161 158 156 159 161 161 157 155 156 156 154 157 159 164 157 162 159 164 162 156 155 155 161 158 161 160 160 158 159 160 161 160 159 159 158 157 154 154 155 155 153 157 159 160 156 157 156 161 160 156 158 157 160 158 158 159 158 160 160 156 156 156 156 157 154 156 154 155 156 156 155 158 161 158 160 157 162 163 159 154 154 159 159 159 157 158 155 160 158 156 156 154 156 158 155 156 154 155 156 156 156 159 161 160 163 153 158 159 156 157 160 158 158 159 159 157 155 159 155 157 158 155 156 160 159 157 155 155 156 157 157 160 160 161 162 151 157 157 153 156 158 157 159 159 162 157 157 159 156 156 157 155 154 158 159 156 153 152 152 153 152 153 152 162 161 156 163 162 155 155 152 158 160 158 162 157 160 161 160 158 157 156 155 156 159 159 158 158 158 158 157 157 155 161 155 155 162 163 159 163 160 158 161 158 159 160 160 160 160 161 157 158 159 156 158 152 153 155 156 157 157 158 157 156 148 154 161 163 159 162 156 158 160 159 157 162 159 159 157 162 155 157 160 155 154 156 152 160 159 161 161 163 158 165 161 164 158 164 158 161 158 162 160 160 161 160 158 158 160 155 157 160 158 159 158 156 152 160 160 160 159 162 162 162 160 161 156 160 159 163 162 160 159 160 161 161 159 159 161 158 160 162 157 154 155 155 153 161 162 160 158 161 165 162 164 165 164 164 163 161 158 160 160 160 161 161 159 158 159 156 158 162 156 152 156 150 150 158 159 157 155 156 159 160 160 158 160 159 161 160 161 160 160 161 161 161 159 159 160 158 157 163 157 153 155 149 152 157 156 154 156 154 155 158 156 152 158 157 159 157 160 159 160 160 161 161 161 162 163 163 159 164 160 157 158 153 155 156 154 154 159 156 156 163 161 158 163 160 159 154 155 159 160 160 160 160 160 161 161 160 155 158 153 155 155 154 154 152 152 154 159 155 155 163 162 159 158 155 157 158 159 160 161 161 160 160 159 159 158 164 162 164 156 158 159 155 154 152 155 158 162 155 157 158 162 162 159 157 159 159 157 159 161 161 162 161 161 160 159 156 158 162 154 159 160 157 153 155 158 162 161 156 157 156 160 160 158 160 159 156 157 156 160 163 155 154 158 157 159 159 161 162 159 158 160 160 158 158 156 158 159 156 155 156 158 158 157 158 158 157 158 156 157 159 156 158 162 159 161 158 158 158 155 156 159 158 159 160 156 158 162 159 157 156 156 157 157 155 157 159 159 156 154 155 157 161 163 159 160 157 157 157 153 155 159 151 154 158 155 156 159 156 154 156 155 157 157 154 156 160 159 159 158 158 160 162 162 160 161 158 158 158 155 155 158 157 158 162 160 160 158 154 155 158 157 158 159 156 157 159 158 159 162 161 159 158 157 158 160 157 158 160 156 153 155 159 157 159 158 156 153 150 154 159 158 159 160 158 158 158 158 158 161 158 156 155 154 158 160 156 158 160 157 154 154 158 156 158 158 158 156 155 159 155 156 156 158 159 158 157 158 161 160 153 155 158 157 161 163 158 158 158 155 154 155 153 153 157 157 158 157 157 160 151 152 152 154 159 158 156 159 161 155 145 151 157 157 160 162 160 158 157 154 154 155 156 159 161 156 156 159 159 160 156 154 158 160 158 158 157 158 162 158 156 157 156 157 160 162 158 158 159 153 157 159 149 153 157 151 154 153 155 158 157 155 158 158 157 158 158 159 160 153 152 156 159 161 159 157 159 162 160 156 159 160 154 155 160 153 161 156 158 161 158 156 158 156 154 157 157 158 159 156 161 162 161 161 159 161 160 162 160 161 162 157 154 151 152 149 160 156 154 156 158 157 158 155 153 156 157 156 160 155 159 159 160 163 158 158 160 161 158 165 164 152 156 154 152 153 159 159 154 156 156 155 160 157 154 157 156 155 155 153 157 158 159 161 159 159 160 162 158 164 161 152 158 157 158 157 156 155 153 156 156 154 159 157 155 157 156 155 154 157 161 162 159 158 160 161 157 163 159 158 156 155 158 156 161 158 155 153 154 155 155 152 155 154 153 154 154 155 160 159 154 158 159 158 160 153 156 161 159 157 155 157 151 147 156 152 153 151 156 153 155 152 154 154 153 154 155 158 159 161 153 156 155 153 161 156 157 158 159 161 159 158 163 150 156 150 159 157 153 156 151 154 155 154 154 156 157 156 157 158 155 156 157 154 154 154 156 155 158 154 160 154 150 152 152 149 151 152 156 155 153 154 155 155 155 156 157 157 151 153 155 156 157 156 159 157 155 158 155 154 155 160 147 153 152 152 151 155 158 155 155 155 156 157 157 157 157 157 151 153 158 157 157 154 158 153 153 156 159 156 159 156 157 152 153 149 148 153 153 160 156 154 155 156 157 155 155 156 153 152 158 159 158 152 157 150 154 150 154 152 160 151 151 150 158 158 157 151 147 150 156 155 156 158 158 157 157 158 152 149 154 159 159 155 159 153 155 153 151 156 157 156 156 158 153 154 155 151 157 153 151 150 152 152 153 153 154 155 155 152 152 158 157 156 157 153 160 159 153 144 143 146 155 158 148 153 153 154 157 151 155 155 156 156 155 157 158 159 157 159 153 156 153 157 155 151 155 159 166 156 160 152 156 156 150 154 149 156 153 156 155 156 157 154 154 155 157 157 155 161 153 154 151 160 157 154 156 153 150 152 157 158 151 150 152 149 157 154 160 160 158 155 160 154 155 154 154 157 153 156 157 154 156 163 160 155 154 157 162 161 160 155 153 152 154 155 159 157 160 163 161 160 163 161 156 156 155 160 158 156 157 159 160 162 159 159 159 158 160 158 157 154 157 154 152 153 151 150 152 157 162 160 158 159 155 159 156 160 158 158 161 159 159 161 158 157 159 157 159 159 158 155 157 154 153 153 151 150 154 156 157 157 156 157 157 161 159 158 155 158 163 160 160 161 160 159 159 157 159 160 159 154 155 154 159 157 159 155 157 152 147 154 159 157 157 156 156 151 152 151 159 161 162 157 158 163 163 159 160 159 158 152 156 154 159 154 157 154 157 149 145 152 155 152 155 155 158 153 154 153 161 159 162 157 158 160 162 159 161 160 158 152 157 152 154 152 155 157 161 156 154 155 152 154 158 161 162 158 159 160 165 158 162 162 162 158 157 156 159 158 157 153 159 152 152 155 155 157 158 154 152 154 151 158 157 158 157 156 159 153 157 154 162 159 160 158 155 154 154 152 152 152 158 154 159 155 152 158 160 156 153 158 154 155 160 162 163 157 156 156 162 160 159 159 162 162 161 162 156 155 153 154 159 153 156 154 150 155 158 157 155 156 156 153 160 159 162 158 159 156 160 157 159 160 161 160 159 161 157 155 153 155 159 154 156 156 155 157 161 162 156 154 158 152 158 158 160 159 161 156 159 156 159 160 161 159 160 162 159 156 153 155
a=imread('IMG_20250430_173858174.jpg');
a=imread('IMG_20250430_174202501.jpg');
a=imread('IMG_20250430_174045678.jpg');
imshow(a)
calculo_de_color(a)
ΔE_CMC = 10.60 → NO aceptable. La diferencia es más clara por 16.04.% La diferencia es más verde por 0.89.% La muestra es más azul por 0.36.% La muestra es más apagada por 0.45.% La fuerza es de 105.63.%
function calculo_de_color(image)
% Función principal: cálculo de color entre dos objetos de una imagen
[BW, maskedRGBImage] = createMask(image);
imagenLab = rgb2lab(im2double(image));
% % Crear elemento estructurante
% SE = strel("disk", 90);
%
% % Procesar la imagen binaria
% BW2 = imerode(BW, SE);
% BW2 = imopen(BW2, SE); % Abrir después de erosionar
%Create a disk shaped structuring element with radius r.
SE = strel("disk",70);
%BW3 = imopen(BW,SE);
BW4 = imclose(BW,SE);
SE = strel("disk",90);
BW2 = imerode(BW4,SE);
% Limpiar regiones pequeñas si hay más de 2 objetos
CC = bwconncomp(BW2);
if CC.NumObjects > 2
stats = regionprops(CC, "Area");
areas = [stats.Area];
[~, idxMin] = min(areas);
BW2(CC.PixelIdxList{idxMin}) = 0; % Eliminar el más pequeño
% CC = bwconncomp(BW2); % Volver a calcular componentes
end
% Etiquetar objetos
[etiquetas, numObjetos] = bwlabel(BW2);
% Comprobación de que haya exactamente dos objetos
if numObjetos ~= 2
error('Se requieren exactamente dos objetos para comparar colores.');
end
% Inicializar arreglo de colores
coloresLab = zeros(numObjetos, 5); % [L a b chroma hue]
% Separar canales
L = imagenLab(:,:,1);
a = imagenLab(:,:,2);
b = imagenLab(:,:,3);
% Recorrer cada objeto encontrado
for k = 1:numObjetos
objetoMask = etiquetas == k;
L_vals = L(objetoMask);
a_vals = a(objetoMask);
b_vals = b(objetoMask);
% Calcular Chroma y Hue
c_vals = chroma(a_vals, b_vals);
h_vals = rad2deg(atan2(b_vals, a_vals));
coloresLab(k, :) = [mean(L_vals), mean(a_vals), mean(b_vals), mean(c_vals), mean(h_vals)];
end
% Calcular diferencia de color
valor = calcular_cmc(coloresLab);
% Evaluar resultados
evaluar(valor);
evaluar_en_color(coloresLab);
% --- FUNCIONES INTERNAS ---
function evaluar(resultado)
if resultado < 1
fprintf('ΔE_CMC = %.2f → ACEPTABLE.\n', resultado);
else
fprintf('ΔE_CMC = %.2f → NO aceptable.\n', resultado);
end
end
function evaluar_en_color(coloresLab)
[dL, da, db, dC, dH] = diferencias(coloresLab);
if dL >= 0
fprintf('La diferencia es más clara por %.2f.%%\n', abs(dL));
else
fprintf('La diferencia es más oscura por %.2f.%%\n', abs(dL));
end
if da >= 0
fprintf('La diferencia es más roja por %.2f.%%\n', abs(da));
else
fprintf('La diferencia es más verde por %.2f.%%\n', abs(da));
end
if db >= 0
fprintf('La muestra es más amarilla por %.2f.%%\n', abs(db));
else
fprintf('La muestra es más azul por %.2f.%%\n', abs(db));
end
if dC >= 0
fprintf('La muestra es más viva por %.2f.%%\n', abs(dC));
else
fprintf('La muestra es más apagada por %.2f.%%\n', abs(dC));
end
fprintf('La fuerza es de %.2f.%%\n',(coloresLab(1,4)/coloresLab(2,4)*100));
end
function [dL, da, db, dC, dH] = diferencias(coloresLab)
dL = coloresLab(2,1) - coloresLab(1,1);
da = coloresLab(2,2) - coloresLab(1,2);
db = coloresLab(2,3) - coloresLab(1,3);
dC = coloresLab(2,4) - coloresLab(1,4);
dH = sqrt(max(0, da^2 + db^2 - dC^2));
end
function C = chroma(a, b)
C = sqrt(a.^2 + b.^2);
end
function dE_CMC = calcular_cmc(coloresLab)
l = 2; c = 1;
L1 = coloresLab(1,1); C1 = coloresLab(1,4); H1 = coloresLab(1,5);
[dL, ~, ~, dC, dH] = diferencias(coloresLab);
SL = (L1 < 16) * 0.511 + (L1 >= 16) * ((0.040975 * L1) / (1 + 0.01765 * L1));
SC = (0.0638 * C1) / (1 + 0.0131 * C1) + 0.638;
if H1 >= 164 && H1 <= 345
T = 0.56 + abs(0.2 * cosd(168 + H1));
else
T = 0.36 + abs(0.4 * cosd(35 + H1));
end
F = sqrt(C1^4 / (C1^4 + 1900));
SH = SC * (F * T + 1 - F);
dE_CMC = sqrt((dL / (l * SL))^2 + (dC / (c * SC))^2 + (dH / SH)^2);
end
function [BW, maskedRGBImage] = createMask(RGB)
% Convertir imagen RGB a Lab
I = rgb2lab(im2double(RGB));
% Umbrales de segmentación (ajustar según aplicación)
channel1Min = 49.326;
channel1Max = 100.000;
channel2Min = -5.358;
channel2Max = 13.890;
channel3Min = -11.423;
channel3Max = 19.375;
% Crear máscara
sliderBW = (I(:,:,1) >= channel1Min) & (I(:,:,1) <= channel1Max) & ...
(I(:,:,2) >= channel2Min) & (I(:,:,2) <= channel2Max) & ...
(I(:,:,3) >= channel3Min) & (I(:,:,3) <= channel3Max);
BW = ~sliderBW; % Invertir máscara (dependiendo de tu aplicación)
% Imagen enmascarada
maskedRGBImage = RGB;
maskedRGBImage(repmat(~BW, [1 1 3])) = 0;
end
end

采纳的回答

Image Analyst
Image Analyst 2025-5-6
I've spent the bulk of the last 35 years of my career doing color analysis of fabrics/textiles. I'm extremely familiar with it. I even helped develop the ASTM D4265 standard on the topic. You can do calibrated color measurement and color difference measurement but you cannot do it with the simple functions like rgb2lab.
First of all, your images are completely bad. You need to use a light booth where the camera is overhead and the front is not open to the room (have a door that shuts on the light booth to exclude room light). Secondly you need to calibrate your system to an object like the Calibrite Color Checker chart
Third, the lens is extremely important. You must use a high quality lens like those from Schneider. If you don't you'll get horrendous lens shading. This means that the center of the image can be as much as 30-50% brighter than the corners (or only 10% brighter with a Schneider lens). Even with a good Schneider lens you'll still get some shading so you'll need to do background correction otherwise the color you measure will depend on where in the image you measure it at.
Fourth, you need to use a scientific or industrial machine vision camera where you can turn off all automatic processing. Using smart phone cameras or even consumer or prosumer cameras (Nikon or Canon) are not to be used (for several reasons I won't get into here).
Next you need to develop accurate transforms to convert arbitrary RGB into calibrated LAB values and you should not use the built-in rgb2lab -- it's not an accurate enough transform for high precision work with very small color differences. You need to develop your own higher order transform. See attached seminar.
Once you have calibrated LAB, then you can use the built-in imcolordiff. If you don't have a controlled lighting setup and calibrate to known standards, then you will get arbitrary and inaccurate LAB values and Delta E values that are not comparable to what you'd get from a spectrophotometer.
  2 个评论
Raúl Rivera
Raúl Rivera 2025-5-6
Thanks for the answer, will have the suggestions accountable . Basically I am prompting to get a fast checking color difference, not trying to replace an spectrophotometer,as in some areas from the company dont have this device to have a numerical answer in differences, and it is not necessary be fully close to the standard sample but to approximate . Therefore ,do you consider a cellphone camera a good option?
Image Analyst
Image Analyst 2025-5-8
I do not. A cell phone is not a good option. You'd be better off using a Canon or Nikon camera with their much larger sensors and ability to turn off most automatic processing. Do you know how much computational photography goes on by the camera in its attempt to present you a pleasing picture? A lot. Perhaps you can see if you can turn off any kind of processing and get just the raw image. Unless you turn off auto gain and exposure you can never do color differencing that you can trust because the camera is changing the brightness of the image all the time so you'd never know if the color difference was a true color difference due to your samples, or if it's due to the camera changing exposure. Plus I'd expect that you have horrendous lens shading, unless the computation photography in the camera did something to compensate for it. Try taking a completely blank shot of a uniform background, like the floor of the light booth. Then use improfile to get an intensity profile across the whole image. Is it completely flat? If not then the color you measure will depend on where the region of interest is in your field of view. That's something you don't want.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Subspace Methods 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by