Я работаю над своим проектом, где у меня есть 2 изображения: Img1
и Img2
. Как Img1
- это двоичное изображение, поэтому я рассчитал все десятичные значения. Для Img2
я взял значения пикселей.Проверка повторяющихся значений, а затем поиск
Для удобства я взял значения матрицы 10X10 из всего изображения для операции ниже.
[row,col] = size(Img1);
m = zeros(row,col);
w = [1 2 4 8; 16 32 64 128; 256 512 1024 2048; 4096 8192 16384 32768];
for i=2:10
for j=2:10
O = double(Img1(i-1:i+2,j-1:j+2));
m(i,j) = sum(sum(O.* w));
end;
end;
[row,col] = size(Img2);
count = row*col;
outMat = zeros(4,4,count);
l=0;
%m = zeros(row,col);delete
O = zeros(1,256);
for i=2:10
for j=2:10
l=l+1;
outMat(:,:,l) = Img2(i-1:i+2,j-1:j+2);
vec = outMat(3,3,:);
vec = vec(:);
end;
end;
Теперь для Img2
, я собрал все значения пикселей, и нужно хранить 2 col.as ниже.
Col1 col2 from Img2
from Img1
44128 162
54960 150
58320 119
31200 120
48240 180
54960 160
44128 163
51109 90
44128 56
Здесь, 44128 повторяется 3 раза, теперь добавляют все значения correspong отображение из col2 т.е. 162,163,56 добавить их все разделить на 3 (Becos вхождение в 44128 составляет 3 раза) и та же процедура необходимо следовать для всех значений.
44128 (162+163+56)/3
54960 (150+160)/2
58320 (119/1)
31200 (120/1)
48240 (180/1)
51109 (90/1)
Здесь я хочу создать массив N
из 1D 1X (размер COL), который действует как счетчик Img1
десятичных значений, повторяющихся значений и сохранять значения счетчика внутри N
, а затем найти среднее по деление соответствующих значений счетчика N
на значения пикселей Img2
, как указано выше. . Пожалуйста, помогите :-(, как я могу писать код дальше
Как можно записать это внутри приведенного выше цикла для определения этих средних значений? !! – STripathy
@STripathy, боюсь, я не понимаю, что делает ваш код. Насколько я могу судить, в какой-то момент вашего кода у вас есть данные, которые вы назвали «Col1 от Img1» и «Col2 от Img2», и на этом этапе вам нужно вставить код, который я вам дал. Это 'm' и' vec', или что это? -Я не могу сказать. –
@ ADonda. Если вы просто примените приведенный выше код 'Img1' (двоичное изображение) и' Img2' (для серого изображения), вы можете получить результат. Здесь 'm', где хранятся десятичные значения, такие как (44128 54960 ...) и' vec', где хранятся значения серого. – STripathy