|
0 / 0 / 2
Регистрация: 26.11.2012
Сообщений: 54
|
||||||
Не сохраняется изображение из pictureBox30.04.2015, 22:05. Показов 5368. Ответов 46
Метки нет (Все метки)
Мне нужно сохранить изображение из pictureBox2 в .bmp файл. Но сохраняется только серый фон, вместо нужного изображения. Что я сделал не так?
0
|
||||||
| 30.04.2015, 22:05 | |
|
Ответы с готовыми решениями:
46
Изображение в pictureBox
|
|
0 / 0 / 2
Регистрация: 26.11.2012
Сообщений: 54
|
|
| 07.05.2015, 16:48 [ТС] | |
|
Если хотите увидеть наглядно работоспособность:
1)Разархивируйте архив. 2)Запустите проект SAI_NeuralNetworks. 3)Загрузите нейронную сеть из папки MainTest (Файл->Открыть->выберите MainTest.nw) В папке MainTest, каждому рисунку соответствует файл .bmp.in и .bmp.out. In содержит входные параметры (веса) обучения, out - записанную информацию на этапе Form4. Это видно на скриншоте . 5)Для тестирования сети нажмите на кнопку "Открыть файл для тестирования" и выберите .тхт файл содержащий .bmp.in 6)Сеть выдаст числовой результат (в процентах) в textBox2 (Вектор выхода)
0
|
|
|
0 / 0 / 2
Регистрация: 26.11.2012
Сообщений: 54
|
|||||||||||
| 07.05.2015, 17:07 [ТС] | |||||||||||
|
Создание и запись массивов происходит в Form4, мне нужно добавить в этот алгоритм записи дополнительное значение из ListBox1, которое будет содержать одну букву. Это буква должна присваиваться записанному файлу и после обработки, вместе с процентным результатом, выводиться или записываться в, например, .тхт файл
![]() Добавлено через 5 минут П.С. Этот код является изначальным вариантом, в нём я ещё ничего не менял (не считая добавления listBox1 в конструкторе Form4). Я хочу использовать его как часть более структурной программы, по сути он является обрабатывающим блоком. Но пока результат выводится визуально, я не могу его никуда записать. Добавлено через 5 минут Запись значений в файл .bmp.out происходит тут:
Я не нашёл переменных в Form4, которые могли быть использованы в самой нейросети. По сути Form4 подготавливает (путём записи в .тхт) вводную информацию.
0
|
|||||||||||
|
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
|
|
| 07.05.2015, 18:37 | |
|
Не пойму, то есть надо элементарно записать значение из листбокса куда-то в файл out при его создании? И все?
0
|
|
|
0 / 0 / 2
Регистрация: 26.11.2012
Сообщений: 54
|
|||||||
| 07.05.2015, 18:59 [ТС] | |||||||
Можно ещё попробовать записать значение из листбокса вообще в отдельный файл, но потом его нужно будет прочитать и вывести на экран в другой части программы, как думаете? Добавлено через 7 минут
Добавлено через 8 минут И можно ли значение из listBox1 записывать в указанную строку текстового файла?
0
|
|||||||
|
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
|
|
| 07.05.2015, 19:13 | |
|
ммм, вроде начинаю врубаться, для каждой картинки с буквой по определенному алгоритму создается файл in, потом он подается в сеть, каждый выход из нее-1 из вариантов буквы. Дальше, если сеть обучена, в нее можно подавать файл in от одной из букв и она должна вернуть правильный результат. То есть задача сводится к тому, чтобы каждому выходу в сети задать соответствие определенной букве, так? И выводить эту информацию? Так? Если так, то надо эту информацию сохранять не непонятно куда, а вместе с сетью.
0
|
|
|
0 / 0 / 2
Регистрация: 26.11.2012
Сообщений: 54
|
||
| 07.05.2015, 19:24 [ТС] | ||
0
|
||
|
0 / 0 / 2
Регистрация: 26.11.2012
Сообщений: 54
|
||||||
| 07.05.2015, 19:46 [ТС] | ||||||
|
Вся изюминка моей хитрости заключается в сравнении текстБоксов. На Form2 есть текстБокс2, в который выводятся результаты (называется "Вектор выхода"), я хочу создать текстБокс3, также на Form2, он будет содержать буквы (по одной букве на каждой строчке). Я заметил закономерность, нумерация файла, которым я обучал и выводимого ответа в текстБоксе2 зависимы, вот что я имею ввиду:
Т.е. моя идея - записать в отдельный файл букву, но записать её в ту же строчку, в которую записалось значение 0,99. Визуально: Только вот как записывать букву в нужную строчку? Не могли бы вы подсказать, где в SaveBin высчитывается строчка, в которую запишется значение 0,99
0
|
||||||
|
0 / 0 / 2
Регистрация: 26.11.2012
Сообщений: 54
|
|
| 07.05.2015, 19:54 [ТС] | |
|
Останется только сравнить два текстБокса, для выведения распознанной буквы на экран, по алгоритму:
если строчка в текстБокс2 содержит значение "0.9хххх" (пусть эта строчка 4ая, к примеру), то ей будет равна 4ая строчка из текстБокс3 и значение этой строчки будет выведено на экран. С виду алгоритм кажется простым, но каковы шансы его реализации, как вы думаете?
0
|
|
|
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
|
|
| 07.05.2015, 20:04 | |
|
Ну реализовать-то это несложно, вот зачем делать такие костыли, когда можно сделать по-человечески и сразу возвращать из сети строку с числом и нужной буквой
? Да, повозиться придется подольше, но зато работать будет нормально.
0
|
|
|
0 / 0 / 2
Регистрация: 26.11.2012
Сообщений: 54
|
||
| 07.05.2015, 20:16 [ТС] | ||
![]() Буду признателен за любую помощь в любом из методов ![]() Пока что пытаюсь найти способы своего "костыльного" метода
0
|
||
|
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
|
|
| 08.05.2015, 08:38 | |
|
Поковырялся в коде, сделал так-при создании обучающей выборки создается файл с буквами, при обучение сеть эти буквы запоминает и дальше ею можно пользоваться без всяких дополнительных файлов. Возможны баги, надо тестировать. Если таковые найдутся-отпишитесь.
1
|
|
|
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
|
|
| 08.05.2015, 09:37 | |
|
Да, и сеть надо создать заново, а не тестить на старой
1
|
|
|
0 / 0 / 2
Регистрация: 26.11.2012
Сообщений: 54
|
||||||||
| 08.05.2015, 10:06 [ТС] | ||||||||
![]() Теперь я буду отталкиваться от вашего идеального варианта. Остаётся только записать букву рядом со значением 0,9хх в текстовый файл. Ещё бы хотелось немного автоматизировать процесс, скажем, при нажатии на кнопку "Открыть файл для тестирования" программа получала бы не указанный файл из диалогового окна, а все файл с нужными название (в моём случаи bmp.in) из указанной папки ![]() Возможо ли такое сделать? П.С. Проверил сеть на нескольких различных вариантах обучения, всё отлично запоминает! Единственный баг, обнаруженный мною, это если перепутать ИД (т.е. не поменять на следующий ИД) при обучении, тогда в letters продублируется запись уже записанной буквы и начиная с этого момента сеть не запомнит буквы Но этот баг совсем незначительный, тут даже больше человеческий фактор важен.Добавлено через 1 минуту
Добавлено через 9 минут Запись букв в сеть происходит только с помощью?
0
|
||||||||
|
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
|
||||
| 08.05.2015, 10:10 | ||||
И вообще таких мелких ньюансов там много можно найти, стоит полазить и порасставлять разные if и try catch, в общем разобраться с обработкой исключений.
![]() По второму-тоже не понял. Там 1 файл-1 результат, как их можно открыть все вместе? Разве что создать отдельное меню для этого и выбирать на нем нужный файл. Но по мне так надо сделать по-другому - так, чтобы на вход подавалась картинка, на выход-результат, без лишних заморочек с текстом. Хотя конечно многое зависит от того, зачем вообще все это делается. Где оно будет применяться и для чего?
0
|
||||
|
0 / 0 / 2
Регистрация: 26.11.2012
Сообщений: 54
|
||
| 08.05.2015, 10:24 [ТС] | ||
![]() Если я опять запутался в объяснении - скажите
0
|
||
|
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
|
|
| 08.05.2015, 10:24 | |
|
Наверное выразился непонятно - да, кроме как там записи в сеть нигде нет. Дальше все делается внутри класса сети. Кстати тут есть небольшая недоработка-надо список букв обнулить прежде чем добавлять туда новые значения, на случай если сеть будут переучивать под другие буквы.
0
|
|
|
0 / 0 / 2
Регистрация: 26.11.2012
Сообщений: 54
|
||
| 08.05.2015, 10:31 [ТС] | ||
|
П.С. Картинка подаётся сети для распознавания в виде матрицы значений -0.5\0.5. Эту матрицу содержит файл bmp.in. Для каждой картинки нужен свой такой файл, вот я и хотел подать их всех подряд, из указанной папки, а не указывать по отдельности из диалогового окна.
Добавлено через 58 секунд ![]() Добавлено через 3 минуты Таким образом часть схемы можно представить как: Изображение с текстом -> Изображение каждой буквы -> Нейронная сеть (распознавание буквы) -> Запись распознанной буквы из ответа нейронной сети в файл -> воссоздание текста с изображения в текстовом файле
0
|
||
|
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
|
|||||||
| 08.05.2015, 10:56 | |||||||
0
|
|||||||
|
0 / 0 / 2
Регистрация: 26.11.2012
Сообщений: 54
|
||
| 08.05.2015, 11:05 [ТС] | ||
Момент нарезания можно опустить, да данном этапе. Т.е. выходная информация из "нарезалки" представлена в виде картинок 10*12, пример их можно увидеть в папке MainTest (она прилагалась к исходнику). Нужно все все изображения из папки, к примеру MainTest (кусочки 10*12) просто подать нейронной сети, одной последовательностью, а результат прохода каждого изображения (Выходной вектор, буква из textBox2 на Form2) записать в отдельный текстовый файл. Конечно можно "прикрутить" код "нарезалки", который мы сделали вначале темы, но это неправильное решение сегментации, а значит лишняя трата времени, имхо
0
|
||
|
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
|
|
| 08.05.2015, 11:13 | |
|
Ну так-алгоритм надо придумать, и сделать все это на отдельной форме, с понятными и наглядными настройками
. Иначе пользоваться программой будет страшно неудобно. Какой смысл делать неправильно, если известно как правильно ? Код, который мы делали в начале темы-тоже ужасающий костыль, его надо переписывать так, чтобы он был универсальным, сделать обработку исключений и многое другое. В общем работы тут еще много. По-моему если делать правильно не интересно - то лучше вообще не браться
0
|
|
| 08.05.2015, 11:13 | |
|
Изображение стирается в pictureBox
Изображение из формы в PictureBox Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version
Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
|
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер
На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
|
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/
TL DR
Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
|
ИИ не может найти нужный язык в списке
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.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|