Автор |
Сообщение |
sever Продвинутый форумчанин |
|
Здравствуйте.
Интересует софт который может перегнать изображение в двоичную
последовательнось . А ещё лучше если есть програмеры которые
подскажут, как процедура называется по "научному" что-бы погуглить
как сделать самому, или библиотеку на C++.
П.С. Изображение нужно перекодировать и отправить на станок в годном для него виде. |
|
|
|
|
woddy Гуру Предупреждений : 1
|
|
|
|
|
sever Продвинутый форумчанин |
|
Я наверно не подробно написал. Дело не в формате входящего файла,
его я не указал т.к. ещё не определился. Мне нужно файл некоего формата
переработать в двоичный код с применением определённых алгоритмов,
что-бы контроллер в станке смог работать с этим кодом.
// так а формат данных для станка то известен или надо будет выяснять реверсинжинирингом и методом научного тыка? |
|
|
|
|
woddy Гуру Предупреждений : 1
|
|
для того чтоб переработать файл некоего формата некоторыми алгоритмами нужна некоторая программа |
|
|
|
|
sever Продвинутый форумчанин |
|
писал(а): |
// так а формат данных для станка то известен или надо будет выяснять реверсинжинирингом и методом научного тыка? |
Да, вид к которому нужно привести данные известен. Но меня больше интересуют именно способы.
woddy писал(а): |
для того чтоб переработать файл некоего формата некоторыми алгоритмами нужна некоторая программа |
С форматом определюсь когда будет алгоритм. Для этого хочу посмотреть как люди делают.
Для этого и спрашиваю софт или библиотеку в C++. Т.е. меня интересует программа которая
переводит картинки в последовательность циферок
И формат входной и выходной тут не главное. |
|
|
|
|
woddy Гуру Предупреждений : 1
|
|
а разве .jpeg или .bmp это не последовательность цифр? стандарты утверждены еще в 198х годах
sever писал(а): |
Т.е. меня интересует программа которая
переводит картинки в последовательность циферок |
.png |
Описание: |
|
Размер файла: |
256.65 KB |
Просмотрено: |
318 раз(а) |
|
|
|
|
|
|
r21514 Продвинутый форумчанин Предупреждений : 1
|
|
sever, как раз ВЫХОДной формат это самое главное. Что твоему станку надо передавать? Грубо говоря RGB матрицу с пикселями или список векторов? Это же принципиально разные вещи, а о них ничего не сказано.
Под виндой перегнать растровую картинку в матрицу циферок это 5-10 строчек на любом языке.
А если речь про векторы, то проблема усложняется раз эдак в сто. |
|
|
|
|
woddy Гуру Предупреждений : 1
|
|
r21514 писал(а): |
А если речь про векторы, но проблема усложняется раз эдак в сто. |
vector magic на рутрекере дает неплохой результат |
|
|
|
|
ДобрыйФей Мечтатель Предупреждений : 5
|
|
sever писал(а): |
Т.е. меня интересует программа которая
переводит картинки в последовательность циферок |
Любая цифровая информация суть есть последовательность циферок - нулей и единиц, поэтому она, собственно, и называется цифровой, улавливаешь?
Судя по всему - нет, не улавливаешь. |
|
|
|
|
sever Продвинутый форумчанин |
|
woddy писал(а): |
а разве .jpeg или .bmp это не последовательность цифр? стандарты утверждены еще в 198х годах
sever писал(а): |
Т.е. меня интересует программа которая
переводит картинки в последовательность циферок |
|
Я и не спорю. Вопрос вот только не в стандартах форматов и не форматах вообще. |
|
|
|
|
sever Продвинутый форумчанин |
|
r21514 писал(а): |
sever, как раз ВЫХОДной формат это самое главное. Что твоему станку надо передавать? Грубо говоря RGB матрицу с пикселями или список векторов? Это же принципиально разные вещи, а о них ничего не сказано.
Под виндой перегнать растровую картинку в матрицу циферок это 5-10 строчек на любом языке.
А если речь про векторы, то проблема усложняется раз эдак в сто. |
Если не сложно, то любой из известных вам способов. |
|
|
|
|
sever Продвинутый форумчанин |
|
ДобрыйФей писал(а): |
sever писал(а): |
Т.е. меня интересует программа которая
переводит картинки в последовательность циферок |
Любая цифровая информация суть есть последовательность циферок - нулей и единиц, поэтому она, собственно, и называется цифровой, улавливаешь?
Судя по всему - нет, не улавливаешь. |
Как ни странно да цифровая информация состоит из цифр. Но вопрос не об этом. |
|
|
|
|
ДобрыйФей Мечтатель Предупреждений : 5
|
|
sever писал(а): |
Но вопрос не об этом. |
RLY?
sever писал(а): |
Интересует софт который может перегнать изображение в двоичную последовательнось |
Цифровое изображение уже является двоичной последовательностью. Тему можно закрывать?
Я вопроса вменяемого вообще не увидел - неизвестно что перегнать неизвестно чем неизвестно куда. Прям сказка про Андрея-стрельца.
Возьми спецификацию входного формата, возьми спецификацию выходного, изучи, напиши конвертер. |
|
|
|
|
r21514 Продвинутый форумчанин Предупреждений : 1
|
|
sever писал(а): |
Если не сложно, то любой из известных вам способов. |
Серьёзно что ли? Ну ладно...
Код: |
uses Windows, SysUtils, Classes, Graphics;
function Byte2Bin(v:byte):string;
var i:integer;
begin
SetLength(Result,8);
for i:=1 to 8 do if (v shl (i-1) and $ff) shr 7 = 0 then Result[i]:='0' else Result[i]:='1';
end;
var b:TBitmap; l:TStringList; x,y:integer; c:TColor; s:string;
begin
b:=TBitmap.Create;
b.LoadFromFile('C:\Temp\1.bmp');
l:=TStringList.Create;
for y:=0 to b.Height-1 do
begin
s:='';
for x:=0 to b.Width-1 do
begin
c:=b.Canvas.Pixels[x,y];
//s:=s+Format('(%d,%d,%d) ',[GetRValue(c),GetGValue(c),GetBValue(c)]); <- в байтах
s:=s+Byte2Bin(GetRValue(c))+' '+Byte2Bin(GetGValue(c))+' '+Byte2Bin(GetBValue(c))+' ';
end;
l.Add(s);
end;
l.SaveToFile('C:\Temp\1.txt');
end. |
Результат в битах (+ в байтах) |
|
|
|
|
sever Продвинутый форумчанин |
|
r21514 писал(а): |
sever писал(а): |
Если не сложно, то любой из известных вам способов. |
Серьёзно что ли? Ну ладно...
Код: |
uses Windows, SysUtils, Classes, Graphics;
function Byte2Bin(v:byte):string;
var i:integer;
begin
SetLength(Result,8);
for i:=1 to 8 do if (v shl (i-1) and $ff) shr 7 = 0 then Result[i]:='0' else Result[i]:='1';
end;
var b:TBitmap; l:TStringList; x,y:integer; c:TColor; s:string; // Переменные
begin
b:=TBitmap.Create; // Создаём битовое поле b
b.LoadFromFile('C:\Temp\1.bmp'); // Загружаем из файла
l:=TStringList.Create; // Создаём массив строк l
for y:=0 to b.Height-1 do // Столбец (Координаты пикселя по высоте)
begin
s:=''; // Очищаем s пишем пробел
for x:=0 to b.Width-1 do // Строка (Координаты пикселя по ширине)
begin
c:=b.Canvas.Pixels[x,y]; // Получаем цвет пикселя расположенного по координатам
//s:=s+Format('(%d,%d,%d) ',[GetRValue(c),GetGValue(c),GetBValue(c)]); <- в байтах
s:=s+Byte2Bin(GetRValue(c))+' '+Byte2Bin(GetGValue(c))+' '+Byte2Bin(GetBValue(c))+' '; // Записываем в s Цвет пикселя
end;
l.Add(s); // Дописываем строку
end;
l.SaveToFile('C:\Temp\1.txt'); // Сохранить файл
end. |
Результат в битах (+ в байтах) |
Спасибо за ответ. Именно о подобном функционале как в классе TBitmap я и спрашивал.
Правда с Делфи я раньше не сталкивался, оказалось приятный язык. Может освою.
П.С. Часть кода я закоментил, вдруг кому пригодиться. |
|
|
|
|
Kivin248 Гуру |
|
sever писал(а): |
Спасибо за ответ. Именно о подобном функционале как в классе TBitmap я и спрашивал. |
Как в том бородатом анекдоте:
"...
- Папа, а что это было?
- Море, сынок..."
и это нефига не оффтоп |
|
|
|
|
sever Продвинутый форумчанин |
|
Kivin248 писал(а): |
sever писал(а): |
Спасибо за ответ. Именно о подобном функционале как в классе TBitmap я и спрашивал. |
Как в том бородатом анекдоте:
"...
- Папа, а что это было?
- Море, сынок..."
и это нефига не оффтоп |
Если ты сморозил какую—то глупость, широко улыбнись — по крайней мере все будут помнить, что ты приветливый... |
|
|
|
|
Dmitriy Продвинутый форумчанин |
|
Kivin248 писал(а): |
... а что это было?...
|
толи жирное трололо
толи афтару религия не позволяет выговаривать внекоторые буквы и цифры
по факту конечно забавная попытка сломать мозг контингента требованием
конвертировать метры в килограммы
странно что в итоге пациент признал что якобы всего то хотел
хекс в бин |
|
|
|
|
sham ум, честь, совесть эпохи! Предупреждений : 4
|
|
delПоследний раз редактировалось: sham (Ср 23-03-22 : 02-55), всего редактировалось 1 раз |
|
|
|
|
Nexus Форумчанин |
|
G-код что-ли тебя интересует ?, если да ищи все для CNC
ArtCam, FlatCam, Mach3 и т.д. |
|
|
|
|
|