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

Ответы (2 шт):
Автор решения: Assur
→ Ссылка
Простая программа Python с OpenCV по нахождению вершин полигонов для этого рисунка:
# import the required library
import numpy as np
import cv2
from matplotlib import pyplot as plt
# read the image
img = cv2.imread('corner1.png')
# convert image to gray scale image
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# detect corners with the goodFeaturesToTrack function.
corners = cv2.goodFeaturesToTrack(gray, 27, 0.01, 10)
corners = np.int0(corners)
# we iterate through each corner,
# making a circle at each point that we think is a corner.
for i in corners:
x, y = i.ravel()
cv2.circle(img, (x, y), 3, 255, -1)
plt.imshow(img), plt.show()
Автор решения: Alex Alex
→ Ссылка
import cv2
im=cv2.imread('f0tiH.png')
im_gray=cv2.cvtColor(im, cv2.COLOR_BGR2GRAY)
bw=cv2.threshold(im_gray, 19, 255, cv2.THRESH_BINARY)[1]
retval, labels, stats, centroids = cv2.connectedComponentsWithStats(bw, connectivity=8)
x,y,w,h,s=stats[1,:]
cv2.rectangle(im, (x, y), ( x+w, y+h),(0, 0, 255), 1)
cv2.imwrite('name.png', im)
- Бинаризируем.
- Находим связную компоненту (одна).
- Считываем ее координаты и выделяем объект.


