|
4 / 4 / 0
Регистрация: 12.11.2018
Сообщений: 511
|
|
Создание изображения на stm32 с 16 битными градациями серого01.07.2021, 18:03. Показов 7615. Ответов 66
Необходимо средствами stm32f746 обработать массив данных, снятый с датчиков, преобразовав его в изображение.
Размер массва MxN примерно 64000 пикселей, это усредненное значение, которое будет задаваться. Т.е. по сути после извлечения данных с детекторов в ОЗУ мк будет находиться массив размером MxN из 16 битных чисел. Из форматов изображений, работающих с 16 bit grayscale я нашел только PNG и TIFF. Там еще есть что-то про BMP и RAW. В целом не особо критично какой будет формат, но ввиду того, что потом этот файл будет обрабатывать ПО на ПК, то желателен TIFF. Ну либо получить PNG, потом его преобразовать в TIFF, главное сохранить глубину цвета серого 16 бит. Полученный файл надо передать клиенту (браузер пк), мк - http сервер. Там его скачать. Я уже переискал, по-моему, все возможные варианты как это можно сделать. Тут изначально выбор где осуществлять конвертацию массива в файл: на строне мк или в браузере. По-хорошему делать это лучше в браузере, ввиду большого объема информации и ее обработки, но ничего толкового я не нашел для этого в javascript (страница написана на html и js, передача осуществляется при помощи AJAX по GET запросам). В основном там идут библиотеки для работы с уже созданными файлами, их обработки (pngjs, camvas-to-tiff, webgl). В общем средства для создания PNG или TIFF на js я не нашел. Поэтому начал искат возможность сделать это на мк. Тут вообще идея была изначально создать структуру этих форматов (PNG или TIFF) и дальше просто заполнять ее данными, но с их структурой я так и не разобрался. Поэтому так же начал искать библиотеки (libpng, libtiff, raw2tiff). Вот первые две очень интересные, документацию на них я нашел, а примеров использования практически нет. Ну и еще есть предположение, что это будет занимать достаточно большой объем ОЗУ, и просто не поместится в памяти мк. Там ОЗУ 320 КБ, но есть FreeRTOS и LWIP, которые занимают больше половины от этого. Поэтому возникли вопросы, может кто подскажет как решить данную задачу при помощи этих библиотек, ну либо каким другим способом? Буду рад любой идее, потому что уже перегуглил все по этой теме
0
|
|
| 01.07.2021, 18:03 | |
|
Ответы с готовыми решениями:
66
Преобразовать рисунок с градациями серого в бинарный Работа с 16-битными оттенками серого Битовые операции с 64 битными числами (STM32) |
|
4 / 4 / 0
Регистрация: 12.11.2018
Сообщений: 511
|
||
| 02.07.2021, 15:40 [ТС] | ||
![]() Скорее всего такой файл в TIFF не получится перевести, либо переведется, но он не будет 16 битным grayscale, и тогда ПО для дальнейшей обработки файла не сможет с ним нормально работать
0
|
||
|
4195 / 1841 / 223
Регистрация: 06.10.2010
Сообщений: 4,127
|
||
| 02.07.2021, 17:26 | ||
|
Читаю спецификацию TIFF, раздел "Grayscale images->Required Fields for Grayscale Images":
0
|
||
|
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
|
|||
| 02.07.2021, 18:40 | |||
|
0
|
|||
|
Модератор
|
|||
| 02.07.2021, 23:16 | |||
|
В этом разделе это как бы оффтоп, но https://developer.mozilla.org/... ith_canvas
0
|
|||
|
443 / 74 / 7
Регистрация: 29.01.2018
Сообщений: 1,274
|
|
| 03.07.2021, 00:00 | |
|
Curry, приветики) на stm32 перешли?
0
|
|
| 03.07.2021, 01:44 | |
|
0
|
|
|
4195 / 1841 / 223
Регистрация: 06.10.2010
Сообщений: 4,127
|
||
| 03.07.2021, 06:44 | ||
|
0
|
||
|
4 / 4 / 0
Регистрация: 12.11.2018
Сообщений: 511
|
|||
| 03.07.2021, 06:55 [ТС] | |||
|
Надо как-то сформировать структуру TIFF, заполнить ее и записать в файл, который потом скачать из браузера
0
|
|||
|
4195 / 1841 / 223
Регистрация: 06.10.2010
Сообщений: 4,127
|
||||||
| 03.07.2021, 09:33 | ||||||
|
Попробовал сгенерить tif в FASM
0
|
||||||
|
4 / 4 / 0
Регистрация: 12.11.2018
Сообщений: 511
|
|
| 03.07.2021, 10:39 [ТС] | |
|
murderer, Почему у Вас заголовок такой?
Там же вроде должно быть 49 49 2A 00 или 4D 4D 00 2A https://ru.wikipedia.org/wiki/TIFF Откуда брали структуру и значения для ее заполнения? Поэкспериментирую с заполнением Там насколько я понял по описанию формата, идет заголовок (IFH), который может быть только 2х видов, которые указал выше, потом описание тега (IFD), вот там уже все параметры описываются, сам тег (массив данных изображения). Т.е. 3 части, 2 из которых заголовки и одна это данные. С первой воде понятно, с третьей тоже, вот вторую правильно заполнить и может что-то да получится, но в той же wiki нет толкового описания структуры и как ее заполнять Добавлено через 27 минут Вот этот файл вроде неплохой https://www.awaresystems.be/im... /TIFF6.pdf Вот тут тоже вроде что-то есть https://www.awaresystems.be/im... ftags.html
0
|
|
|
4195 / 1841 / 223
Регистрация: 06.10.2010
Сообщений: 4,127
|
||||||
| 03.07.2021, 10:51 | ||||||
|
Вот так получается правильный файл (насчёт тэга ExtraSamples не уверен - работает и без него). Файл создавал по спецификации.
ссылка на FASM - https://flatassembler.net/download.php
1
|
||||||
|
4 / 4 / 0
Регистрация: 12.11.2018
Сообщений: 511
|
|
| 03.07.2021, 11:08 [ТС] | |
|
murderer, эх, еще и на ассемблере
![]() А скиньте ссылку какой спецификацией пользовались? Я хоть попробую перевести это все на Си или JS, да вопросизвести Ваш успех, скорее всего в каком-нибудь блокноте) Добавлено через 6 минут и все-таки, почему заголовок 2А49494, а не 49 49 2A 00 как в специцифкации?
0
|
|
|
4195 / 1841 / 223
Регистрация: 06.10.2010
Сообщений: 4,127
|
||||
| 03.07.2021, 11:12 | ||||
Добавлено через 1 минуту
0
|
||||
|
4 / 4 / 0
Регистрация: 12.11.2018
Сообщений: 511
|
|
| 03.07.2021, 11:15 [ТС] | |
|
murderer, понял, спасибо). А не подскажите еще чем можно открыть потом tiff чтобы вся структура отобразилась корректно, по байтам или словам? А не как это бывает, открываешь в блокноте или notepad++ файл, а там одни иероглифы
0
|
|
|
4 / 4 / 0
Регистрация: 12.11.2018
Сообщений: 511
|
|
| 03.07.2021, 11:39 [ТС] | |
|
murderer, а если просто в блокноте файл создавать, как данные должны быть представлены? Т.е. например по 16 бит через пробел? Заголовок: 49 49 2A 00 Потом структура IFD: ........ Сами данные: 00 00 00 01 00 02 .... FF FE FF FF
В таком виде?
0
|
|
|
4 / 4 / 0
Регистрация: 12.11.2018
Сообщений: 511
|
||
| 03.07.2021, 11:49 [ТС] | ||
|
murderer, не, это же прога для чтения? А я говорю про запись, если в блокноте согласно структуре понабивать данные в 16ричном виде по типу, как привел выше
0
|
||
|
4195 / 1841 / 223
Регистрация: 06.10.2010
Сообщений: 4,127
|
||
| 03.07.2021, 11:58 | ||
0
|
||
|
4 / 4 / 0
Регистрация: 12.11.2018
Сообщений: 511
|
|
| 03.07.2021, 12:01 [ТС] | |
|
0
|
|
| 03.07.2021, 12:01 | |
|
Преобразование изображения в градации серого Преобразование изображения к оттенкам серого Сохранение изображения 16-бит оттенков серого Перевод в градации серого части изображения Как получить 3Д график из данных полученных из изображения в оттенках серого? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия 30. Фосфорный и азотный замки по "честному" закону лимитирования Либиха
anaschu 16.07.2026
Основные достижения за последние дни
1. Механизм отложенного высвобождения фосфора
Добавлен специальный пул для медленного разложения меланизированных гиф ЕСМ
Реализована разная скорость. . .
|
Запрет пометки на удаление и отмены проведения
Maks 16.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "ПутевойЛист" разработанного в КА2.
Задача: запретить помечать на удаление и отменять проведения путевого листа при условии, если он сдан. . .
|
Как надо было делать правильно - вообще не слушать ИИ, его дело - текст.
Hrethgir 15.07.2026
А вообще надо было делать не так, чтобы не исправлять ошибку https:/ / www. cyberforum. ru/ blogs/ 223907/ 10996. html , правильно было : удалил кнопку, а потом добавил её.
Всё это стресс конечно. Почему?. . .
|
Знаете, от чего появляется стресс?
kumehtar 15.07.2026
Стресс появляется оттого, что вы, зная как поступить правильно, делаете наоборот.
Ларри Уингет
|
|
Нас бьют, а мы крепчаем? Какая чушь!
kumehtar 15.07.2026
Вот это вот бытующее мнение, что человек меняется только под действием проблем, всегда считал вредоносным. Поверь, от проблем у людей появляются не изменения, а нервное расстройство и ПТСР. А. . .
|
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров
В текущей версии модели успешно реализован ключевой механизм. . .
|
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям
Реализованные компоненты:
Механизм закисления почвы через протонную помпу
Конкуренция между типами микориз
pH как триггер сукцессии
C/ P соотношение. . .
|
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
|