Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
slavapavlovsk
0 / 0 / 0
Регистрация: 16.05.2012
Сообщений: 3
#1

как изображения конвертировать в текстовый файл - C++

27.06.2013, 15:17. Просмотров 613. Ответов 8
Метки нет (Все метки)

здравствуйте...

Я вообще не программист, даже близко не стаю, вот поэтому прошу помощи у знающих людей...

http://www.cyberforum.ru/cpp-beginners/thread332827.html
Расскажу для чего это, что бы понять, чем я занимаюсь вообще:

Все наверно знают, что такое ЧПУ, так у меня есть маленький прототип этого аппарата, собранный из кусков старого принтера...

А в голове присоединен двух ваттный лазер...

вот, чтобы все эта работала, мне нужен массив, например: 1 строка 1 столбик обработать 2 сек., 1 строка 2 столбик пять сек. и так далее....

Вот поэтому мне нужна прога, чтобы конвертировать изображение в массив...

всперва надо сжать изображение до размеров ммм ну скажем 400х300 пик.
, потом надо применить инструмент серый оттенок, что-бы составляющие RGB были одинаковые
...

и наконец вывести все это в txt формат...


на какой среде мне писать все это?
вобщем укажите дорогу
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.06.2013, 15:17
Я подобрал для вас темы с готовыми решениями и ответами на вопрос как изображения конвертировать в текстовый файл (C++):

Создать текстовый файл, содержащий изображения чисел, расположенные в два столбц
Текст задачи Даны два файла целых чисел одного размера с именами Name1 и...

Как конвертировать файл в base64?
Подскажите, пожалуйста, как конвертировать файл в кодировку base64 или ссылку...

Дан текстовый файл, содержащий целые числа. Определить в каждой четной строке максимальное число и записать результаты в новый текстовый файл
Дан текстовый файл, содержащий целые числа. Определить в каждой четной строке...

Файл: Есть 5 классов, как их записать в текстовый файл?
Ребята пожалуйста кто знает как разобраться с файлами. Есть 5 классов как их...

Дано число k (< 10) и текстовый файл, содержащий более k строк. Создать новый текстовый файл, содержащий k последних строк исходного файла
Дано число k (&lt; 10) и текстовый файл, содержащий более k строк. Создать новый...

8
gazlan
3139 / 1915 / 311
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
27.06.2013, 17:55 #2
Цитата Сообщение от slavapavlovsk Посмотреть сообщение
сперва надо сжать изображение до размеров ммм ну скажем 400х300 пик., потом надо применить инструмент серый оттенок, что-бы составляющие RGB были одинаковые
В любом графическом редакторе. IrfanView, например.

и, наконец, вывести все это в txt формат
это - это что? Уровень серого?

Я бы конвертировал в .BMP без компресии и отрезал заголовок. Оставшееся будет набором строк в обратном порядке.

С примерами кода:
BMP
Описание формата BMP
1
slavapavlovsk
0 / 0 / 0
Регистрация: 16.05.2012
Сообщений: 3
28.06.2013, 02:32  [ТС] #3
Цитата Сообщение от gazlan Посмотреть сообщение


это - это что? Уровень серого?

Я бы конвертировал в .BMP без компресии и отрезал заголовок. Оставшееся будет набором строк в обратном порядке.

С примерами кода:
BMP
Описание формата BMP


да, мне нужен только уровень серого...

Потому что мне нужна черно-белый рисунок))
0
abit
272 / 271 / 83
Регистрация: 03.02.2013
Сообщений: 770
28.06.2013, 02:47 #4
Цитата Сообщение от gazlan Посмотреть сообщение
Я бы конвертировал в .BMP без компресии и отрезал заголовок. Оставшееся будет набором строк в обратном порядке
а я бы забил на эту идею и ирфанвью вместе взятый
а взял бы RIP-процессор (raster image processor)
например из ghostscript
у него в параметрах можно задать и resize до нужной картинки и graymap и большую кучу растровых форматов на вывод
и даже не надо никаких программ открывать - всё можно сделать одной операцией в консоль, например через system или ручками

а то что автору нужно - называется формат Portable anymap, а точнее ему нужен PGM, который тоже поддерживается в ghostscipt
0
gazlan
3139 / 1915 / 311
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
28.06.2013, 03:38 #5
Цитата Сообщение от abit Посмотреть сообщение
точнее ему нужен PGM
Кроме порядка строк, это чем-то отличается от того, что предложено выше?
0
abit
272 / 271 / 83
Регистрация: 03.02.2013
Сообщений: 770
28.06.2013, 09:41 #6
Цитата Сообщение от gazlan Посмотреть сообщение
Кроме порядка строк, это чем-то отличается от того, что предложено выше?
PGM то? да, у него есть режимы P1-P3 которые позволяют сразу создать аля-txt формат, а не бинарный поток
кстати в некоторых BMP к тому же допускает RLE и Хафман, не знаю чего там ирфанвью накодирует
зачем автору со всем этим возиться, если сразу можно получить текстовую таблицу в graymap 400x300 одной командой
0
SatanaXIII
Супер-модератор
Эксперт С++
5765 / 2763 / 374
Регистрация: 01.11.2011
Сообщений: 6,717
Завершенные тесты: 1
28.06.2013, 11:26 #7
Цитата Сообщение от abit Посмотреть сообщение
а взял бы RIP-процессор (raster image processor)
Бытует мнение, что ТС уже собрал железяку и хочет именно на ней замутить какое-то неведомое действие (выжигание?).

Цитата Сообщение от slavapavlovsk Посмотреть сообщение
например: 1 строка 1 столбик обработать 2 сек., 1 строка 2 столбик пять сек. и так далее....
Как я понял вы хотите, чтобы лазер вашего франкенштейновского принтера в установился в позицию тождественную первой ячейке массива, поработал там некоторое время, затем сместился в следующую ячейку, там поработал и далее так попиксельно до конца массива? Где при этом индексы текущей строки и столбца массива передавать на двигатели головки, а интенсивность оттенка серого в данной ячейке являлась бы временем работы лазера в этой ячейке.

Цитата Сообщение от slavapavlovsk Посмотреть сообщение
на какой среде мне писать все это?
А это смотря как у вас реализовано взаимодействие с принтером.
0
abit
272 / 271 / 83
Регистрация: 03.02.2013
Сообщений: 770
28.06.2013, 12:05 #8
Цитата Сообщение от SatanaXIII Посмотреть сообщение
Бытует мнение, что ТС уже собрал железяку и хочет именно на ней замутить какое-то неведомое действие
я говорил о программном RIP-процессоре, вовсе не надо специальных железок, к тому же ghostscript можно собрать под много платформ
чё он там задумал, представления не имею, хотя 7 лет работаю в области станкостроения с УЧПУ и делал, например, литографическую установку для получения 1 мкм дорожек на фотошаблонах, ghostscript под linux чудесно справился с выдачей 10Гигабайтных сырых потоков на лазер с качающемся зеркалом
а как там быстро динамически можно изменять интенсивность лазера - не представляю, обычно там либо есть сигнал (включен лазер) либо нет а время экспозиции весьма условна, там сильная нелинейность от времени
0
SatanaXIII
Супер-модератор
Эксперт С++
5765 / 2763 / 374
Регистрация: 01.11.2011
Сообщений: 6,717
Завершенные тесты: 1
28.06.2013, 12:20 #9
Цитата Сообщение от abit Посмотреть сообщение
7 лет работаю в области станкостроения с УЧПУ и делал, например, литографическую установку для получения 1 мкм дорожек на фотошаблонах, ghostscript под linux чудесно справился с выдачей 10Гигабайтных сырых потоков на лазер с качающемся зеркалом
Вот используя свой опыт поясните пожалуйста ТС как ему следует поступить, учитывая, что в его распоряжении имеется только то оборудование, которое он описал. С чего начать, на чем писать, какие подводные камни его ожидают.

Цитата Сообщение от abit Посмотреть сообщение
как там быстро динамически можно изменять интенсивность лазера - не представляю, обычно там либо есть сигнал (включен лазер) либо нет
Именно этим, временем включения лазера, он и хочет отображать интенсивность пикселя. То есть, к примеру, если в текущем элементе массива расположилось цифра 3, то лазер будет работать три секунды. А если в массиве цифра 9, то соответственно девять секунд. В итоге получится, что место, выжигаемое три секунды, будет светлее то, которое выжигалось девять.
0
28.06.2013, 12:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.06.2013, 12:20
Привет! Вот еще темы с решениями:

Текстовый файл - как ресурс
Не будем тянуть кота за яица, так что вопрос в следующем - как включить...

Как открыть текстовый файл
С помощью OpenFileDialog получаю имя файла, как дальше его открыть? Свойство...

Как открыть текстовый файл в с++
В общем, прошу помочь понять эту часть. Задача состоит в том, что нужно...

Как можно считать файл *.pas или *.cpp как текстовый ?
ifstream abc (&quot;*.pas&quot;,ios::text); не работает, ибо у ios нет параметра text


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru