¿Qué es la pintura al óleo en MATLAB?

En esta era de información e inteligencia, parece que los gráficos de pintura han sido seriamente marginados, lo que también produjo cómo desarrollar mejor la tecnología de pintura en la sociedad moderna. Hoy en día, en este campo, el procesamiento de imágenes digitales juega un papel importante en la expansión de la creación de pinturas al óleo con mejoras técnicas. La pintura al óleo es un tipo de arte. Es un tipo de arte que no solo es hermoso sino también útil. Y hoy, en este artículo, discutiremos cómo pintar al óleo en MATLAB.

En MATLAB, la pintura al óleo entra en la categoría de procesamiento de imágenes. Estos son algunos de los pasos que debemos seguir para convertir una imagen simple en una pintura al óleo.

Tenemos que definir una array de ventana pequeña de cualquier tamaño arbitrario mx n. Luego copie la imagen original en la array de la ventana. Y encontraremos el histograma de cada valor. Luego tenemos que reemplazar el valor de píxel máximo que ocurre en la array de la ventana con el nuevo valor de píxel. Finalmente, tenemos que copiar la array de la ventana en la imagen original.

Acercarse:

Lectura de imágenes: Primero, la imagen de entrada se lee y almacena en una variable llamada img . MATLAB utiliza la función imread para abrir y leer la imagen y cargarla en una variable. En el ejemplo dado, estamos cargando la imagen llamada «imagen.jpg» en la variable «I».

I=imread('image.jpg');

Entonces tenemos que definir una array de ventana pequeña de cualquier tamaño arbitrario mx n. Luego copie la imagen original en la array de la ventana. Y encontraremos el histograma de cada valor. Luego tenemos que reemplazar el valor de píxel máximo que ocurre en la array de la ventana con el nuevo valor de píxel.

Mostrando imágenes: Se muestran imágenes originales y modificadas. Las imágenes se muestran en el entorno MATLAB utilizando la función imshow().

imshow(I);

Donde “i”, es la array de imágenes y se muestra la imagen.

Ejemplo:

Matlab

% MATLAB code for Oil Painting 
% reading the image
img = imread('GeeksforGeeks.jpg');
   
% defining the window matrix
m = 6;
n = 7;
wimg = uint8(zeros([size(img,1)-m,size(img,2)-n,3]));
  
% calculating the histogram for each RGB channel
for p = 1:3
for i = 1:size(img,1) - m
    for j = 1:size(img,2) - n
       mask = img(i:i+m-1,j:j+n-1,p);
       his = zeros(1,256);
       for k = 1:(m*n)
           his(mask(k)+1) = his(mask(k)+1) + 1;
       end
         
% maximum occuring pixel value
[max_val,max_index] = max(his);
  
% replacing the maximum occuring pixel value with the new pixel value
         wimg(i,j,p) = max_index - 1;
     end
    end
    end
  
% displaying image
figure,imshow(wimg);

Producción:

Figura: Imagen original

Figura: Pintura al óleo

Publicación traducida automáticamente

Artículo escrito por amnindersingh1414 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *