Создание оптического изображения с помощью opencv в python - PullRequest
0 голосов
/ 18 марта 2019

, поэтому я пытаюсь создать изображение, которое выглядит следующим образом , используя функцию, которая получает угол и рисует линии с этим углом, разделяя их.Я создал код, который генерирует изображение, похожее на это, но не совсем, вычисляя расстояние между линиями с помощью тригонометрии, и рисовал линии с помощью функции .line в opencv:

def drawImg(ang):
    image = np.zeros((500,500), np.uint8)   #black 500x500 matrix
    ang*=np.pi/180  #convert angle to radians
    origAng=ang
    adj=250     #distance between the middle and the edge of the frame which is
                #the triangle adjacent side
    x=250
    negx=250
    while(x<500):   #draw lines until x reaches the edge of the frame
        opos=adj*np.tan(ang)    #triangle opposite side calculation
                                #which is the distance between lines
        cv2.line(image,(negx,500),(x,0),255,1)  #1 pixel thick white line draw
        cv2.line(image,(x,500),(negx,0),255,1)
        negx-=int(opos)     #increment x variables and angle
        x+=int(opos)
        ang+=origAng

    #same thing for the y axis
    ang=origAng
    y=250
    negy=250
    while(y<500):
        opos=adj*np.tan(ang)
        cv2.line(image,(0,negy),(500,y),250,1)
        cv2.line(image,(0,y),(500,negy),250,1)
        negy-=int(opos)
        y+=int(opos)
        ang+=origAng

    cv2.imshow('img',image)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

Если кто-нибудь знает, как его сделатьближе к изображению, которое я хочу, я приветствую помощь.

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