Fusion двух матриц или массивов
C = wfusmat(A,B,METHOD)
C = wfusmat(A,B,METHOD) возвращает сплавленный матричный C полученный из матриц A и B использование метода сплава задано METHOD.
Матрицы A и B должно быть одного размера. Выходная матрица C одного размера с A и B.
Доступные методы сплава
Простой, где METHOD
'max' : D = abs(A) ≥ abs(B) ; C = A(D) + B(~D)
'min' : D = abs(A) ≤ abs(B) ; C = A(D) + B(~D)
'mean' : C = (A+B) / 2 ; D = ones(size(A))
'rand' : C = (D) + B (~D); D является булевой случайной матрицей
'img1' : C = A
'img2' : C = B
Зависимый параметра, где METHOD имеет следующую форму:
METHOD = struct('name',nameMETH,'param',paramMETH)
где nameMETH может быть
'linear' : C = A*paramMETH + B*(1-paramMETH),
где 0 ≤ paramMETH≤ 1
'UD_fusion': Вниз сплав, с paramMETH ≥ 0
x = linspace(0,1,size(A,1)); P = x.^paramMETH;
Затем каждая строка C вычисляется с
C(i,:) = A(i,:)*(1-P(i)) + B(i,:)*P(i); So C(1,:) = A(1,:) and C(end,:) = B(end,:)
'DU_fusion': Вниз сплав
'LR_fusion': Лево-правильный сплав (постолбцовый сплав)
'RL_fusion': Оставленный праву сплав (постолбцовый сплав)
'UserDEF': Пользовательский сплав, paramMETH вектор символов или скаляр строки 'userFUNCTION' содержа имя функции, таким образом, что C = userFUNCTION(A,B).
Кроме того, [C,D] = wfusmat(A,B,METHOD) возвращает Булеву матрицу D когда задано, или пустая матрица в противном случае.