Рубрики

Обработка изображений на Java | Установите 4 (преобразование цветного изображения в негативное изображение)

Мы настоятельно рекомендуем ссылаться на этот пост ниже.

В этом наборе мы будем конвертировать цветное изображение в негативное изображение.
Примечание . На отрицательном изображении альфа-компонент изображения будет таким же, как и исходное изображение, но RGB будет изменен, т. Е. Все три компонента RGB будут иметь значение 255 исходного значения компонента.

Алгоритм:

  1. Получить значение RGB пикселя.
  2. Рассчитайте новые значения RGB следующим образом:
    • R = 255 — R
    • G = 255 — G
    • B = 255 — B
  3. Замените значения R, G и B пикселя значениями, вычисленными на шаге 2.
  4. Повторите шаги с 1 по 3 для каждого пикселя изображения.

Реализация вышеуказанного алгоритма:

// Java-программа для демонстрации преобразования цвета в негатив

import java.io.File;

import java.io.IOException;

import java.awt.image.BufferedImage;

import javax.imageio.ImageIO;

  

public class Negative

{

    public static void main(String args[])throws IOException

    {

        BufferedImage img = null;

        File f = null;

  

        // читать изображение

        try

        {

            f = new File("G:\\Inp.jpg");

            img = ImageIO.read(f);

        }

        catch(IOException e)

        {

            System.out.println(e);

        }

  

        // Получить ширину и высоту изображения

        int width = img.getWidth();

        int height = img.getHeight();

  

        // Преобразовать в отрицательный

        for (int y = 0; y < height; y++)

        {

            for (int x = 0; x < width; x++)

            {

                int p = img.getRGB(x,y);

                int a = (p>>24)&0xff;

                int r = (p>>16)&0xff;

                int g = (p>>8)&0xff;

                int b = p&0xff;

  

                // вычитаем RGB из 255

                r = 255 - r;

                g = 255 - g;

                b = 255 - b;

  

                // установить новое значение RGB

                p = (a<<24) | (r<<16) | (g<<8) | b;

                img.setRGB(x, y, p);

            }

        }

  

        // написать изображение

        try

        {

            f = new File("G:\\Out.jpg");

            ImageIO.write(img, "jpg", f);

        }

        catch(IOException e)

        {

            System.out.println(e);

        }

    }

}

Примечание. Этот код не будет работать в онлайн-среде IDE, поскольку для него требуется изображение на диске.

Inp.jpg


Out.jpg

Эта статья предоставлена Пратиком Агарвалом . Если вы как GeeksforGeeks и хотели бы внести свой вклад, вы также можете написать статью с помощью contribute.geeksforgeeks.org или по почте статьи contribute@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.

Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное или вы хотите поделиться дополнительной информацией по обсуждаемой выше теме.

Рекомендуемые посты:

Обработка изображений на Java | Установите 4 (преобразование цветного изображения в негативное изображение)

0.00 (0%) 0 votes