|
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
|
||||||
Добавить к коду подсчет яркостей22.09.2020, 09:49. Показов 7773. Ответов 124
Метки нет (Все метки)
Хочу расширить код подсчитывая количество значений яркости dithPixel например в виде структуры [Value, Count], но не могу вспомнить как это сделать через хеши (именованные массивы).
0
|
||||||
| 22.09.2020, 09:49 | |
|
Ответы с готовыми решениями:
124
Добавить к коду подсчет вызовов функции Подсчёт суммы значений в ячейках по столбцу по коду товара Добавить комментарии к коду |
|
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,576
|
|||||||
| 29.09.2020, 18:46 | |||||||
|
Вот полный код всех моих тестов. Мой вариант с unsafe (GetBrightnesUnsafe) самый быстрый.
0
|
|||||||
|
Модератор
|
||||||||
| 29.09.2020, 20:21 | ||||||||
data.Brightnes.Но там яркости в приведённом виде. Если коэффициент dev=100, то в реальных значениях. Если dev=1, то в процентах, то есть увеличенное в сто раз значение. Код можно сильно ускорить, если сделать вставку на Ассемблере. Но я им не баловался уже больше 20 лет, и мне сейчас это не по силам. Добавлено через 5 минут
0
|
||||||||
|
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,576
|
||
| 29.09.2020, 20:26 | ||
|
1
|
||
|
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,576
|
||
| 29.09.2020, 22:55 | ||
|
На однопоточном бы разница была гораздо меньше (у меня ~623мс GetBrightnesST выполняется, но он вроде не особо оптимизирован даже для однопотока).
0
|
||
|
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
|
|
| 30.09.2020, 05:52 [ТС] | |
Ошибка CS0227 Небезопасный код может использоваться только при компиляции с параметром /unsafe. Гайды, что читаю по тому, где такое настраивать, ведут в Обозреватель решений на вкладку Сборка, но у меня в Обозревателе вкладок нет. Ошибка CS0029 Не удается неявно преобразовать тип "WindowsFormsApp1.Form1.BrightnesData" в "System.Drawing.Image". WindowsFormsApp1 Для рисования на форме требуется преобразование к другому типу.
0
|
|
|
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
|
|||||||
| 30.09.2020, 07:20 [ТС] | |||||||
float pixel = source.Brightnes[h, w] / 100.0F; если написать [w, h], как по идее и должно быть, то индекс уходит за границу. Но в таком варианте рисует только одну строку размерности bmp.Width*ditheringMatrix.Height.Собственно этот кусок кода мне нужен для отрисовки изображения на форме. Кстати ваша яркость отличается от яркости ImageWrapper в большую сторону и заметно искажает изображение.
0
|
|||||||
|
Модератор
|
|||||||||||||
| 30.09.2020, 08:08 | |||||||||||||
|
Он только возвращает цвет пикселя в типе Color. Метод GetBrightness относится к методу типа Color. Добавлено через 11 минут Я не работал с изображениями. Формулу яркости взял из инета. Есть в нескольких источниках. Всюду одинаковая. Но MS любительница вставить что-то своё. Делает так для отсутствия совместимости, чтобы вынуждены были пользоваться только её ПО. Попробую разобраться. Добавлено через 18 минут Так и есть! MS как всегда "отличилась":
Проверка:
Сейчас подправлю методы под вариант MS.
0
|
|||||||||||||
|
Модератор
|
|||||||
| 30.09.2020, 08:53 | |||||||
|
belalugoci, вот исправленные под MS коды
Не по алгоритму, а простыми словами его смысл.
0
|
|||||||
|
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
|
||
| 30.09.2020, 09:43 [ТС] | ||
|
то есть обрабатывает картинку каким-то алгоритмом (например нормализация гистограммы) и показывает на форме результат.
0
|
||
|
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
|
|
| 30.09.2020, 10:24 [ТС] | |
|
0
|
|
|
Модератор
|
||||||||
| 30.09.2020, 10:34 | ||||||||
0
|
||||||||
|
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
|
||||
| 30.09.2020, 10:48 [ТС] | ||||
(source.Brightnes[h, w] / 2) деление на 2?[h, w] почему на 90 градусов повернуто?pictureBox1.Image
0
|
||||
|
Модератор
|
||||
| 30.09.2020, 11:48 | ||||
|
Посмотрите в посте MS как всегда "отличилась": что возвращает метод. Я не отлаживал метод на вывод. Только на ошибки компиляции. Добавлено через 14 секунд
0
|
||||
|
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
|
|||
| 30.09.2020, 12:04 [ТС] | |||
|
0
|
|||
|
Модератор
|
|||
| 30.09.2020, 12:07 | |||
|
Добавлено через 1 минуту А для одного бита наверное надо выбрать какой-то уровень и по нему резать. Выше - 255, ниже - 0.
0
|
|||
|
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
|
|||||||||||||||||||
| 30.09.2020, 13:33 [ТС] | |||||||||||||||||||
Col, Row или Width, Height, и то и другое эквивалентно X, Y или Столбец, Строка.Добавлено через 50 секунд Добавлено через 1 час 18 минут
Добавлено через 4 минуты
0
|
|||||||||||||||||||
|
Модератор
|
||
| 30.09.2020, 13:35 | ||
|
И здесь действительно есть противоречие между ними. Для точки задаётся сначала координата по горизонтали, а для матрицы - по вертикале (строка). Матрица пикселей также адресуется как любая другая матрица: сначала строка, потом колонка. Так же организуются цикля для многомерных массивов: первый цикл по первому индексу, второй по второму и т.д. Это ещё связанно и с платформой Net и архитектурой x86. Массивы в памяти хранятся в порядке изменения младших индексов. То есть для матрицы - построчно.
0
|
||
|
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
|
|||||||
| 30.09.2020, 13:42 [ТС] | |||||||
0
|
|||||||
| 30.09.2020, 13:42 | |
|
Добавить комментарии к коду
Добавить к коду многоадресный делегат К готовому коду добавить процедуру К коду добавить вывод в консоль Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
GitHub Copilot в JetBrains: модель по умолчанию, Fix и контроль MCP
and_y87 12.10.2026
10 октября 2026 года GitHub обновил Copilot для JetBrains: добавил настройки стартовой модели, исправления из диагностики и управление автозапуском MCP. Поддержка IDE 2025. 1 прекращена — требуется. . .
|
День 5 из 28: Codex подсказывает следующий запрос
and_y87 12.10.2026
9 октября 2026 года OpenAI запустила бету Composer predictions — подсказок следующего сообщения в текущем диалоге Codex. Это помощь с формулировкой запроса, а не автоматическое продолжение задачи.
. . .
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|