Выполнить задачу на Java для университета на сегодня
Ваша задача — написать классы для необработанных несжатых изображений. Ваша программа будет использовать объекты и классы, включая наследование.
В следующие 6 уроков я проведу вас через постепенное развитие этой программы в классе. Чтение главы 7 и основных моментов главы 10 также важно для этого проекта.
Лучший способ продолжить – постараться выполнить каждый шаг, о котором мы говорим в классе, к следующему уроку.
ВО-ПЕРВЫХ СОЗДАЙТЕ GS-КЛАСС
Шаг 1: В качестве примера того, что вы будете делать в своей программе, посмотрите, как разрабатывается класс Student.
Шаг 2: Разработайте класс GS, следуя примеру класса Student. Подумайте о том, какими должны быть соответствующие данные-члены и методы-члены, учитывая, что мы хотим иметь возможность делать эти вещи с объектом GS или с ним:
построить объект класса
сообщить объекту его размеры
сообщить объекту имя файла, из которого он создан
читать изображение из связанного с ним файла
записать изображение в файл с заданным именем
осветлить или затемнить изображение
увеличить контрастность изображения
смешайте изображение с помощью метода сглаживания шаблона или сглаживания ошибок, который вы написали в программе 1, — в зависимости от того, какой вы выберете. (Вам нужно включить только 1.)
Когда вы начнете разработку этого класса, вы можете сразу написать методы доступа и мутатора, а также методы чтения и записи . ( Аксессуары и мутаторы иногда называют «геттерами» и «сеттерами». API IntelliJ очень полезен в Я покажу вам, как это сделать.) Для более сложных методов пока оставьте заглушки.
Шаг 3: В вашем основном методе объявите экземпляр класса GS. Просто для эксперимента, чтобы убедиться, что все работает, прочитайте данные из файла изображения (например, Ian.raw) и запишите точно такие же данные с другим именем файла (например, IanCloned.raw). Две картинки должны быть одинаковыми.
Шаг 4: Добавьте в программу свой метод дизеринга. Поместите вызов дизеринга в свой основной метод, чтобы убедиться, что он работает.
Шаг 5: Напишите код для осветления/затемнения и увеличения контраста.
ДАЛЕЕ, СОЗДАЙТЕ КЛАСС RGB
Это будет продемонстрировано в классе с помощью классов студентов/выпускников/выпускников.
ДАЛЕЕ СОЗДАЙТЕ СУПЕРКЛАСС ДЛЯ КЛАССОВ GS И RGB
Для этого вам нужно внести изменения в классы GS и RGB. Это будет продемонстрировано на уроке.
ДАЛЕЕ НАПИШИТЕ ВАШ ОСНОВНОЙ МЕТОД ДЛЯ ПРОВЕРКИ КЛАССОВ
Основной метод должен делать следующее:
Зацикливание до тех пор, пока пользователь хочет продолжить
Запросить у пользователя имя изображения, которое нужно прочитать, будь то оттенки серого или RGB, его ширину и высоту.
Вызовите метод readImage, который принимает в качестве аргументов имя изображения и количество каналов (1 для изображения в градациях серого и 3 для изображения в формате RGB).
Зацикливаясь, пока пользователь хочет продолжать, предложите следующие варианты:
вычислить размер в пикселях (сохранить и распечатать ответ)
вычислить размер в байтах (сохранить и распечатать ответ)
осветлить или затемнить изображение и записать новое изображение на диск. (Назовите его OriginalNameLight.raw, где OriginalName заменяется именем осветленного изображения.) Метод lightenOrDarken должен иметь аргумент, указывающий, какую из двух вещей он должен делать.
увеличьте контраст изображения и запишите новое изображение на диск. (Назовите его OriginalNameContrast.raw, где OriginalName заменяется именем обрабатываемого изображения.)
для изображений в градациях серого — смешайте изображение и запишите новое изображение на диск. (Назовите его OriginalNameDithered.raw, где OriginalName заменяется именем смешанного изображения.)
Завершить цикл для выполнения различных процессов на одном изображении
Завершить цикл, определяющий, какое изображение обрабатывать.
Я разместил задачу на английском + код моей предыдущей лабы (может поможет) на GitHub.
-
563 26 0 Здравствуйте, сейчас я Junior Java Developer
До этого был олимпиадиком по спортивному программированию, 1000+ развязанных задач.
У меня также есть несколько написаных собственных пето-проектов.
Я сделаю вам все как можно быстрее.
Обсуждаем цену)
-
Що за жах я тільки що прочитав?)
-
Актуальные фриланс-проекты в категории Java
Разработка Android-приложения плеера для сервиса онлайн-ТВ
27 000 UAH
Нужен Android-разработчик для создания нативного Android-приложения для сервиса онлайн-ТВ. Планируется две версии: для мобильных устройств: смартфоны и планшеты; для Android TV / Android STB: телевизионные приставки. Ориентировочные сроки: до 3 месяцев. Ориентировочный… Java, Разработка под Android ∙ 1 месяц 2 дня назад ∙ 32 ставки |