Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
EdMi4
3 / 3 / 1
Регистрация: 12.05.2011
Сообщений: 118
1

Алогоритм построения изображения

17.09.2011, 04:10. Просмотров 1024. Ответов 12
Метки нет (Все метки)

Мы с другом вчера заключили пари: у кого алгоритм построения изображения будет хуже, тот и проставляется Вобщем нужно написать 2 библеотеки, одна библеотека для экспорта другая для импорта. Написал простенький алгоритм построения:
16x16

1x1 (R 0; G 0; B 0; )
1x2 (R 8; G 8; B 8; )
1x3 (R 13; G 7; B 7; )
1x4 (R 68; G 62; B 62; )
1x5 (R 88; G 79; B 80; )
1x6 (R 85; G 75; B 76; )
1x7 (R 85; G 73; B 75; )
1x8 (R 109; G 94; B 97; )
1x9 (R 197; G 91; B 94; )
1x10 (R 91; G 70; B 75; )
1x11 (R 85; G 63; B 66; )
1x12 (R 43; G 73; B 15; )
1x13 (R 14; G 74; B 14; )
1x14 (R 34; G 41; B 75; )
1x15 (R 32; G 34; B 54; )
1x16 (R 65; G 76; B 78; )
Я назвал его SeaFight(Морской бой) так как каждый пиксель отмечается номером ряда на номер положения. Первая строчка показывает разрешающую способность изображения. В данном случае изображение у нас 16х16. (указал только первый ряд остальные лень писать было)

Потом идет строчка 1x1 (R 0; G 0; B 0; ) :

Первая цифра указывает на ряд (ряды считаются с верху в низ) вторая цифра это положение пиксела (считается с лева на право) в скобках передаются значения 3 цветов в пикселе RGB. Вообщем для импорта мне надо чтобы библеотека построчно считывала файл а готовое изоражение передавала в программу, а для экспорта мне нужно чтобы библеотека Переводила изображение в построчный текстовый файл со своим расширением.

Как мне это дело организовать

Добавлено через 11 минут
Если есть идеи на счет улучшения алгоритма отпишитесь
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.09.2011, 04:10
Ответы с готовыми решениями:

Составить программу построения изображения n квадратов
Составить программу построения изображения n квадратов: квадраты вписаны друг в друга так, что...

Написать и прокомментировать код построения изображения
.......

Разработать программу для построения изображения.
Разработать программу для построения изображения.. Закрасить и заштриховать изображение!!!...

Составить программу для построения простого изображения
Составить программу для построения простого изображения (Космической станции)

Преобразование файла в массив бит для построения изображения
Добрый день. Только начинаю изучать C# и текущая задача поставила меня в ступор. Имеется файл,...

12
Денис Н.
459 / 459 / 23
Регистрация: 17.08.2011
Сообщений: 1,489
17.09.2011, 04:14 2
у тебя сложность алгоритма порядка n^2. Есть над чем подумать
0
EdMi4
3 / 3 / 1
Регистрация: 12.05.2011
Сообщений: 118
17.09.2011, 04:20  [ТС] 3
Хм, я в этом деле еще новичок, это значит что алгоритм сложный?

Добавлено через 2 минуты
Кстати, хоть изображение с разрешающей способностью 1360х768 будет весить порядка 2-3 мб его можно будет хорошо сжать WinRar'ом

Добавлено через 32 секунды
Так как по сути изображение состовляет текст.
0
Денис Н.
459 / 459 / 23
Регистрация: 17.08.2011
Сообщений: 1,489
17.09.2011, 04:21 4
сложный, но есть и проще, например порядка log(n) -- логарифмическая сложность, а есть и сложнее, например порядка n! - факториальная сложность.
Но не расстраивайся. Бывает и так, что для небольшого входного набора данных более сложный алгоритм может оказаться эффективнее менее сложного
0
17.09.2011, 04:21
EdMi4
3 / 3 / 1
Регистрация: 12.05.2011
Сообщений: 118
17.09.2011, 04:23  [ТС] 5
Цитата Сообщение от Денис Н. Посмотреть сообщение
сложный, но есть и проще, например порядка log(n) -- логарифмическая сложность, а есть и сложнее, например порядка n! - файториальная сложность.
Но не расстраивайся. Бывает и так, что для небольшого входного набора данных более сложный алгоритм может оказаться эффективнее менее сложного
Я написал то на что ума хватило
1
Денис Н.
459 / 459 / 23
Регистрация: 17.08.2011
Сообщений: 1,489
17.09.2011, 04:26 6
молодец! теперь посмотрим, что напишет твой друг=)
0
EdMi4
3 / 3 / 1
Регистрация: 12.05.2011
Сообщений: 118
17.09.2011, 04:29  [ТС] 7
Так дело то не в том что надо просто написать алгоритм, его надо интегрировать в программу а для этого нужно написать 2 библеотеки. Я за этим сюда и пришел. Я вообще совсем недавно начал заниматся програмированием и незнаю как построчно прочитать файл
0
Памирыч
Почетный модератор
20926 / 8810 / 1080
Регистрация: 11.04.2010
Сообщений: 11,013
17.09.2011, 04:33 8
Цитата Сообщение от EdMi4 Посмотреть сообщение
незнаю как построчно прочитать файл
Может, тут что найдется

EdMi4,
Денис Н.,
Уточняю: Вы на каком языке пишете?
0
EdMi4
3 / 3 / 1
Регистрация: 12.05.2011
Сообщений: 118
17.09.2011, 05:13  [ТС] 9
Цитата Сообщение от Памирыч Посмотреть сообщение
EdMi4,
Денис Н.,
Уточняю: Вы на каком языке пишете?
Vb.Net

Добавлено через 20 минут
Цитата Сообщение от Памирыч Посмотреть сообщение
незнаю как построчно прочитать файл
Может, тут что найдется
Нужно не только прочитать файл но и по алгоритму составить изображение
0
EdMi4
3 / 3 / 1
Регистрация: 12.05.2011
Сообщений: 118
17.09.2011, 05:25  [ТС] 10
Вот допустим у меня изображение 3х3 пексела.
3x3

1х1(R 255; G 255; B 255; )
1х2(R 255; G 255; B 255; )
1х3(R 255; G 255; B 255; )


2х1(R 0; G 0; B 255; )
2х2(R 0; G 0; B 255; )
2х3(R 0; G 0; B 255; )


3х1(R 255; G 0; B 0; )
3х2(R 255; G 0; B 0; )
3х3(R 255; G 0; B 0; )
Мне нужно чтобы программа прочитала файл и вывела вот такое изображение:
0
Изображения
 
Денис Н.
459 / 459 / 23
Регистрация: 17.08.2011
Сообщений: 1,489
17.09.2011, 05:39 11
Цитата Сообщение от EdMi4 Посмотреть сообщение
3x3
1х1(R 255; G 255; B 255; )
1х2(R 255; G 255; B 255; )
1х3(R 255; G 255; B 255; )
2х1(R 0; G 0; B 255; )
2х2(R 0; G 0; B 255; )
2х3(R 0; G 0; B 255; )
3х1(R 255; G 0; B 0; )
3х2(R 255; G 0; B 0; )
3х3(R 255; G 0; B 0; )
Кстати, советую привести формат файла, убрав из него избыточную информацию, усложняющую алгоритм распознавания, вот к такому виду
Код
255 255 255;
255 255 255;
255 255 255;

0 0 255;
0 0 255;
0 0 255;

255 0 0;
255 0 0;
255 0 0;
0
EdMi4
3 / 3 / 1
Регистрация: 12.05.2011
Сообщений: 118
17.09.2011, 06:44  [ТС] 12
Не, непойдет.

Программа несможет опредилить где тут 1 ряд пикселей а где второй.

Можно сделать так:


1, 1, R, 0, G, 0, B 0
1, 2, R, 0, G, 0, B 0
1, 3, R, 0, G, 0, B 0

2, 1, R, 0, G, 0, B 0
2, 2, R, 0, G, 0, B 0
2, 3, R, 0, G, 0, B 0

3, 1, R, 0, G, 0, B 0
3, 2, R, 0, G, 0, B 0
3, 3, R, 0, G, 0, B 0
0
Денис Н.
459 / 459 / 23
Регистрация: 17.08.2011
Сообщений: 1,489
17.09.2011, 14:58 13
по комбинации ; и двух маркеров NL программа должны безошибочно определять границы рядов.
Пошаговую смену цветовой компоненты же она определяет по наличию пробела между цифровыми составляющими.
Код
255 255 255;
255 255 255;
0 0 255;

0 0 255;
0 0 255;
255 0 0;

255 0 0;
255 0 0;
255 0 0;
1
17.09.2011, 14:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.09.2011, 14:58

user control, масштабирование изображения - Путь построения приложения
Добрый всем денек, нужно определиться с путем построения приложения. Задача: есть база данных, из...

Разработать алгоритм и составить программу для построения на экране изображения
Разработать алгоритм и составить программу для построения на экране изображения В качестве...

Разработать алгоритм и составить программу для построения на экране изображения
Разработать алгоритм и составить программу для построения на экране изображения В качестве...


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

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

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