Что такое эффект мозаики в MATLAB?
Опубликовано: 21 Февраля, 2023
MATLAB — это высокопроизводительный язык, который используется для манипулирования матрицами, выполнения технических вычислений, построения графиков и т. д. Он расшифровывается как Matrix Laboratory. С помощью этого программного обеспечения мы можем придать изображению эффект мозаики. Это делается путем разрыва исходного изображения и последующего выделения пикселей новому изображению с помощью циклов.
Tiling Effect is dividing an image into grid and showing the grids separately by shifting them in random direction by random amount.
Шаги для создания эффекта мозаики на изображении:
- Прочитайте изображение с помощью команды imread.
- Создайте переменную imageWithEffect, в которой будет храниться изображение с мозаичным эффектом.
- Объявите размеры строк и столбцов, чтобы получить плитки разных размеров, а также объявите размеры плиток, чтобы создать промежутки между плитками.
- Перебираем вложенные циклы while, в которых мы устанавливаем размеры плитки и добавляем размеры исходного изображения в переменную imageWithEffect.
- Закройте петли и покажите финальное изображение.
Matlab
% MATLAB code for % Read original Image original = imread( "GeeksforGeeks.jpg" ); % Create a new imageWithEfect variable imageWithEffect = uint8(zeros(size(original))); i=1; j=1; row=0; col=0; m=1; n=1; % Changing the row size and column size % value to obtain tiles of different sizes rowSize = 20; colSize = 35; % Changing the tile row size and tile column size % value to create gaps between tiles tileRowSize = 3; tileColSize = 5; % Nested While loop to allocate imageWithEffect required tiles while (i < size(original,1)) while ( (m+i+row) < size(original,1) && (n+j+col) < size(original,2) ) imageWithEffect(m+i:m+i+row,n+j:n+j+col,:) = original(i:i+row,j:j+col,:); % using rand function to vary size of tiles m=ceil(rand(1)*tileRowSize); n=ceil(rand(1)*tileColSize); col=ceil(rand(1)*colSize); row=ceil(rand(1)*rowSize); j=j+col; end i = i + row; j =1; end % Showing original image and image with tile effect imshow(original), title( "Original" ); figure,imshow(imageWithEffect), title( "Image With Tiling Effect" ); |
Выход:
Входное изображение:
Выходное изображение (изображение с эффектом мозаики):