Если вход представляет собой изображение, мой вывод должен быть скремблированным или перемешанным изображением исходного изображения. Нет необходимости разделить изображение на подблоки и скремблировать их по отдельности. Вы можете скрестить все изображение за одну операцию. Как я могу достичь этого в MATLAB?Как перемешать изображение?
ответ
Если вы что-то подразумеваете под «скремблированием», это случайное переустановка пикселей на вашем изображении, вы можете создать случайный вектор перестановки, равный общему количеству пикселей на вашем изображении, изменить его таким образом, чтобы оно того же размера, что и изображение, затем используйте его для индексации в него. В частности, используйте randperm
, чтобы помочь вам в этом. Например, давайте использовать cameraman.tif
, что является частью системного пути MATLAB. Сделайте что-то вроде этого:
im = imread('cameraman.tif');
vec = randperm(numel(im));
vec = reshape(vec, size(im));
out = im(vec);
Если вы хотите отменить скремблирования, vec
содержит столбцы показателей, где должны быть переназначены в исходном изображении пикселов. Поэтому просто выделите пустое изображение, затем используйте vec
, чтобы индексировать это пустое изображение и скопировать out
назад. Что это будет сделано, так это то, что он займет позиции в скремблированном изображении и скопирует их обратно в местоположения, индексированные vec
. Это в основном отменяет скремблирование, которое мы делали раньше. Поэтому:
reconstruct = zeros(size(im), class(im));
reconstruct(vec) = out;
Это исходное изображение:
Это то, что зашифрованное изображение выглядит как:
Конечно выглядит шумным ... и скремблировал ... по крайней мере, я так думаю. Делая реконструкцию, это то, что изображение выглядит следующим образом:
Ключ к скремблирования и расшифровывать изображение должно иметь тот вектор, генерируемый randperm
. Если у вас этого нет, тогда вы не сможете восстановить исходное изображение.
Удачи вам!
- 1. Перемешать Изображение Функция
- 2. Как перемешать Изображения в Android
- 3. Как перемешать столбцы независимо
- 4. Как перемешать пары
- 5. Jama Как перемешать матрицу?
- 6. Как перемешать целочисленный массив?
- 7. Перемешать NSArray
- 8. Перемешать DefaultListModel
- 9. SwiftyJSON Перемешать
- 10. jQuery - Перемешать между изображениями
- 11. Как перемешать объекты в массиве
- 12. Как перемешать символы в строке
- 13. Как перемешать строки UITableview динамически
- 14. Как перемешать в том же порядке?
- 15. Перемешать нескольких связанных массивов
- 16. Перемешать NSMutableArray Objective-C
- 17. Перемешать YouTube идентификаторы
- 18. Перемешать DataFrame строки
- 19. Перемешать кортеж в python
- 20. Перемешать массив изображений
- 21. Перемешать петля Джанго
- 22. Перемешать список случайных элементов
- 23. инструкция Перемешать в CUDA
- 24. Python Перемешать с нуля
- 25. Перемешать с ArrayList
- 26. Перемешать данный массив
- 27. Перемешать строка с #
- 28. Перемешать список в Scala
- 29. Произвольно перемешать массив строк
- 30. Перемешать изображения просмотров позиций
Чтобы помочь вам, вы должны быть более конкретными в том, что вы подразумеваете под «скремблированием». –
Что-то вроде [этого] (http://codegolf.stackexchange.com/a/35011)? –
Кроме того, эти утверждения противоречат мне: 1. * не нужно разделяться на регионы и кричать * 2. * Общее изображение должно быть разрушено. *. –