Форум программистов, компьютерный форум, киберфорум
Теория программирования
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
 Аватар для snake32
3502 / 1685 / 236
Регистрация: 26.02.2009
Сообщений: 8,398
Записей в блоге: 6

Векторизация

04.07.2010, 00:34. Показов 2352. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую!
Имеется список пикселей по периметру произвольного полигона.
Как вычислить только угловые пиксели?

За любую инфу по теме буду премного благодарен.
Спасибо.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.07.2010, 00:34
Ответы с готовыми решениями:

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

Векторизация
x=1:10; y=2:11; z=10:-1:1; z(x:y) ans = 10 9

НЕ работает ВЕКТОРИЗАЦИЯ
Не работает векторизация. В чем ошибка ??? задаем масивы: x=; n=ones(28,1); v=1:28; y=zeros(max(x),1);

9
 Аватар для rdksoft
24 / 24 / 6
Регистрация: 24.12.2008
Сообщений: 88
05.07.2010, 23:13
ну если в списке есть координаты то наверно методом чем то схожим с индукцией вот суть:
берем первый элеммент сравниваем со вторымвычисляем разницу далее второй с третьим и до тех пор пока разница не измениться как только измнилась значит предпоследний и есть крайний.)ну хоть чтото)
1
 Аватар для snake32
3502 / 1685 / 236
Регистрация: 26.02.2009
Сообщений: 8,398
Записей в блоге: 6
05.07.2010, 23:42  [ТС]
rdksoft, думал так, но чёт не выходит: щаз покажу в чём проблема

Человек с лёгкостью определит что синий набор пикселей - прямой отрезк. Но вот как сделать алгоритм распознающий прямую. Пока чёт не могу. Если запрограммить по вашему алгоритму то эту прямую комп так и "не увидит": разница между 2 и 1 точкой = (0:1), a 3 - 2 = (1:1), то есть уже всё! Этот алгоритм может найти только горизонтальные, вертикальные и диагональные(под 45 градусов) и всё. Но таких прямых очень очень мало.
Что же делать....
Ну всё равно, rdksoft, спасибо. Я думал, никто так и не решится высказать свои мысли =)
0
Автор FAQ
 Аватар для insideone
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
06.07.2010, 00:25
Вдруг поможет...
МЕТОД ВЕКТОРИЗАЦИИ РАСТРОВЫХ ИЗОБРАЖЕНИЙ.pdf
1
 Аватар для snake32
3502 / 1685 / 236
Регистрация: 26.02.2009
Сообщений: 8,398
Записей в блоге: 6
06.07.2010, 00:32  [ТС]
Спасибо,insideone, щаз гляну что к чему...
0
Автор FAQ
 Аватар для insideone
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
06.07.2010, 01:02
И ещё... http://ocrai.narod.ru/vectory.html
А что если выделить контур (одномерный массив пикселей описывающий форму полигона наиболее подробно по пикселю) а потом пытаться упростить приняв за то что линия может быть больше 5 пикселей подряд. Т.е. берем 5 пикселей - 1 и 5ый а дальше проверяем последующие на вхождение в линию которую они образуют. Идем до первого пикселя который нарушает гармонию и ставим тут точку. А дальше от неё отсчитываем 5 пикселей и продолжаем.
Надеюсь это не получночный бред, но что точно - при резких поворотах могут быть баги
1
 Аватар для snake32
3502 / 1685 / 236
Регистрация: 26.02.2009
Сообщений: 8,398
Записей в блоге: 6
06.07.2010, 01:06  [ТС]
Цитата Сообщение от insideone Посмотреть сообщение
А что если выделить контур (одномерный массив пикселей описывающий форму полигона наиболее подробно по пикселю)
Это уже есть =)
0
Автор FAQ
 Аватар для insideone
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
06.07.2010, 01:08
Цитата Сообщение от insideone Посмотреть сообщение
но что точно - при резких поворотах могут быть баги
Я имею ввиду ситуацию когда между 1 и 5 пикселем нет линии, тогда наверное угол срежется
0
 Аватар для Eugeniy
3132 / 1325 / 156
Регистрация: 19.12.2009
Сообщений: 1,808
06.07.2010, 17:12
snake32, насколько я понял, что тебе нужно, то пожалуй дам тебе алгоритм проверки образуют ли пиксели прямую. Для начала надо понять, что такое в даном случае прямая.
Пиксели образуют прямую только в том случае, если его вершины, как квадрата, образуют прямую. Значит всё дело сводится к роботе с вершинами.
Пусть (x ; y) - координаты пикселя, тогда координаты его вершин, начиная с нижней левой и по часовой стрелке имеет смысл обозначить таким образом
(x-1 ; y-1) (x-1 ; y) (x+1 ; y) (x+1; y-1)
Это соответствие взаимооднозначное. Теперь тебе достаточно проверить для нескольких пикселей, что хотя бы один тип соответствующих вершин образует прямую - этого будет вполне достаточно, чтобы утверждать, что все эти пиксели образуют прямую.
2
 Аватар для Eugeniy
3132 / 1325 / 156
Регистрация: 19.12.2009
Сообщений: 1,808
08.07.2010, 18:33
snake32, это впринципе не смертельно, но я немного ошибся с координатами вершин.
Последнее две стоило бы сделать такими (x; y) (x; y-1)
Я это делал из расчета того, что пиксель с координатами (1;1) будет иметь такие кординаты вершин (0; 0) (0 ; 1) (1 ; 1) (1; 0)
Хотя, конечно, это совершенно не влияет на результат, так как пиксели можно считать хоть квадратами, хоть прямоугольниками.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.07.2010, 18:33
Помогаю со студенческими работами здесь

Векторизация кода
Задание: Написать программу с ручной векторизацией (выбрать любой вариант из возможных трех: ассемблерная вставка, встроенные функции ...

Векторизация массива numpy
Есть массив numpy, который содержит номера классов 1,2,3 необходимо представить эти классы в следующем виде: 1= 2= 3= Внизу массив...

Векторизация массива в numpy
Есть массив numpy, который содержит номера классов 1,2,3 необходимо представить эти классы в следующем виде: 1= 2= 3= Внизу массив...

Как производится векторизация BITMAP?
Народ поможите! Как производится векторизация BITMAP и тому подобное.

Векторизация цикла заполнения массива структур
Возможна ли векторизация цикла (например, for i = 1 : count) заполнения полей структуры my_struct(i) для всего массива структур...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru