Форум ОНИОО «Космопоиск»

Направления => Технический форум (Приборный) => Тема начата: Grey от 09 Ноябрь 2013 г., 19:59:15

Название: Преобразование изображения в код
Отправлено: Grey от 09 Ноябрь 2013 г., 19:59:15
https://drive.google.com/file/d/0B1b1NATIsz9rdmtUWmpoSWt1eUE/edit?usp=sharing (https://drive.google.com/file/d/0B1b1NATIsz9rdmtUWmpoSWt1eUE/edit?usp=sharing)
Интересует как программа работает на других компах.
При ответе пишите какая операционка у вас установлена.

Папку распакуйте в любое удобную папку на компе. Имеется 1 тестовое изображение.
Название: Re: Преобразование изображения в код
Отправлено: Zеt от 09 Ноябрь 2013 г., 20:54:17
https://drive.google.com/file/d/0B1b1NATIsz9rdmtUWmpoSWt1eUE/edit?usp=sharing (https://drive.google.com/file/d/0B1b1NATIsz9rdmtUWmpoSWt1eUE/edit?usp=sharing)
Интересует как программа работает на других компах.
При ответе пишите какая операционка у вас установлена.

Папку распакуйте в любое удобную папку на компе. Имеется 1 тестовое изображение.

Опера и IE файлы не принимают. Результат преобразования   (как я понимаю, черного полукруга файла 0100.bmp) - серая полоса вверху.
А что, Grey, нельзя было вначале запустить программу у себя?   
Название: Re: Преобразование изображения в код
Отправлено: нестеров николай от 09 Ноябрь 2013 г., 21:12:02
Windows XP Sp3 WinSoft 2010    Преобразовывает без проблем.
Название: Re: Преобразование изображения в код
Отправлено: radioman от 09 Ноябрь 2013 г., 21:15:36
Эй! земляне! Я скачал два файла, рептилоид Вас задери.. Ну что делать дальше? Можно попростому объяснить?
Название: Re: Преобразование изображения в код
Отправлено: Grey от 09 Ноябрь 2013 г., 21:29:05

Опера и IE файлы не принимают. Результат преобразования   (как я понимаю, черного полукруга файла 0100.bmp) - серая полоса вверху.
А что, Grey, нельзя было вначале запустить программу у себя?
У себя запускал. Пока отлаживал, задолбался запускать. Работало.

Какая серая полоса? В какой программе, файле?
Эй! земляне! Я скачал два файла, рептилоид Вас задери.. Ну что делать дальше? Можно попростому объяснить?
У тебя расширения не отображаются? Нужно запустить программу ImageToBin.
Название: Re: Преобразование изображения в код
Отправлено: radioman от 09 Ноябрь 2013 г., 21:42:01
ну я запустил программку.. появился прямоугольник , заполненный нулями.. есть еще фото с другого файла с полукружием.. И что к чему прикладывать на ночь?!
Название: Re: Преобразование изображения в код
Отправлено: Grey от 09 Ноябрь 2013 г., 22:10:17
И что к чему прикладывать на ночь?!
Справку читал? :)
Название: Re: Преобразование изображения в код
Отправлено: radioman от 09 Ноябрь 2013 г., 22:31:36
Тьфу! какую справку и от кого? там есть только ссылка нам сайт типа .. *хфирменно - Греевский*.. А вообще - все суета - сует.. Посмотрю завтра подробнее.. Я тут эксперимент веду потиху..  8)Нэкогда..
Название: Re: Преобразование изображения в код
Отправлено: Zеt от 09 Ноябрь 2013 г., 23:26:48

Опера и IE файлы не принимают. Результат преобразования   (как я понимаю, черного полукруга файла 0100.bmp) - серая полоса вверху.
А что, Grey, нельзя было вначале запустить программу у себя?
У себя запускал. Пока отлаживал, задолбался запускать. Работало.

Какая серая полоса? В какой программе, файле?
Эй! земляне! Я скачал два файла, рептилоид Вас задери.. Ну что делать дальше? Можно попростому объяснить?
У тебя расширения не отображаются? Нужно запустить программу ImageToBin.

Припоздал чуть...  Так вот, 90% задачи решено! Файл создается, преобразование  (из bmp) работает. Но неправильно или не так как я предполагал предлагал. Вот результат преобразования в окошке программы.

http://teren.ru/ufo/cirk_01.jpg

В окошке 5 верхних строк - код рисунка. Но код состоит из равномерных 01 и значит это серое поле. Созданный программой текстовый файл - результат преобразования картинки 0100.bmp состоит также из первой  длинной строки

010101010101...  кол-во символов соответственно как в окошке программы.

Кто не видел исходный рисунок - вот он.

http://teren.ru/ufo/0100.bmp
Название: Re: Преобразование изображения в код
Отправлено: Grey от 10 Ноябрь 2013 г., 00:03:11
Цитировать
Но код состоит из равномерных 01
Это не серая полоса. Это вместо 100 нулей/единиц.
И это не код рисунка. Это ключ к коду.
5 строк это 300 пикселей, ширина рисунка.
Символы 01, показывают ширину пикселей в коде.

Поле в программе, которое справа, Это для удобства. Его ширина подобрана под тестовое изображение.
Код получается в одну строку. Но поле справо через 60 символов делает перенос.

Zet-K, какая у тебя операционка?
Название: Re: Преобразование изображения в код
Отправлено: Zеt от 10 Ноябрь 2013 г., 00:54:30
Операционая система Windows 7.

Первой последовательной цепочкой мы показываем длину строки (ширину рисунка), так?
А ширину пикселей  для чего показывать? И что значит ширина пикселей? В рисунке ключа?
Пиксели квадратные по умолчанию!  Я думаю может вывести рамку - как бы ограничение? У них на рисунках всегда рамки
http://teren.ru/ufo/kp_05.jpg (http://teren.ru/ufo/kp_05.jpg)
Название: Re: Преобразование изображения в код
Отправлено: Grey от 10 Ноябрь 2013 г., 01:28:21
Цитировать
А ширину пикселей  для чего показывать? И что значит ширина пикселей?
Вроде бы крестики одинаковые, а количество пикселей разное
Над рамкой нужно подумать

[вложение удалено Администратором]
Название: Re: Преобразование изображения в код
Отправлено: radioman от 10 Ноябрь 2013 г., 08:10:17
Пошли битвы программистов.. ;D ;D ;D
Название: Re: Преобразование изображения в код
Отправлено: Zеt от 10 Ноябрь 2013 г., 10:05:36
Цитировать
А ширину пикселей  для чего показывать? И что значит ширина пикселей?
Вроде бы крестики одинаковые, а количество пикселей разное
Над рамкой нужно подумать

"Ширина пикселей" (верней, их количество)- это ширина рисунка. Эта строка и есть верхняя полоска рамки. Верхняя полоска рамки будет состоять из трех (или двух) таких цепочек. Задача - как обозначить конец строки (или начало).
Название: Re: Преобразование изображения в код
Отправлено: Grey от 11 Ноябрь 2013 г., 00:35:39
Цитировать
Верхняя полоска рамки будет состоять из трех (или двух) таких цепочек.
Для чего?
Название: Re: Преобразование изображения в код
Отправлено: Zеt от 11 Ноябрь 2013 г., 06:07:28
Цитировать
Верхняя полоска рамки будет состоять из трех (или двух) таких цепочек.
Для чего?

Потому что пиксель - очень мелкий. Мелкий для того, чтобы  зарезервировать в программе возможность кодировать не только простейшие рисунки, но и реально существующие  пиктограммы с множеством мелких деталей. А если так, то ОДИН ряд пикселей будет отображаться как ВОЛОСЯНАЯ линия, что для рамки не есть хорошо.
Название: Re: Преобразование изображения в код
Отправлено: Grey от 11 Ноябрь 2013 г., 19:31:32
Тоесть рамка будет 2-3 пикселя, а на рисунке будут линии и в 1 пиксель?
Название: Re: Преобразование изображения в код
Отправлено: Zеt от 11 Ноябрь 2013 г., 20:50:45
Тоесть рамка будет 2-3 пикселя, а на рисунке будут линии и в 1 пиксель?

Толщина рамки - три пикселя. Ширина рисунка 1024 пикселя,  высота - 768. В начале каждой строки  (перед рамкой),  код (например) 5a5a5a. Либо пусто (шифратор передатчика воспримет этот код для организации временного интервала).
Название: Re: Преобразование изображения в код
Отправлено: radioman от 12 Ноябрь 2013 г., 19:02:16
Господа программисты! Прочтите вот это:
http://forum.kosmopoisk.ru/index.php?topic=5623.msg62680#msg62680
ОНИ уже по рации спокойно отвечают Космопоиску! О чем спорите? Всего-то надо узнать у Черноброва место и время, включить рацию и сказать - *вот на выложенный из лампочек знак можете опуститься? Плиз!*.
Название: Re: Преобразование изображения в код
Отправлено: нестеров николай от 12 Ноябрь 2013 г., 19:16:35
Grey.Есть программка преобразования текста  в код..кириллица. http://php-zametki.ru/binary-text.html  Может он напишет,что либо подобное для изображения  jpg//
Название: Re: Преобразование изображения в код
Отправлено: Grey от 12 Ноябрь 2013 г., 19:43:33
ОНИ уже по рации спокойно отвечают Космопоиску! О чем спорите?
Да, был такой случай на Медведицкой гряде. Не факт, что повторится.
Название: Re: Преобразование изображения в код
Отправлено: radioman от 12 Ноябрь 2013 г., 20:03:13
ОНИ уже по рации спокойно отвечают Космопоиску! О чем спорите?
Да, был такой случай на Медведицкой гряде. Не факт, что повторится.
Приехали! А факт, что расчеты Черноброва подтвердятся на 100%? Ведь если даже все Ваши программы будут готовы - на какой частоте и где передавать изволите?
Название: Re: Преобразование изображения в код
Отправлено: нестеров николай от 12 Ноябрь 2013 г., 20:22:31
ОНИ уже по рации спокойно отвечают Космопоиску! О чем спорите?
Да, был такой случай на Медведицкой гряде. Не факт, что повторится.
Приехали! А факт, что расчеты Черноброва подтвердятся на 100%? Ведь если даже все Ваши программы будут готовы - на какой частоте и где передавать изволите?
Да по барабану!Хоть сделай вид ,что ,что-то передаешь...Контакт все равно будет 100%.Слишком много энергии и мыслей,вокруг этого проекта накопилось.
Название: Re: Преобразование изображения в код
Отправлено: Grey от 12 Ноябрь 2013 г., 22:27:11
Слишком много энергии и мыслей,вокруг этого проекта накопилось.
Пока ещё мало.
Название: Re: Преобразование изображения в код
Отправлено: radioman от 13 Ноябрь 2013 г., 23:31:14
Мыслей вообще-то не очень мало. Но они во многом необоснованные. Причем ни с технической стороны, не с *идеологической*. Вот простой пример - если пилоты отозвались по рации - то они наверняка знают русский язык. Но ведь расшифровка языка сложнее изображения - пиксели можно как-то *вертеть*, пока не сложится какая-то вменяемая картинка - например - круг. На первобытных картинках человек копьем убивает антилопу - это тоже понятно. Но вот понять о чем говорит китаец русскому весьма сложно - нет ничего похожего. Получается парадокс - ОНИ могут разбирать речь (ведь наверняка хоть изредка смотрят - слушают передачи хотя бы для научных исследований *Земных туземцем*. Но тут им как дикарям собираются показывать картинки - *я сижу, твоя летит, на меня не смотреть*.. Так все-таки - за кого их принимаем? За продвинутых гуманоидов, которые чуть ли не мысли читают, или за первобытных дикарей?! Информация, передаваемая с компьютера через радиопередатчик, представляет собой рисунок на песке палкой *ручки - ножки - огуречек.. получился человечек - Землянин с компьютером?!* :o
Название: Re: Преобразование изображения в код
Отправлено: Zеt от 14 Ноябрь 2013 г., 10:39:18
Слишком много энергии и мыслей,вокруг этого проекта накопилось.
Пока ещё мало.

Чтобы столкнуть зависший проект,  задачу упрощаем! Верней разбиваем ее на части. 

Часть первая:
- сканирование  графического файла (gif или jpg или bmp) и преобразование изображения файла в бинарный код. В начале бинарного кода каждой отсканированной строки добавить 16 бит (5a5a).

Часть вторая:
- полученный цифровой массив записать в текстовый файл

Часть третья
- Считать информацию из текстового файла созданного в части 1 задачи и выводить ее с большой скоростью (1 мбит/с) на порт USB. Временной промежуток между периодически повторяющимися передачами цифрового блока, содержащего код изображения - 4 секунды.
Останов бесконечной передачи блока - вручную, мышкой или с клавиатуры компьютера.

Часть четвертая:
- Считывание  с порта USB компьютера 2 информации об изображении передаваемом по USB кабелю с компьютера 1  и запись ее в текстовый файл - точную копию файла, сформированного в части 2 задачи.

Часть пятая:
- Вывести на дисплей компьютера рисунок или фотографию закодированную в созданном файле (преобразовать информацию цифрового бинарного кода файла в пиксели изображения). 

 Ваше слово,  Grey!
 
Название: Re: Преобразование изображения в код
Отправлено: Grey от 14 Ноябрь 2013 г., 19:13:58
Цитировать
Часть вторая:
- полученный цифровой массив записать в текстовый файл
Мы не можем цифровой массив записать в текстовый файл. Нужно из массива взять символ преобразовать в текст, сохранить в память. Взять следующий символ, преобразовать, сохранить.
Сохранить из памяти в файл.
На это нужно время.
Да и не массив, не текстовый файл к бинарному коду ни каким боком не относится.
А хотелось бы бинарный код. В моей программе бинарного кода нету :)
Цитировать
Часть первая:
- сканирование  графического файла (gif или jpg или bmp)
У меня устаревший компилятор. Gif не понимает. А разбираться в формате нет желания.
Jpg возможно, но сложно.
Цитировать
Часть третья
- Считать информацию из текстового файла созданного в части 1 задачи и выводить ее с большой скоростью (1 мбит/с) на порт USB.
Можете. Но без меня. Я драйвера не пишу.
Также на таких скоростях будут проблемы с помехами. В коде нету проверки правильности данных.
Цитировать
Часть четвертая:
- Считывание  с порта USB компьютера 2
Зачем второй комп?
Название: Re: Преобразование изображения в код
Отправлено: Zеt от 15 Ноябрь 2013 г., 08:25:23
Цитировать
Часть вторая:
- полученный цифровой массив записать в текстовый файл
Мы не можем цифровой массив записать в текстовый файл. Нужно из массива взять символ преобразовать в текст, сохранить в память. Взять следующий символ, преобразовать, сохранить.

Именно так. Куда нам спешить.

Цитировать
Часть первая:
- сканирование  графического файла (gif или jpg или bmp)
У меня устаревший компилятор. Gif не понимает. А разбираться в формате нет желания.
Jpg возможно, но сложно.
[/quote]

Я то подумал можно работать напрямую с видеоадаптером. Считывать пиксели аналогично клавиатурной функции  принтскрин.

Цитировать
Часть третья
- Считать информацию из текстового файла созданного в части 1 задачи и выводить ее с большой скоростью (1 мбит/с) на порт USB.[/

Можете. Но без меня. Я драйвера не пишу.
Также на таких скоростях будут проблемы с помехами. В коде нету проверки правильности данных.

Правильность передачи/приема данных совершенно не важна. Важно лишь расположить строку точно под строкой. Потеря или искажение информации на качество изображения повлияет несущественно.

Цитировать
Часть четвертая:
- Считывание  с порта USB компьютера 2

Зачем второй комп?

Второй комп для того, чтобы зафиксировать (когда второй комп отобразит рисунок, переданный ему по USB с первого компа) факт выполнения программной части задачи .
Название: Re: Преобразование изображения в код
Отправлено: Grey от 17 Ноябрь 2013 г., 19:44:03
Цитировать
Я то подумал можно работать напрямую с видеоадаптером. Считывать пиксели аналогично клавиатурной функции  принтскрин.
Не знаю насчет принтскрин, но я и так пописсельно считываю, и если пиксель черный добавляю в текст единицу, иначе ноль.
Попиксильное сканирование даже на ассемблере долго происходит.
Цитировать
Второй комп для того, чтобы зафиксировать (когда второй комп отобразит рисунок, переданный ему по USB с первого компа) факт выполнения программной части задачи .
На одном компе это сделать нельзя? Запустить вторую программу?
Название: Re: Преобразование изображения в код
Отправлено: Zеt от 17 Ноябрь 2013 г., 20:33:38

Не знаю насчет принтскрин, но я и так пописсельно считываю, и если пиксель черный добавляю в текст единицу, иначе ноль.
Попиксильное сканирование даже на ассемблере долго происходит.

Да, опять же, здесь неважна скорость, хоть полчаса один рисунок сканируется. Это можно сделать заранее. Главное результат преобразования - файл.

Цитировать
Второй комп для того, чтобы зафиксировать (когда второй комп отобразит рисунок, переданный ему по USB с первого компа) факт выполнения программной части задачи .
На одном компе это сделать нельзя? Запустить вторую программу?


Не наглядно на одном. Все процессы как бы внутри. А здесь через кабель. В поле  на практике именно так это и будет происходить. Второй комп отображает рисунок, передаваемый с первого компа. В паузах между передачей наших блоков ОНИ, возможно, вставят свой рисунок-ответ.
Название: Re: Преобразование изображения в код
Отправлено: Grey от 18 Ноябрь 2013 г., 00:34:57
Цитировать
Не наглядно на одном.
В чем не наглядно?
Для отслеживания за длительными процессами есть компонент ProgressBar. Так называемая линия/шкала загрузки.
И как я выше писал, правое поле в программе для удобства. Для отладки.
В программе это поле не нужно. Но можно его оставить и при длительных процессах выводить туда информацию.
Название: Re: Преобразование изображения в код
Отправлено: Zеt от 18 Ноябрь 2013 г., 21:04:48
Цитировать
Не наглядно на одном.
В чем не наглядно?
Для отслеживания за длительными процессами есть компонент ProgressBar. Так называемая линия/шкала загрузки.
И как я выше писал, правое поле в программе для удобства. Для отладки.
В программе это поле не нужно. Но можно его оставить и при длительных процессах выводить туда информацию.

Да я не против, если гарантирована 100% работоспособность обеих программ.