Преобразование изображения RGB блоками в matlab

Оператор == всегда предназначен для сравнения ссылок на объекты, тогда как метод сравнения строк .equals () переопределяется для сравнения содержимого:

String s1 = new String("abc");
String s2 = new String("abc");
System.out.println(s1 == s2); // It prints false (reference comparison)
System.out.println(s1.equals(s2)); // It prints true (content comparison)
-1
задан Darklink9110 11 March 2019 в 01:34
поделиться

1 ответ

Как это?

% Input block size.
ibs = 3;

% Input.
input = [ 1 * ones(ibs); 2 * ones(ibs); 3 * ones(ibs); 4 * ones(ibs) ]

% Determine block size. 
bs = size(input, 2);

% Check format.
if (size(input, 1) != 4 * bs)
  disp('Wrong format.');
end

% Transpose input.
input = input.';

% Generate output.
output = [input(1:bs, 1:2*bs); input(1:bs, 2*bs+1:4*bs)]

Вывод:

input =
   1   1   1
   1   1   1
   1   1   1
   2   2   2
   2   2   2
   2   2   2
   3   3   3
   3   3   3
   3   3   3
   4   4   4
   4   4   4
   4   4   4

output =
   1   1   1   2   2   2
   1   1   1   2   2   2
   1   1   1   2   2   2
   3   3   3   4   4   4
   3   3   3   4   4   4
   3   3   3   4   4   4

Я сейчас не удовлетворен. Должно быть лучшее решение для последней строки моего сценария. Любые улучшения приветствуются!

0
ответ дан HansHirse 11 March 2019 в 01:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: