|
1 / 1 / 1
Регистрация: 04.05.2016
Сообщений: 266
|
||||||
Необычный фильтр для картинок04.08.2019, 11:56. Показов 5446. Ответов 62
Метки нет (Все метки)
Решил написать фильтр для картинок в стиле дальтонизма с тремя режимами (Протанопия,Дейтеранопия,Тританопия)
0
|
||||||
| 04.08.2019, 11:56 | |
|
Ответы с готовыми решениями:
62
GetOpenFileName - установить фильтр для текстовых файлов и картинок Необычный код - необычный результат. Необычный вопрос, но как раскрутить сервис для людей? |
|
2637 / 1648 / 267
Регистрация: 19.02.2010
Сообщений: 4,370
|
||
| 08.08.2019, 20:51 | ||
Сообщение было отмечено viramir как решение
РешениеВсё легко (школьная математика) определяется после взгляда на потроха функции p(), инлайна её тушки в формулу для любого ri, и вынесения общих множителей за скобки. В общем, при доступном для любого канала максимуме в 255 (предполагаем, что берём белый цвет и там все каналы будут по-максимуму) после вынесения общего за скобки имеем ЗЫ. Когда писал "сумма вторых аргументов" - предполагал, что знаки перед вызовами p() перешли в эти аргументы.
0
|
||
|
1 / 1 / 1
Регистрация: 04.05.2016
Сообщений: 266
|
|
| 08.08.2019, 20:54 [ТС] | |
|
0
|
|
|
2156 / 1236 / 508
Регистрация: 11.10.2018
Сообщений: 6,249
|
|
| 09.08.2019, 11:43 | |
|
Ну и давайте без деления, эту же радугу, чтобы нам всем разницу увидеть.
0
|
|
|
1 / 1 / 1
Регистрация: 04.05.2016
Сообщений: 266
|
|
| 09.08.2019, 11:48 [ТС] | |
|
1
|
|
|
1 / 1 / 1
Регистрация: 04.05.2016
Сообщений: 266
|
|
| 09.08.2019, 20:00 [ТС] | |
|
0
|
|
|
2156 / 1236 / 508
Регистрация: 11.10.2018
Сообщений: 6,249
|
|
| 10.08.2019, 09:59 | |
|
Да фиг знает, я до сих пор не могу понять какой "потолок" у новых значений цветовых каналов. Чем это обосновать, так чтобы понятно было?
0
|
|
|
1 / 1 / 1
Регистрация: 04.05.2016
Сообщений: 266
|
|
| 10.08.2019, 10:30 [ТС] | |
|
0
|
|
|
2156 / 1236 / 508
Регистрация: 11.10.2018
Сообщений: 6,249
|
|||||||
| 10.08.2019, 10:47 | |||||||
|
Вообще, надо Ваши формулы:
0
|
|||||||
|
1 / 1 / 1
Регистрация: 04.05.2016
Сообщений: 266
|
||
| 10.08.2019, 11:06 [ТС] | ||
|
Вот оригинал и результат всех четырех режимов работы
0
|
||
|
2156 / 1236 / 508
Регистрация: 11.10.2018
Сообщений: 6,249
|
||||||
| 10.08.2019, 18:18 | ||||||
|
Еще можно ускорить. Сейчас все преобразования находятся в функции Linear и она вызывается каждой из кнопок. Но я бы сделал по-другому и полагаю, что делают не совсем так. А делают вот так:
в обработчике события от каждой кнопки будет свое преобразование. Открытие и назначение файла лучше вынести за скобки, а обработчик события OnClick каждой кнопки будет работать с BMP. Дальше, функции Protan, Deutran, Tritan и GrayScale также убираем и их код помещаем в обработчике события каждой кнопки, соответственно. Сам код в каждой кнопке будет выглядеть примерно так:
0
|
||||||
|
1 / 1 / 1
Регистрация: 04.05.2016
Сообщений: 266
|
||||||||||||
| 10.08.2019, 18:23 [ТС] | ||||||||||||
|
правильно ли так
0
|
||||||||||||
|
2156 / 1236 / 508
Регистрация: 11.10.2018
Сообщений: 6,249
|
|
| 10.08.2019, 18:27 | |
|
Ну правильно-то правильно, только так медленнее будет работать из-за того что:
1) Функции вызываются для каждого пикселя(Protan, Deutran, Tritan и GrayScale); 2) Условие, которое выбирает обработку тоже как-бы неускоряет ее.
0
|
|
|
1 / 1 / 1
Регистрация: 04.05.2016
Сообщений: 266
|
||||||||
| 10.08.2019, 18:36 [ТС] | ||||||||
|
Добавлено через 4 минуты
0
|
||||||||
|
2156 / 1236 / 508
Регистрация: 11.10.2018
Сообщений: 6,249
|
|||||||
| 10.08.2019, 18:38 | |||||||
0
|
|||||||
|
1 / 1 / 1
Регистрация: 04.05.2016
Сообщений: 266
|
||||||
| 10.08.2019, 18:39 [ТС] | ||||||
|
FFPowerMan, пропускать не надо,мне нужно без этиж нагромождений
0
|
||||||
|
2156 / 1236 / 508
Регистрация: 11.10.2018
Сообщений: 6,249
|
||||||||
| 10.08.2019, 18:43 | ||||||||
|
Добавлено через 2 минуты
0
|
||||||||
|
8 / 8 / 2
Регистрация: 02.10.2014
Сообщений: 112
|
|
| 10.08.2019, 18:56 | |
|
Просто выкиньте вот это из кода - canva->Pixels, это тормоза, а вы там с формулами играетесь
0
|
|
|
1 / 1 / 1
Регистрация: 04.05.2016
Сообщений: 266
|
|||
| 10.08.2019, 19:02 [ТС] | |||
|
Добавлено через 3 минуты
0
|
|||
|
2156 / 1236 / 508
Регистрация: 11.10.2018
Сообщений: 6,249
|
|
| 10.08.2019, 19:12 | |
|
0
|
|
|
1 / 1 / 1
Регистрация: 04.05.2016
Сообщений: 266
|
|||||||
| 10.08.2019, 19:29 [ТС] | |||||||
|
Работает за секунду
0
|
|||||||
| 10.08.2019, 19:29 | |
|
Помогаю со студенческими работами здесь
60
Конфигурация сайта для Magento 2. Cache TTL для картинок Программа для вывода картинок (карточки для изучения ин.яз) Фильтр для питания для применения в автомобилях Фильтр по форме по нескольким логическим полям с использованием кнопки Общий фильтр Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
|
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|