Слияние двух матриц или массивов
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 = A (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
если задано, или пустая матрица в противном случае.