Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/26: Рейтинг темы: голосов - 26, средняя оценка - 5.00
MiThEoN
 Аватар для VASSUV
466 / 323 / 42
Регистрация: 31.10.2009
Сообщений: 546
Записей в блоге: 2

Морфинг человеческого лица в другое человеческое лицо

17.11.2011, 00:11. Показов 5675. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Делаю такую вещь, морфинг человеческого лица в другое человеческое лицо.

Со схемой уменьшения/увеличения прозрачности проблем не возникает.

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

Может у кого нибудь были схожие работы по изменению фотографий(поворот\ смещение\ уменьшение\ и т.п.)?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.11.2011, 00:11
Ответы с готовыми решениями:

Условие в Отчете: Если физ.лицо тогда, если юр.лицо тогда
Здравствуйте. Работаю в конфигурации Бухгалтерия предприятия, редакция 2.0 (2.0.43.6) на платформе 1С:Предприятие 8.2 (8.2.16.352)...

Человеческое стереоскопическое зрение
Здравствуйте.У меня один глаз хуже видит чем другой. У меня НЕТ стереоскопического зрения ? То есть я здорово теряю в мироощущении если...

Фильм "Без лица" становится реальностью - впервые выполнена операция по полной трансплантации лица пациента.
Фильм "Без лица" становится реальностью - впервые выполнена операция по полной трансплантации лица пациента. В прошедшую пятницу было...

28
)))
 Аватар для aleks_pilipenko
610 / 423 / 55
Регистрация: 31.12.2009
Сообщений: 2,334
Записей в блоге: 3
03.01.2012, 19:28
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от VASSUV Посмотреть сообщение
Как на форме изменить фокус программно, в элементе numericUpDown остается курсор, и во время выполнения другого потока остается возможность изменять значение хотя NumericUpDown.Enabled = false
Изменить фокус:
C#
1
            textBox2.Focus();
0
42 / 36 / 2
Регистрация: 18.12.2011
Сообщений: 113
03.01.2012, 19:47
Цитата Сообщение от alexsave Посмотреть сообщение
Сражу скажу на WinForms(в частности в элементе PictureBox) вы это не реализуете, На WPF делается легко
Зря вы так.
Установка точек и их перемещение реализуется легко - массив(спасибо майкрософту за готовые классы List и т.п.) каких-нибудь структур (допустим позиция точки, цвет ширина), в событиях нажатий клавишь мыши заполняем его.
Для отрисовки создаем глобальный битмап (с размерами твоего контрола предназначеного для рисования) и экзмепляр Graphics (Graphics.FromImage(yourBitmap)) и еще один экземпляр для контрола. В методе прорисовке чистим этот битмап, проходим по циклу точек и рисуем в него(контекст). После цикла рисуете bmp на контроле (эти пляски нужны для избежания различного "мигания" изображения на вашей форме).
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Bitmap cBuff;
Graphics grBuff;
Graphics ctrl;
List<point> points;
constructor(int width, int height, IntPtr ctrlHandle)
 
{
cBuff = new Bitmap(width, height);
grBuff = Graphics.FromImage(cBuff);
ctrl = Graphics.FromHandle(ctrlHandle);
}
void draw()
{
foreach(var pt in points)
{
grBuff.FillEllipse(new SolidBrush(pt.color), new Rectangle(pt.location,pt.size));//точно не помню какие аргументы
}
ctrl.DrawImage(cBuff,0,0);
}
struct point
{
public Color color;
public Point location;
public Size size;
}
Для смещения точки вычисляем пересечения положения курсора с точками в массиве (при нахождении первого-же пересечения прерываем цикл), после чего в обработчике перемещения курсора по контролу смещаем позицию точки.
Для удобства можно сделать перечисление
C#
1
2
3
4
5
enum mode
{
draw,
move//,...
}
Для различного рода трансформаций(rotate, scale,. etc...) есть класс Matrix.
1
MiThEoN
 Аватар для VASSUV
466 / 323 / 42
Регистрация: 31.10.2009
Сообщений: 546
Записей в блоге: 2
03.01.2012, 20:58  [ТС]
Цитата Сообщение от aleks_pilipenko Посмотреть сообщение
textBox2.Focus();
Пробовал, не помогает.
0
)))
 Аватар для aleks_pilipenko
610 / 423 / 55
Регистрация: 31.12.2009
Сообщений: 2,334
Записей в блоге: 3
03.01.2012, 21:03
Цитата Сообщение от VASSUV Посмотреть сообщение
Сообщение от aleks_pilipenko
textBox2.Focus();
Пробовал, не помогает.
может там еще что-то выполняется после установки фокуса??
Код можно посмотреть?
0
MiThEoN
 Аватар для VASSUV
466 / 323 / 42
Регистрация: 31.10.2009
Сообщений: 546
Записей в блоге: 2
03.01.2012, 21:31  [ТС]
Цитата Сообщение от aleks_pilipenko Посмотреть сообщение
может там еще что-то выполняется после установки фокуса?
Другой поток там выполняется. И он изменяет значения
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
        // Потоковая функция
        private void numericUpDown1_ValueChanged(object sender, EventArgs e)
        {
                 trackBar1.Maximum = (int)numericUpDown1.Value+1;
                // здесь изменяются значения trackBar1
        }
        private void play()
        {
            numericUpDown1.ValueChanged -= numericUpDown1_ValueChanged;
            //Здесь нужно что нибудь сделать с numericUpDown1
 
            // Потому что И  здесь  изменяются значения trackBar1
 
            numericUpDown1.ValueChanged += numericUpDown1_ValueChanged;
        }
А из-за того что выполняется значения в двух потоках - ошибочка выходит

Вот попробовал я событие убрать, чтобы не было исключений.
Но все равно нужно сделать поле ввода не активным и без фокуса
0
)))
 Аватар для aleks_pilipenko
610 / 423 / 55
Регистрация: 31.12.2009
Сообщений: 2,334
Записей в блоге: 3
04.01.2012, 07:27
Как вариант через таймер фокус поставить, с отключением его же...
Короче это надо весь код посмотреть, чтобы "красиво" сделать..
0
 Аватар для Димон_
136 / 104 / 9
Регистрация: 30.01.2011
Сообщений: 699
05.01.2012, 15:50
Так уж к слову, объекты с привязанными к ним точками делать...может легче XNA попробовать? что бы научиться спрайтовой графике нужно пару дней... а так все намного удобнее будет) хотя отчатсти это извращение
0
42 / 36 / 2
Регистрация: 18.12.2011
Сообщений: 113
05.01.2012, 18:17
Цитата Сообщение от Димон_ Посмотреть сообщение
Так уж к слову, объекты с привязанными к ним точками делать...может легче XNA попробовать? что бы научиться спрайтовой графике нужно пару дней... а так все намного удобнее будет) хотя отчатсти это извращение
Да ладно вам, разве это извращение
Вот GDI - это да... Отсталая библиотека, не приспособленная к потребностям современного пользователя, которому надо все, при чем на подносе со стеклянным эффектом, анимацией, звуковым сопровождением и что б не висло.
А вот XNA - мощный, перспективный инструмент, являющийся по сути более совершенным MDX, который вовсе не предназначался для одних только игрушек
0
 Аватар для Димон_
136 / 104 / 9
Регистрация: 30.01.2011
Сообщений: 699
09.01.2012, 22:14
Ну тут я с вами не соглашусь. WPF - вот сколько угодно юзайте для дизайна и красоты. Самая перспективная вещь для интерфейса. А XNA - все-таки для игр, хотя безусловно при интеграции его в WPF или WinForms можно и использовать для чего-либо ОЧЕНЬ завязанного на графике
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.01.2012, 22:14

Нормальное человеческое объяснение Литералам
Ребят,кто может объяснить просто и понятно что такое литералы?У меня так и не сложилась понятное представление о них.

Человеческое тело как "помеха" в работе GPIO
Здравствуйте Нехорошая ситуация: плата Arduino M0 (Atmel ARM Sortix на борту) подключена к радио модулю по SPI и 1-му GPIO. Прием /...

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

Разрешение человеческого глаза
А кто-нибудь считал разрешение глаза человека? Оно больше 10 мегапикселей?

Тоньше человеческого волоса в несколько раз
дома на одежде нашел, что-то не обычное!, тоньше человеческого волоса, в несколько раз очень сильно бликует,только по бликам можно это...


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

Или воспользуйтесь поиском по форуму:
29
Ответ Создать тему
Новые блоги и статьи
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru