0
$\begingroup$

I want to make a system like the Book Spine Recognition on Youtube.

So I read research paper and I built this system.
According this paper, I use Hough transform, then I recognize book boundary like this.

Then I want to separate each of these books. But what next step should I do? Please help me.

enter image description here

import cv2
import numpy as np

img = cv2.imread('/Users/hogefuga/Desktop/20081104224105.jpg')
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
edges = cv2.Canny(gray,50,150,apertureSize = 3)

lines = cv2.HoughLines(edges,1,np.pi/180,200)
print(len(lines)) # 20本
for line in lines:
    for rho,theta in line:
        a = np.cos(theta)
        b = np.sin(theta)
        x0 = a*rho
        y0 = b*rho
        x1 = int(x0 + 1000*(-b))
        y1 = int(y0 + 1000*(a))
        x2 = int(x0 - 1000*(-b))
        y2 = int(y0 - 1000*(a))

        cv2.line(img,(x1,y1),(x2,y2),(0,0,255),2)

cv2.imshow('output.jpg',img)


$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.