За какое время можно повторить рисунок? (большой картинк)
От: stonehenge.architecture.01  
Дата: 06.02.13 10:34
Оценка:
  КАРТИНКА размером 4802×2401 пиксел и массой 1.6 мегабайт


09.02.13 22:29: Перенесено модератором из 'Философия программирования' — WolfHound
Картинка убрана под кат — Кодт
Re: За какое время можно повторить рисунок? (большой картинк)
От: Географ Россия нет
Дата: 06.02.13 10:42
Оценка:
Здравствуйте, stonehenge.architecture.01, Вы писали:

SA0>Изображение из соображений гуманности не показано.


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

Если нужно создать новый файл с теми-же параметрами, то ответ примерно тот-же: создать и показать картинку будет много быстрее, чем её сохранить.
Re: За какое время можно повторить рисунок? (большой картинк)
От: Sinix  
Дата: 06.02.13 10:48
Оценка:
Здравствуйте, stonehenge.architecture.01, Вы писали:

>За какое время можно повторить рисунок?

Если положиться на рандом — практически моментально, всего 2^(4802*2401) итераций в худшем случае.
Re[2]: За какое время можно повторить рисунок? (большой картинк)
От: stonehenge.architecture.01  
Дата: 06.02.13 10:49
Оценка:
Здравствуйте, Географ, Вы писали:

Г>Здравствуйте, stonehenge.architecture.01, Вы писали:


SA0>>Изображение из соображений гуманности не показано.


Г>Если вопрос о том, что нужно считать этот файл, создать того же размера буфер и скопировав все биты, сохранить, то самой короткой операцией будет копирование памяти.


Потому-что её нельзя сжать?
Re[2]: За какое время можно повторить рисунок? (большой картинк)
От: stonehenge.architecture.01  
Дата: 06.02.13 10:58
Оценка:
Здравствуйте, Sinix, Вы писали:

S>Здравствуйте, stonehenge.architecture.01, Вы писали:


>>За какое время можно повторить рисунок?

S>Если положиться на рандом — практически моментально, всего 2^(4802*2401) итераций в худшем случае.

У меня 7^8 шагов вычислений по формуле a[i+8]=(4*a[i+0]+1*a[i+2]+4*a[i+3]+2*a[i+5]+a[i+7]) mod 7. (остаток от деления на 7)

Это занимает 10 секунд на цикл. У меня эту процедуру нужно производить для каждой классифицируемой точки.

Можно как-то оптимизировать алгоритм что-бы было не больше 10 миллисекунд?
Re[3]: За какое время можно повторить рисунок? (большой картинк)
От: Melkor http://spacephys.ru
Дата: 06.02.13 12:56
Оценка:
Здравствуйте, stonehenge.architecture.01, Вы писали:

SA0>Здравствуйте, Sinix, Вы писали:


S>>Здравствуйте, stonehenge.architecture.01, Вы писали:


>>>За какое время можно повторить рисунок?

S>>Если положиться на рандом — практически моментально, всего 2^(4802*2401) итераций в худшем случае.

SA0>У меня 7^8 шагов вычислений по формуле a[i+8]=(4*a[i+0]+1*a[i+2]+4*a[i+3]+2*a[i+5]+a[i+7]) mod 7. (остаток от деления на 7)


SA0>Это занимает 10 секунд на цикл. У меня эту процедуру нужно производить для каждой классифицируемой точки.


SA0>Можно как-то оптимизировать алгоритм что-бы было не больше 10 миллисекунд?


Распараллелить, если Вы уверены что правильно работаете с картинкой.
Всякий GPGPU с такой задачей может справится.
Re: За какое время можно повторить рисунок? (большой картинк)
От: minorlogic Украина  
Дата: 06.02.13 21:57
Оценка: +1
Здравствуйте, stonehenge.architecture.01, Вы писали:

Изложите вопрос более подробно.
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[2]: За какое время можно повторить рисунок? (большой картинк)
От: stonehenge.architecture.01  
Дата: 06.02.13 23:35
Оценка:
Здравствуйте, minorlogic, Вы писали:

M>Здравствуйте, stonehenge.architecture.01, Вы писали:


M>Изложите вопрос более подробно.


Есть некая формула для построения большой случайной картинки какую я показал. Формула сильно медленная, но результат хороший и его можно применять для тестирования мониторов. Тест пройдёт далеко не каждый монитор, у некоторых будет искажения этой однородной картинки при разном разрешении.
Re[3]: За какое время можно повторить рисунок?
От: Serg27  
Дата: 07.02.13 03:15
Оценка:
Здравствуйте, stonehenge.architecture.01, Вы писали:

SA0>Здравствуйте, minorlogic, Вы писали:


M>>Здравствуйте, stonehenge.architecture.01, Вы писали:


M>>Изложите вопрос более подробно.


SA0>Есть некая формула для построения большой случайной картинки какую я показал. Формула сильно медленная, но результат хороший и его можно применять для тестирования мониторов. Тест пройдёт далеко не каждый монитор, у некоторых будет искажения этой однородной картинки при разном разрешении.


Уже хорошо. Если еще разъяснить ваши слова из сообщения выше, то будет совсем хорошо:
"Это занимает 10 секунд на цикл. У меня эту процедуру нужно производить для каждой классифицируемой точки."

Что такое "цикл" и что такое "классифицируемая точка"?

P.S.
Стандартный ответ на вопросы, который сформулированы как ваш, — "телепатов здесь нет". Конечно это грубо... Но чем полнее и интересней сформулирован вопрос, тем больше и лучше будет ответов.
Re[4]: За какое время можно повторить рисунок?
От: stonehenge.architecture.01  
Дата: 07.02.13 08:12
Оценка:
Здравствуйте, Serg27, Вы писали:

S>Здравствуйте, stonehenge.architecture.01, Вы писали:


SA0>>Здравствуйте, minorlogic, Вы писали:


M>>>Здравствуйте, stonehenge.architecture.01, Вы писали:


M>>>Изложите вопрос более подробно.


SA0>>Есть некая формула для построения большой случайной картинки какую я показал. Формула сильно медленная, но результат хороший и его можно применять для тестирования мониторов. Тест пройдёт далеко не каждый монитор, у некоторых будет искажения этой однородной картинки при разном разрешении.


S>Уже хорошо. Если еще разъяснить ваши слова из сообщения выше, то будет совсем хорошо:

S>"Это занимает 10 секунд на цикл. У меня эту процедуру нужно производить для каждой классифицируемой точки."

S>Что такое "цикл" и что такое "классифицируемая точка"?


Цикл это последовательность имеющая начало и конец, от начала к концу можно продвигаться дискретными шагами. Номер шага — остаток от деления натурального числа на длину цикла. Это натуральное число постоянно возрастает на единицу.

Классифицируемая точка — точка в многомерном пространстве, для которой нужно уменьшить размерность путём применения цикла, т.е. вычисления максимума гистограммы скалярных произведений координат точки на координаты точек цикла.

Гистограмма — статистика значений скалярных произведений классифицируемой точки на каждую точку из цикла имеющая следующий вид

Re[3]: За какое время можно повторить рисунок? (большой картинк)
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 07.02.13 08:21
Оценка:
Здравствуйте, stonehenge.architecture.01, Вы писали:

SA0>Есть некая формула для построения большой случайной картинки какую я показал. Формула сильно медленная, но результат хороший и его можно применять для тестирования мониторов.


Во-первых, непонятно, почему нельзя сохранить картинку, а надо ее генерировать. Во-вторых, смотри в направлении OpenCL, что позволить заюзать видеокарты, несколько процов, ...
Re[4]: За какое время можно повторить рисунок? (большой картинк)
От: stonehenge.architecture.01  
Дата: 07.02.13 08:25
Оценка:
Здравствуйте, Mystic, Вы писали:

M>Здравствуйте, stonehenge.architecture.01, Вы писали:


SA0>>Есть некая формула для построения большой случайной картинки какую я показал. Формула сильно медленная, но результат хороший и его можно применять для тестирования мониторов.


M>Во-первых, непонятно, почему нельзя сохранить картинку, а надо ее генерировать. Во-вторых, смотри в направлении OpenCL, что позволить заюзать видеокарты, несколько процов, ...


Можно сделать и сохранение тоже. Просто у меня ещё и другое применение наметилось этой формулы — OLAP и DataMining — а там сохранить уже нельзя.
Re[3]: За какое время можно повторить рисунок? (большой карт
От: Кодт Россия  
Дата: 09.02.13 19:04
Оценка:
Здравствуйте, stonehenge.architecture.01, Вы писали:

SA0>Есть некая формула для построения большой случайной картинки какую я показал. Формула сильно медленная, но результат хороший и его можно применять для тестирования мониторов. Тест пройдёт далеко не каждый монитор, у некоторых будет искажения этой однородной картинки при разном разрешении.


А что за проблемы она отлавливает?

Мне почему-то кажется, что можно было взять несколько маленьких паттернов, каждый из которых провоцирует разного рода искажения — и замостить ими всю площадь экрана.
Если есть проблемы, специфичные для краёв и центра экрана — значит, мостить края и центр нужно разными паттернами.

Старые добрые настроечные таблицы Nokia Monitor Test и т.п. не использовали сильно медленные формы.
Перекуём баги на фичи!
Re[4]: За какое время можно повторить рисунок? (большой карт
От: stonehenge.architecture.01  
Дата: 09.02.13 19:36
Оценка:
Здравствуйте, Кодт, Вы писали:

К>Здравствуйте, stonehenge.architecture.01, Вы писали:


SA0>>Есть некая формула для построения большой случайной картинки какую я показал. Формула сильно медленная, но результат хороший и его можно применять для тестирования мониторов. Тест пройдёт далеко не каждый монитор, у некоторых будет искажения этой однородной картинки при разном разрешении.


К>А что за проблемы она отлавливает?


поскольку картинка теоретически сильно однородная, то, на практике, далеко не каждый монитор способен её корректно без искажений отобразить. Особенно сильные искажения будут в центре экрана. Это заметно невооруженным глазом при изменении разрешения экрана на большое 1600 на 1200.

К>Мне почему-то кажется, что можно было взять несколько маленьких паттернов, каждый из которых провоцирует разного рода искажения — и замостить ими всю площадь экрана.

К>Если есть проблемы, специфичные для краёв и центра экрана — значит, мостить края и центр нужно разными паттернами.

Нет. Несколько маленьких паттернов это уже не то. Каринка должна обладать целостностью.

К>Старые добрые настроечные таблицы Nokia Monitor Test и т.п. не использовали сильно медленные формы.
Re[5]: За какое время можно повторить рисунок? (большой карт
От: Кодт Россия  
Дата: 10.02.13 15:24
Оценка:
Здравствуйте, stonehenge.architecture.01, Вы писали:

К>>А что за проблемы она отлавливает?


SA0>поскольку картинка теоретически сильно однородная, то, на практике, далеко не каждый монитор способен её корректно без искажений отобразить. Особенно сильные искажения будут в центре экрана. Это заметно невооруженным глазом при изменении разрешения экрана на большое 1600 на 1200.


Какого рода искажения-то?

К>>Мне почему-то кажется, что можно было взять несколько маленьких паттернов, каждый из которых провоцирует разного рода искажения — и замостить ими всю площадь экрана.

К>>Если есть проблемы, специфичные для краёв и центра экрана — значит, мостить края и центр нужно разными паттернами.

SA0>Нет. Несколько маленьких паттернов это уже не то. Каринка должна обладать целостностью.


Картинка статическая, так что всякие фокусы с интерполяцией кадров, инерцией и памятью матрицы — мы исключаем.
Вопрос: будет ли экран искажать картинку, которую мы сделаем из твоей, но закрасим края чем попало и оставим только квадрат в центре?
Если нет, — то — здравствуйте, паттерны.
Если да, — то хотел бы узнать: как края изображения влияют на центр? В чём состоит эффект целостности?

Если вопрос лишь в том, что мы можем заметить либо не заметить искажения, — то давай закрасим края не чем попало, а повторением центрального куска. Единственно, что надо позаботиться о том, чтобы стыки плиток не бросались в глаза, либо предупредить пользователя, что на стыки не нужно обращать внимание.
Перекуём баги на фичи!
Re[6]: За какое время можно повторить рисунок? (большой карт
От: stonehenge.architecture.01  
Дата: 10.02.13 15:38
Оценка:
Здравствуйте, Кодт, Вы писали:

К>Здравствуйте, stonehenge.architecture.01, Вы писали:


К>>>А что за проблемы она отлавливает?


SA0>>поскольку картинка теоретически сильно однородная, то, на практике, далеко не каждый монитор способен её корректно без искажений отобразить. Особенно сильные искажения будут в центре экрана. Это заметно невооруженным глазом при изменении разрешения экрана на большое 1600 на 1200.


К>Какого рода искажения-то?


трудно объяснить точно. но что-то похожее на замыленное зеркало.

К>>>Мне почему-то кажется, что можно было взять несколько маленьких паттернов, каждый из которых провоцирует разного рода искажения — и замостить ими всю площадь экрана.

К>>>Если есть проблемы, специфичные для краёв и центра экрана — значит, мостить края и центр нужно разными паттернами.

SA0>>Нет. Несколько маленьких паттернов это уже не то. Каринка должна обладать целостностью.


К>Картинка статическая, так что всякие фокусы с интерполяцией кадров, инерцией и памятью матрицы — мы исключаем.

К>Вопрос: будет ли экран искажать картинку, которую мы сделаем из твоей, но закрасим края чем попало и оставим только квадрат в центре?
К>Если нет, — то — здравствуйте, паттерны.
К>Если да, — то хотел бы узнать: как края изображения влияют на центр? В чём состоит эффект целостности?

К>Если вопрос лишь в том, что мы можем заметить либо не заметить искажения, — то давай закрасим края не чем попало, а повторением центрального куска. Единственно, что надо позаботиться о том, чтобы стыки плиток не бросались в глаза, либо предупредить пользователя, что на стыки не нужно обращать внимание.


нет. только цельно.
Re[7]: За какое время можно повторить рисунок? (большой карт
От: Кодт Россия  
Дата: 10.02.13 18:27
Оценка: +1
Здравствуйте, stonehenge.architecture.01, Вы писали:

К>>Какого рода искажения-то?

SA0>трудно объяснить точно. но что-то похожее на замыленное зеркало.

К>>Если вопрос лишь в том, что мы можем заметить либо не заметить искажения, — то давай закрасим края не чем попало, а повторением центрального куска. Единственно, что надо позаботиться о том, чтобы стыки плиток не бросались в глаза, либо предупредить пользователя, что на стыки не нужно обращать внимание.


SA0>нет. только цельно.


Я очень сильно подозреваю, что проблемы вовсе не в экране. А в способе смотреть на него.
— ум пытается подсознательно найти регулярность и содержание в заведомо нерегулярной бессодержательной картинке, да ещё и с мелкими деталями
— сюда же добавим саккадические движения глаз, которые за неимением опорных точек на картинке обретают дребезг и смазывание
— а также эффект усталости сетчатки
— и наконец, — но это больше, как следствие вышесказанного, — трудности с фокусировкой (сложно поддерживать резкость взгляда)

В итоге и получается нечто размывающееся, причём именно по центру. Потому что с краёв экрана есть то, на чём можно зацепить взгляд — собственно, края экрана и обстановка вокруг.

Похожий глюк можно воспроизвести, глядя летом на травяной газон и пытаясь остановить взгляд. Через несколько минут — если хватит терпения, конечно, — вдруг начинаешь видеть зелёную плоскость над газоном, или всякие геометрические узоры из травы, или ещё всякое разное.

Так что этой своей картинкой ты не дисплеи тестируешь, а свою психику
Говорю это как эксперт. Кстати, картиночку сохраню, пригодится в этих целях. На ней глюконавтика пытается произойти быстрее, чем на более крупнодетальных и регулярных изображениях (например, на квадратной решётке).
Перекуём баги на фичи!
Re[8]: За какое время можно повторить рисунок? (большой карт
От: stonehenge.architecture.01  
Дата: 11.02.13 00:11
Оценка:
Здравствуйте, Кодт, Вы писали:

overquoting
К>Так что этой своей картинкой ты не дисплеи тестируешь, а свою психику
К>Говорю это как эксперт. Кстати, картиночку сохраню, пригодится в этих целях. На ней глюконавтика пытается произойти быстрее, чем на более крупнодетальных и регулярных изображениях (например, на квадратной решётке).

Не буду спорить. Потому-что истина может оказаться посередине.
Re[9]: За какое время можно повторить рисунок? (большой карт
От: Кодт Россия  
Дата: 11.02.13 07:54
Оценка:
Здравствуйте, stonehenge.architecture.01, Вы писали:

SA0>Не буду спорить. Потому-что истина может оказаться посередине.


А что касается генерирования картинки — то можно не придумывать свой генератор случайных чисел, а взять готовый
Поскольку у нас есть требование — количество чёрных и белых пикселов одинаково (чтобы средний цвет был 50% серый), то закрасим полкартинки чёрным, полкартинки белым, а затем применим к ней random shuffle.
Поскольку также желательно, чтобы после случайного перемешивания не вышло, что все пикселы одного цвета сбежались в один угол (почему бы и нет? это же случайно), то нарежем картинку на небольшие прямоугольники (скажем, 20*20) и выполним процедуру залить-перемешать для каждого из них независимо.
Некратность размера прямоугольника 2^n и 2^n-1 гарантирует нам, что даже после зацикливания генератора случайных чисел мы не повторим паттерн перемешивания.
Можно принять специальные меры, чтобы и в прямоугольниках не получилось, что все пикселы в один угол собьются. Но суть всё та же: вариации на тему случайного перемешивания.
Перекуём баги на фичи!
Re[10]: За какое время можно повторить рисунок? (большой карт
От: stonehenge.architecture.01  
Дата: 11.02.13 08:02
Оценка:
Здравствуйте, Кодт, Вы писали:

К>Здравствуйте, stonehenge.architecture.01, Вы писали:


SA0>>Не буду спорить. Потому-что истина может оказаться посередине.


К>А что касается генерирования картинки — то можно не придумывать свой генератор случайных чисел, а взять готовый

К>Поскольку у нас есть требование — количество чёрных и белых пикселов одинаково (чтобы средний цвет был 50% серый), то закрасим полкартинки чёрным, полкартинки белым, а затем применим к ней random shuffle.
К>Поскольку также желательно, чтобы после случайного перемешивания не вышло, что все пикселы одного цвета сбежались в один угол (почему бы и нет? это же случайно), то нарежем картинку на небольшие прямоугольники (скажем, 20*20) и выполним процедуру залить-перемешать для каждого из них независимо.
К>Некратность размера прямоугольника 2^n и 2^n-1 гарантирует нам, что даже после зацикливания генератора случайных чисел мы не повторим паттерн перемешивания.
К>Можно принять специальные меры, чтобы и в прямоугольниках не получилось, что все пикселы в один угол собьются. Но суть всё та же: вариации на тему случайного перемешивания.

Ваш метод по времени долго. У меня генератор проходит все пять миллионов уникальных состояний за 3 секунды.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.