Skip to content

6213 Макаров Сергей Андреевич Лаб.5 Вар.12#509

Open
123321zZzZ wants to merge 33 commits intoitsecd:mainfrom
123321zZzZ:lab5_var12
Open

6213 Макаров Сергей Андреевич Лаб.5 Вар.12#509
123321zZzZ wants to merge 33 commits intoitsecd:mainfrom
123321zZzZ:lab5_var12

Conversation

@123321zZzZ
Copy link
Copy Markdown

ФИО: Макаров Сергей
Номер группы: 6213
Номер лабораторной: 5
Номер варианта: 12
Краткое описание решаемой задачи: Согласно варианту лабораторной работы №5 мне необходимо было создать графическое приложение для просмотра изображений с использованием библиотеки PyQt5. Задача включала создание интерфейса с возможностью загрузки изображений через CSV-аннотацию или выбором папки, а также реализацию навигации между изображениями.
Краткое описание работы кода: Основной код находится в файле main_window.py, который является точкой входа в графическое приложение. Чтобы запустить программу, выполните команду:python main_window.py , Данная работа была проверена очно .

- читает файл annotation.csv из папки lab_2
- проверяет существование файлов изображений
- возвращает DataFrame с абсолютными и относительными путями
- вычисляет разницу между максимумом и минимумом для каждого канала RGB
- добавляет колонки range_r, range_g, range_b в DataFrame
- обрабатывает BGR формат OpenCV
- сортирует DataFrame по выбранной колонке (range_r, range_g, range_b)
- сбрасывает индексы после сортировки
- поддерживает сортировку по убыванию
- оставляет только строки где диапазон яркости >= min_value
- можно выбрать канал для фильтрации (r, g или b)
- возвращает отфильтрованный DataFrame со сброшенными индексами
- строит график диапазонов яркости по всем трем каналам
- использует разные стили линий для R, G, B
- сохраняет график в PNG файл
- показывает график на экране
- последовательно вызывает все функции
- создает папку output для результатов
- сохраняет DataFrame в CSV файл
- генерирует и сохраняет график
- добавил проверку существования папки lab_2
- добавил в sys.path путь к lab_2 для импорта
- обработка ошибки если папка не найдена
- инициализировал список путей к изображениям
- установил начальный индекс 0
- вызвал метод init_ui()
- установил заголовок окна "Adobe_Photoshop"
- установил размер окна 1000x600
- создал центральный виджет и вертикальный layout
- создал кнопки загрузки CSV и папки
- создал кнопки навигации "Назад" и "Вперёд"
- добавил QLabel для отображения изображения
- отключил кнопки навигации при запуске
- принимает путь к CSV файлу или папке
- создает экземпляр ImageFileIterator
- преобразует итератор в список путей
- проверяет что изображения найдены
- показывает первое изображение и обновляет кнопки
- обработка исключений с выводом сообщений об ошибках
- открывает диалоговое окно выбора файла
- фильтр только для CSV файлов
- вызывает load_dataset() с выбранным путем
- открывает диалоговое окно выбора папки
- вызывает load_dataset() с выбранным путем
- получает путь к текущему изображению по индексу
- загружает изображение в QPixmap
- проверяет успешность загрузки
- масштабирует изображение с сохранением пропорций
- устанавливает пиксмап в QLabel
- проверяет есть ли изображения
- включает/выключает кнопку "Назад" если есть предыдущие изображения
- включает/выключает кнопку "Вперёд" если есть следующие изображения
- проверяет что есть следующее изображение
- увеличивает индекс на 1
- показывает новое изображение
- обновляет состояние кнопок
- проверяет что есть предыдущее изображение
- уменьшает индекс на 1
- показывает новое изображение
- обновляет состояние кнопок
- создает экземпляр QApplication
- создает экземпляр ImageViewer
- показывает окно
- запускает цикл обработки событий
@github-actions github-actions bot added 6213 IN PROGRESS Код в процессе проверки LAB 5 labels Dec 20, 2025
@github-actions github-actions bot requested a review from vfkon December 20, 2025 12:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6213 IN PROGRESS Код в процессе проверки LAB 5

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant