Форум программистов, компьютерный форум, киберфорум
Python: Web
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 31.05.2023
Сообщений: 20

OpenCV. Как найти координаты центра затемнённого пазла на фото?

31.05.2023, 00:40. Показов 2114. Ответов 10

Студворк — интернет-сервис помощи студентам
Приветствую! Помогите, пожалуйста, со следующей задачей: с помощью OpenCV нужно получить координаты центра затемнённого пазла на фотографии. Такой пазл на фото всего один и имеет почти квадратную форму. Искренне благодарю за помощь! Ссылки на фото:

https://t.captcha.qq.com/cap_u... 2-ofQZhdgo
https://t.captcha.qq.com/cap_u... hVHvlP_xWw
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.05.2023, 00:40
Ответы с готовыми решениями:

OpenCV. Как найти координаты центра затемнённого пазла на фото?
Приветствую!

Opencv Как найти координаты в рамке контура?
Доброго времени суток. Я только начинаю изучать python и срочно возникла необходимость решить одну задачу связанную с нахождением...

Найти координаты всех вершин правильного многоугольника, зная координаты центра и радиус описанной окружности.
Дан правильный N-угольник с центром в точке (X, Y) и с радиусом описанной окружности R. Найти координаты всех вершин многоугольника. ...

10
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,760
31.05.2023, 06:01
ссылки не работают
0
0 / 0 / 0
Регистрация: 31.05.2023
Сообщений: 20
31.05.2023, 11:50  [ТС]
Вот фото
Миниатюры
OpenCV. Как найти координаты центра затемнённого пазла на фото?  
0
31.05.2023, 11:51

Не по теме:

кто сказал "капча"?

0
0 / 0 / 0
Регистрация: 31.05.2023
Сообщений: 20
31.05.2023, 11:54  [ТС]
Вот ещё фотография
Миниатюры
OpenCV. Как найти координаты центра затемнённого пазла на фото?  
0
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,760
31.05.2023, 16:08
Я бы бинаризировал по порогу, чтобы остался белый контур пазла.
Затем cv2.connectedComponentsWithStats и отфильтровал бы помехи вычисляя соотношение ширины к высоте компонента, площадь и размеры. Координаты центра уже будут посчитаны.
1
0 / 0 / 0
Регистрация: 31.05.2023
Сообщений: 20
31.05.2023, 18:14  [ТС]
Спасибо, не могли бы вы привести пример такого кода?
0
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,760
31.05.2023, 20:26
Лучший ответ Сообщение было отмечено Ygrekman как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import cv2
import numpy as np
im=cv2.imread('photo.jpg')
im_gray=cv2.cvtColor(im, cv2.COLOR_BGR2GRAY)
im_bw=cv2.threshold(im_gray, 200, 255, cv2.THRESH_BINARY)[1]
retval, labels, stats, centroids=cv2.connectedComponentsWithStats(im_bw)
ratio=0.8
solidity=0.1
idx=np.min(stats[:,2:4], axis=1)/np.max(stats[:,2:4], axis=1)>ratio
idx&=stats[:,4]/(stats[:,2]*stats[:,3])<solidity
pos=centroids[idx,:]
for i in pos:
    cv2.circle(im,np.int32(i), 7, (0,0,255), -1)
print(pos)
cv2.imwrite('res.png', im)
Никогда не сохраняйте в jpeg, используйте png
Миниатюры
OpenCV. Как найти координаты центра затемнённого пазла на фото?  
2
0 / 0 / 0
Регистрация: 31.05.2023
Сообщений: 20
31.05.2023, 21:34  [ТС]
Большое спасибо!

Добавлено через 44 минуты
Код работает не на всех фотографиях, вот одна из них
0
0 / 0 / 0
Регистрация: 31.05.2023
Сообщений: 20
31.05.2023, 21:35  [ТС]
Фото
Миниатюры
OpenCV. Как найти координаты центра затемнённого пазла на фото?  
0
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,760
01.06.2023, 08:11
Цитата Сообщение от Ygrekman Посмотреть сообщение
Код работает не на всех фотографиях, вот одна из них
Никто и не обещал что будет работать на всех фото. Вы выложили два примера, на них работает. Естественно, что на белом фоне работать не будет. Придумайте другой алгоритм, например, выделяйте морфологией тонкие белые линии от толстых или используйте вертикалые и горизонтальные градиентные фильтры.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.06.2023, 08:11
Помогаю со студенческими работами здесь

Найти радиус и координаты центра вписанной в тетраэдр сферы, если известны координаты вершин тетраэдра
Хотелось бы узнать как решить эту задачу. Предполагаемое решение:

Opencv. Как найти фигуру на фотографии и получить координаты его части ?
Доброго времени суток, Форумчане. Возникла необходимость в скрипте, который должен найти черный паззл на фотографии и получить координаты...

Вычислительная геометрия (Даны координаты центра, R окружности, координаты точки вне окруж-ти. Найти точку пересечения одной из касательных с окруж-ю)
Даны координаты центра (xc,yc) и радиус R окружности, координаты точки (x,y) вне окружности. Найти точку пересечения одной из касательных с...

Найти координаты центра масс
нужно найти координаты центра масс, количество точек пользователь вводит с клавиатуры как это реализовать? формулы на скриншоте в...

Найти координаты центра экрана
Привет! Подскажите как найти координаты центра экрана X и Y по хендлу окна Есть немного кода где мы узнаем положение и размеры...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита табличной части. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru