Нарисуйте 10% заполненный прямоугольник - PullRequest
0 голосов
/ 20 марта 2019

Я пытаюсь нарисовать заполненный на 10% прямоугольник с помощью opencv, поэтому у меня была идея сначала выбрать две точки поверх изображения, которое будет содержать первый треугольник, с помощью обратного вызова мыши, а затем нарисовать заполненный, используя две точки вот код, который я использовал

import numpy as np
import cv2
import glob

class ObstacleDrawer():
    def __init__(self):
        self.pp =[]

    def callback(self,event, x, y, flags, param):
        if event == 1: self.pp.append((x,y))

    def run(self):
        cv2.namedWindow('img')
        cv2.setMouseCallback('img', self.callback)

        while True:
            for image in glob.glob('/home/aub/myflower/flower_photos/dandelion/*.jpg'):
                img = cv2.imread(image)
                xs = [p[0] for p in self.pp]
                ys = [p[1] for p in self.pp]
                cv2.rectangle(img, (xs[0], (ys[0]-ys[1])/2), (xs[1], (ys[0]-ys[1])/2 + (ys[0]-ys[1])/10), (0, 0, 255), cv2.FILLED)
                cv2.imshow('img', img)

if __name__ == "__main__":
    z = ObstacleDrawer()
    image = z.run() 

Но, к сожалению, это не так, оно даже не показывает изображение, любые предложения, пожалуйста

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...