Проблема заключается в следующем:
У меня есть k-ближайшая index
матрица. Столбец матрицы обозначает номер изображения (1: n). Строка матрицы index
обозначает индекс k-ближайших пикселей, соответствующих пикселю запроса.
Поэтому я использую циклы for, чтобы выяснить, находится ли a
-й индекс в столбце b
: например, 3
находится в первом столбце (1
-й пиксель),затем выясните, находится ли 1
в 3
-ом столбце, если нет, присвойте значение, если да, присвойте другое значение.
Код здесь:
for pix = 1:row*col
for i = 1:k
position = find(Index(:, Index(i,pix)) == pix);
if isempty(position) difference = - weight(k, Index(i,pix)) ;
else difference = weight(i,pix) - weight(position, Index(i,pix)) ; end
end
end
Сrow*col
очень большой. Я надеюсь свести код в один цикл for. Есть ли другой способ ускорить? Заранее спасибо!