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:
Publicación traducida automáticamente
Artículo escrito por amnindersingh1414 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA