Поиск не определенных изображений в изображении.

Темы, не касающиеся фреймворка, но относящиеся к программированию в целом.
Ответить
gerzog1995
Сообщения: 28
Зарегистрирован: 2018.07.29, 21:07

Поиск не определенных изображений в изображении.

Сообщение gerzog1995 »

Собственно, можно ли вообще как-то найти в изображении страницы PDF изображения логотипов? Есть ли какие-то алгоритмы для этого? У меня пока что из идей, это искать сгустки каких-то цветов, например, если черное лого, то определять область самых темных пикселей, если цветное, то лучше, так как текст в PDF черный...

gerzog1995
Сообщения: 28
Зарегистрирован: 2018.07.29, 21:07

Re: Поиск не определенных изображений в изображении.

Сообщение gerzog1995 »

Решил несколькими решениями, собрал во-едино, вышло на Питоне, вот такое:

Код: Выделить всё

import cv2

img = cv2.imread("4.png")
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
mask1 = cv2.inRange(hsv, (36, 0, 0), (70, 255,255))
mask2 = cv2.inRange(hsv, (15,0,0), (36, 255, 255))
mask = cv2.bitwise_or(mask1, mask2)
target = cv2.bitwise_and(img,img, mask=mask)
im=target
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.imshow('cat_color_hsv', im)
cv2.waitKey(0)

Ответить