MacroClub.Ru https://macroclub.ru:443/club/ |
|
Не желаете потестировать? - 2 https://macroclub.ru:443/club/viewtopic.php?f=4&t=1025 |
Страница 4 из 20 |
Автор: | Gene [ Вт июл 24, 2007 9:03 am ] |
Заголовок сообщения: | |
Работая над другим фильтром, чисто случайно обнаружил способ значительно ускорить матричные операции. В связи с этим переписал код плагина, предлагаю новою версию: http://www.genesdigest.com/ps_actions/r ... d_v021.zip НИКАКИХ отличий от предыдущей версии нет, кроме одного: теперь быстрее работает. Примерно раза в 2. |
Автор: | LAY [ Пт июл 27, 2007 1:39 am ] |
Заголовок сообщения: | |
Заимел два вопроса: 1) В предыдущих версиях "масштабер" был, но не работал. Теперь его нет. Лично мне бы хотелось его иметь хотя бы в варианте 50%, 100%. Кстати, а как его вообще создать в ФильтерМейстере? 2) Жень, а 10 "пресетов" - это правда необходимо? Неужели 5ти (как в первой версии) не хватило? 3) Сеттинги в файле (а не в реестре) для простоты или "так лучше"? |
Автор: | Gene [ Пт июл 27, 2007 2:02 am ] |
Заголовок сообщения: | |
LAY писал(а): Заимел два вопроса: 1) В предыдущих версиях "масштабер" был, но не работал. Теперь его нет. Лично мне бы хотелось его иметь хотя бы в варианте 50%, 100%. Кстати, а как его вообще создать в ФильтерМейстере? Задать увеличение на в строенный можно при старте (здесь 100%): OnFilterStart: { setZoom(1); return false; } Потом задать параметры через ctl[CTL_ZOOM] (это все в документации к фильтермейстеру подробно) Но встроенный только до 100% работает, выше уже начинаются головоломные извраты, приходится писать самому. К сожалению, программа не структурируется, поэтому в каждом отдельном случае надо по новой писать.... Цитата: 2) Жень, а 10 "пресетов" - это правда необходимо? Неужели 5ти (как в первой версии) не хватило? Не знаю, может и не надо. Но у меня все 10 забиты Цитата: 3) Сеттинги в файле (а не в реестре) для простоты или "так лучше"?
Для простоты, но я вообще не люблю, когда программы что-то пишут в реджистри. С файлами проще обращаться |
Автор: | LAY [ Чт авг 09, 2007 12:42 am ] |
Заголовок сообщения: | Типа мызль... |
Долго думал... После понял, что ниче в математике преобразования изображений не смыслю. Потом... решил, что ради собственного удовольствия не запрещается заниматься, в том числе, и тем, в че ни фига не смыслишь Жень, собсна мыслишка плясала от Вашей идеи заменить общие формулы аппроксимации дискретными коэффициентами для некоего частного случая и моего желания переколбасить ВАШ подход под СВОЮ частную же хотелку - ресайз 3/2... Далее ПМ="подмысль". ПМ1: "Рабочие коэффициенты" или "влияния" так и так дирайвятся соответственно "расстоянию от центра" чудо-квадрата. В этом смысле "пользовтелские" k3, k5 и k6... ммм... не очень корректны. Ну... я в том смысле, что их влияние... оно из разряда "угадаю ль?" "Физический смысл" - удаление от центра - имеют коэффициенты k1, k2 и k4. Это, как бы сказать, - 3 колца! Мне кажется, что честнее и юзабильнее было бы использовать 3 названных выше коэффициента. Остальные же получать рассчетно. ПМ2: Если принять ПМ1, особенно в смысле "колец", не лучше ль добить ее до конца, пересчитывая "влияния" пропорционально площадям пикселей, попадающих в кольца 1, 2 и 3 соответственно? ПМ3: Если принять и ПМ2, т.е. пересчет коэффициентов по ПМ2 (а это уже сразу не целочисленная арафметика), то что нам помешает использовать такую штуку как "радиус рассмотрения в контексте 3х колец влияния"? ПМ4: Ежели мы добрались (и приняли) ПМ3, ничего нас не остановит зафигачить алгоритм применительно к произвольному сжати, ибо мы манипулируем понятием коэффициента, присвоенного кольцу влияния, которое может иметь произвольный радиус! ЗЫ: Я купил се фильтермейстеровскую бету (был не тверёз:)), так что теперь могу всем желающим компилить их гениальныве плагины ))))))))))))) ЗЗЫ: Я сам знаю. что в первую очередь помешает ПМ4 - долбанутая обработка событий, связанных с предпросмотром и, соответственно, масштабированием превьюшки... |
Автор: | Gene [ Чт авг 09, 2007 3:11 am ] |
Заголовок сообщения: | Re: Типа мызль... |
Цитата: ПМ1: "Рабочие коэффициенты" или "влияния" так и так дирайвятся соответственно "расстоянию от центра" чудо-квадрата. В этом смысле "пользовтелские" k3, k5 и k6... ммм... не очень корректны. Ну... я в том смысле, что их влияние... оно из разряда "угадаю ль?" "Физический смысл" - удаление от центра - имеют коэффициенты k1, k2 и k4. Это, как бы сказать, - 3 колца! Мне кажется, что честнее и юзабильнее было бы использовать 3 названных выше коэффициента. Остальные же получать рассчетно. Было бы здорово вообще оставить один коэффициент Вопрос -- КАК рассчитать "некорректные" k3, k5 и k6? Ведь точки, относящиеся к ним, входят в матрицу на равных с остальными правах, и расстояния до центра тоже известны и "уравновешены": к3 -- √2 (между к1 и к3) к5 -- √5 (между к4 и к6) к6 -- √8 (самые внешние точки) Если мы можем рассчитать эти три коэффициента, то получается, мы знаем, какая формула у кривой, описывающей влияние "колец" в зависимости от расстояния до центра, а значит, точно так же можем рассчитать и все остальные коэффициенты! Но тут-то собака и порылась... Цитата: ПМ2: Если принять ПМ1, особенно в смысле "колец", не лучше ль добить ее до конца, пересчитывая "влияния" пропорционально площадям пикселей, попадающих в кольца 1, 2 и 3 соответственно? Площади тут мало помогут, имхо... Цитата: ПМ3: Если принять и ПМ2, т.е. пересчет коэффициентов по ПМ2 (а это уже сразу не целочисленная арафметика), то что нам помешает использовать такую штуку как "радиус рассмотрения в контексте 3х колец влияния"? Тут я уже плохо понимаю... надо бы пример. Цитата: ПМ4: Ежели мы добрались (и приняли) ПМ3, ничего нас не остановит зафигачить алгоритм применительно к произвольному сжати, ибо мы манипулируем понятием коэффициента, присвоенного кольцу влияния, которое может иметь произвольный радиус!
В принципе да |
Автор: | LAY [ Пт авг 10, 2007 1:12 am ] |
Заголовок сообщения: | Re: Типа мызль... |
Жень, я конструктивизма для среагирую толоко на один подтопик и... чуточки про площади. Gene писал(а): Цитата: ПМ1: "Рабочие коэффициенты" или "влияния" так и так дирайвятся соответственно "расстоянию от центра" чудо-квадрата. В этом смысле "пользовтелские" k3, k5 и k6... ммм... не очень корректны. Ну... я в том смысле, что их влияние... оно из разряда "угадаю ль?" "Физический смысл" - удаление от центра - имеют коэффициенты k1, k2 и k4. Это, как бы сказать, - 3 колца! Мне кажется, что честнее и юзабильнее было бы использовать 3 названных выше коэффициента. Остальные же получать рассчетно. Было бы здорово вообще оставить один коэффициент Вопрос -- КАК рассчитать "некорректные" k3, k5 и k6? Ведь точки, относящиеся к ним, входят в матрицу на равных с остальными правах, и расстояния до центра тоже известны и "уравновешены": к3 -- √2 (между к1 и к3) к5 -- √5 (между к4 и к6) к6 -- √8 (самые внешние точки) Если мы можем рассчитать эти три коэффициента, то получается, мы знаем, какая формула у кривой, описывающей влияние "колец" в зависимости от расстояния до центра, а значит, точно так же можем рассчитать и все остальные коэффициенты! Но тут-то собака и порылась... Да, да и снова да! Мои "да" отнсятся к тому, что не надо самого себя обманывать! Мое желание "вычислить" k3, k5 и k6 из остальных Вы пресекли упоминанием того, чтомы не знаем "закона" изменения внияния от расстояния. Ну да. Правда. Не знаем Для того и таскаем ползунки скроллеров коэффициентов для каждой точки 5х5 квадрата... НО!!! То, что предложили (и реализовали) Вы ТОЖЕ содержит в себе [скрытое] лукавство - "уравновешивание" введенных пользователем коэффициентов по фиксированному закону! Деление на корень из 2 введенного k3 не кажется Вам отступлением от провозглашенного принципа честности? На картинке ниже - иллюстрация графика введенного и "уравновешенного": Подведу субэтог. Мне кажется более "честным" и "интуитивным" не масштабировать ("уравновешивать") введенные юзером цифирки. Теперь пара слов про упомянутую и непонятую площадь и "кольца влияния". Ну... я уже сказал, что в теории я - ноль. Может и впрямь бред? Просто мне так кажется, что площади пикселей - очень хороший ориентир. Вот "убогая" картинка: На картинке цветами обозначены коэффициенты (их 3!). Для вычисления влияния пиксела (1,1) предлагается исходить из площади, входящей в кольцо 2, помноженной на k2, и площади, входящей в кольцо 3, помноженной на k3. ЗЫ: Научите меня картинки вставлять, плиз |
Автор: | LAY [ Пт авг 10, 2007 2:14 pm ] |
Заголовок сообщения: | Re: Типа мызль... |
Limar писал(а): Вы пытаетесь вставить URL не на картинку, а...
Ну я и лошара! Спасибо! |
Автор: | Gene [ Пт авг 10, 2007 8:54 pm ] |
Заголовок сообщения: | Re: Типа мызль... |
LAY писал(а): НО!!! То, что предложили (и реализовали) Вы ТОЖЕ содержит в себе [скрытое] лукавство - "уравновешивание" введенных пользователем коэффициентов по фиксированному закону! Деление на корень из 2 введенного k3 не кажется Вам отступлением от провозглашенного принципа честности? Я исходил не из "принципа честности", а из "приципа удобства" "Взвешивание" коэффициентов облегчило процесс нахождения оптимальных значений, потому что легче стало считать Впрочем, я вовсе не настаиваю, что взвешивание так уж необходимо. Цитата: Подведу субэтог. Мне кажется более "честным" и "интуитивным" не масштабировать ("уравновешивать") введенные юзером цифирки. Я не возражаю Цитата: На картинке цветами обозначены коэффициенты (их 3!).
Для вычисления влияния пиксела (1,1) предлагается исходить из площади, входящей в кольцо 2, помноженной на k2, и площади, входящей в кольцо 3, помноженной на k3. Тем самым мы упрощаем кривую влияний, при трех значимых коэффициентах она вырождается в график с единственным подъемом и плавным спадом. Такой алгоритм, как Lanczos, мне кажется, сэмулировать станет невозможно -- вот его график: К тому же иногда приходится подстраивать величины для избежания муара (скажем, на фасетках) при сохранении общей четкости -- в таких случаях, чем больше возможности регулировки, тем лучше. |
Автор: | LAY [ Сб авг 11, 2007 2:03 am ] |
Заголовок сообщения: | Re: Типа мызль... |
Gene писал(а): LAY писал(а): НО!!! То, что предложили (и реализовали) Вы ТОЖЕ содержит в себе [скрытое] лукавство - "уравновешивание" введенных пользователем коэффициентов по фиксированному закону! Деление на корень из 2 введенного k3 не кажется Вам отступлением от провозглашенного принципа честности? Я исходил не из "принципа честности", а из "приципа удобства" "Взвешивание" коэффициентов облегчило процесс нахождения оптимальных значений, потому что легче стало считать Вам, как автору "подхода", алгоритма и собсна программы судить об "удобстве" противопоказано! А вот мне (как тестеру и юзеру) - самое то! Докладываю: прикинув умозрительно и введя ползунками "влияния" я (зная алгоритм), домножаю на калькуляторе на корни и корректирую ползунки. Что делают те, кто не в курсе того, что Вы делите k3 на корень из 2 - не знаю... Это типа про "чесность" и "удобство". Я по-прежнему считаю "чесность" более "удобной"... Ну... и что б "добить" - "уравновешивание" Вы производите "линейное", а любите (как стало понятно дальше - Ланшоца)! Gene писал(а): LAY писал(а): На картинке цветами обозначены коэффициенты (их 3!). Для вычисления влияния пиксела (1,1) предлагается исходить из площади, входящей в кольцо 2, помноженной на k2, и площади, входящей в кольцо 3, помноженной на k3. Тем самым мы упрощаем кривую влияний, при трех значимых коэффициентах она вырождается в график с единственным подъемом и плавным спадом. Такой алгоритм, как Lanczos, мне кажется, сэмулировать станет невозможно А! Я так и думал, что придет старик Ланшоц и все попутает! Сначла реплика про то, почему Ланшоцев алгоритм на Ваш не "ложится". Ланшоц считает, что точка (не пиксел, а прямо точка!) на расстоянии x имеет "влияние" y на результат. Соседка(ки) на расстоянии x+дельта - y-другой. И т.д. Далее надо (видимо) все это хозяйство интегрировать... Как это реализовано в работающих программах - понятия не имею. Я чутки погуглил и... не нашел. Что предлагаете Вы (специально акцентирую): считать весь пиксел (i,j) находящимся на расстоянии x. Ну... вполне "цифровой" подход. Вот только прямые следствия из него не очень совпадают с намерениями - получается, что "ценные промежуточные" коэффициенты расположены по диагонали от "опорного" пикселя, а "базовые" - по горизонтали и вертикали. Теперь, про "площадной" подход, Ланшоца и "цифру". Чуток меняю свою картинку. Теперь там 5 колец и 5, соответственно, коэффтциентов. Пиксел (1,1), выделен синеватым и влияет: - как площадь темно-синего фрагмент * k2 - плюс площадь менее синего фрагмента * k3 - и т.д. Gene писал(а): К тому же иногда приходится подстраивать величины для избежания муара (скажем, на фасетках) при сохранении общей четкости -- в таких случаях, чем больше возможности регулировки, тем лучше.
Тут я молчу в тряпку - что Вы делаете с мухами и прочими инсектами мне неведомо, но муара на фасетках Вы побеждаете! |
Автор: | Gene [ Сб авг 11, 2007 3:53 am ] |
Заголовок сообщения: | Re: Типа мызль... |
LAY писал(а): Вам, как автору "подхода", алгоритма и собсна программы судить об "удобстве" противопоказано! А вот мне (как тестеру и юзеру) - самое то! Докладываю: прикинув умозрительно и введя ползунками "влияния" я (зная алгоритм), домножаю на калькуляторе на корни и корректирую ползунки. Что делают те, кто не в курсе того, что Вы делите k3 на корень из 2 - не знаю... Это типа про "чесность" и "удобство". Я по-прежнему считаю "чесность" более "удобной"... Ну... и что б "добить" - "уравновешивание" Вы производите "линейное", а любите (как стало понятно дальше - Ланшоца)! Ну, считайте, что добили Мне действительно легче отталкиваться от линейной зависимости и иметь дело с приятными "целыми" коэффициентами, но у пользователей все может быть иначе. Цитата: Чуток меняю свою картинку.
Теперь там 5 колец и 5, соответственно, коэффтциентов. Пиксел (1,1), выделен синеватым и влияет: - как площадь темно-синего фрагмент * k2 - плюс площадь менее синего фрагмента * k3 - и т.д. Вот это уже очень интересно! Правда, я полностью позабыл формулы площади секций и прочих фрагментов круга... Если Вы их помните, будет интересно посмотреть на работающий алгоритм. |
Автор: | LAY [ Пн авг 13, 2007 9:57 pm ] |
Заголовок сообщения: | Re: Типа мызль... |
Gene писал(а): Вот это уже очень интересно! Правда, я полностью позабыл формулы площади секций и прочих фрагментов круга... Если Вы их помните, будет интересно посмотреть на работающий алгоритм.
Как дошло до дела, выяснилось, что я ни токма не помню, но, похоже, и не знал этого никогда. Хуже того, среди тех перечсечений, что там образуются, большую часть формализовать вообще анриал. Я попечалился мальца, потом забил болт на "универсалный алгоритм" и решил повторить рисайз 1/2, но с "кольцевым подходом". Площади "кусочков" были вычислены путем подсчитывания квадратиков: . Т.о. "колец" 4. На 5 сил не хватило, да и ланшоцевская кривая на 4 бьется естественнее... Код для фильтермейстера, Жень, я Вам чуть позже кину, вот тока поборю этот штатный масштабатор - он вылазит, хоть его и выключили. Кстати, до покупки кнопки Make все было нормально! Пара слов про короткий опыт тестирования. +: Физический смысл колец понятней, управление 4-мя рычежками вместо 6 проще и интуитивней. ?: Коэффициенты, напоминающие ланшоцевские, дают не похожий результат на действия алгоритма Лашоца (IrfanView). Вместе с тем, я ухитрялся подогнать эффект под ланшоца, но... совсем на не таких цифорках -: Я не очень понимаю природу муара, но, похоже, Ваши диагональные точки (вылезающие за границы понятной мне логики) таки могут служить дополнительным инструментом по борьбе с муаром. Как - ума не приложу. ЗЫ: У меня не нашлось большой и резкой картинки, которая бы сгодилась в качестве тестовой. Я ковырялся со свойй стрекозой и Вашей, Gene тоже. Под конец я сжал 4х-кратным применением Ланшоца и "колец" свою муху, сделанную до того под печать 30*30см, т.е. ранее увеличенную. Вот: Кольца - слева, Ланшоц - справа. ЗЫ: Жень, напомни, пожалуйста, зачем Kбольшое? Ну, интересует не его операционная предназначенность, а смысловая. |
Автор: | Gene [ Вт авг 14, 2007 9:45 am ] |
Заголовок сообщения: | Re: Типа мызль... |
Цитата: Код для фильтермейстера, Жень, я Вам чуть позже кину, вот тока поборю этот штатный масштабатор - он вылазит, хоть его и выключили. Кстати, до покупки кнопки Make все было нормально! Код получил, спасибо! Буду тестировать. Насчет масштабера -- действительно любит вылезать, когда не просит, тоже столкнулся... Цитата: ?: Коэффициенты, напоминающие ланшоцевские, дают не похожий результат на действия алгоритма Лашоца (IrfanView). Вместе с тем, я ухитрялся подогнать эффект под ланшоца, но... совсем на не таких цифорках Сообщите их, пожалуйста -- хочется сравнить! Цитата: -: Я не очень понимаю природу муара, но, похоже, Ваши диагональные точки (вылезающие за границы понятной мне логики) таки могут служить дополнительным инструментом по борьбе с муаром. Как - ума не приложу. Думаю, чем больше регуляторов/колец, тем больше вероятность "нащупать" частоту муара -- ведь это ни что иное, как мелкие регулярные структуры... Цитата: ЗЫ: У меня не нашлось большой и резкой картинки, которая бы сгодилась в качестве тестовой. Я ковырялся со свойй стрекозой и Вашей, Gene тоже. Под конец я сжал 4х-кратным применением Ланшоца и "колец" свою муху, сделанную до того под печать 30*30см, т.е. ранее увеличенную. Для тестовых нужд, имхо, лучше всего пользоваться искусственными изображениями -- на них гораздо легче проследить изменения... Вот, скажем, такое: Цитата: ЗЫ: Жень, напомни, пожалуйста, зачем Kбольшое? Ну, интересует не его операционная предназначенность, а смысловая.
Планировался как "глобальный" регулятор, когда основные коэффициенты уже подобраны, но до ума так и не доведен Считайте его артефактом |
Автор: | LAY [ Вт авг 14, 2007 9:57 am ] |
Заголовок сообщения: | Re: Типа мызль... |
Gene писал(а): Вот, скажем, такое:
... Это картинка-убийца! Если смотреть на нее больше 20 секунд, лицо становится вот такое |
Автор: | Gene [ Вт авг 14, 2007 10:22 am ] |
Заголовок сообщения: | Re: Типа мызль... |
Цитата: Это картинка-убийца!
Если смотреть на нее больше 20 секунд, лицо становится вот такое Она и с алгоритмами нашими то же самое делает |
Автор: | LAY [ Ср авг 15, 2007 2:47 am ] |
Заголовок сообщения: | Re: Типа мызль... |
Gene писал(а): Сообщите их, пожалуйста -- хочется сравнить!
54 16 -5 -2 ЗЫ: Т.к. "глобальный коэффициент" признан автором "артефактом", то освободившееся от соответствующего скроллера место (а еще и от 2х неиспользуемых скроллеров) было заюзано под к5 и к6. После недолгого подбора осмысленного использования целых 2х скроллеров пришел к следующему дискутабельному предложению: 1) ввести "коэффициент усиления" от 0 до 100%. Полученные значения для результирующего пиксела удалять от центровой точки на (разницу между нею и результатом) * коэффициент усиления. 2) ввести ограничитель "усиления". П. 1) ограничивать пределами ползунка в %тах. Неприятность - возможная постеризация. |
Страница 4 из 20 | Часовой пояс: UTC + 4 часа [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |