Синтаксис для ap.add_argument () - PullRequest
0 голосов
/ 08 июня 2018

Я новичок в OpenCV.Я использую консоль anaconda spyder для написания кода на Python.Я взял кодовую форму здесь (https://www.pyimagesearch.com/2014/08/25/4-point-opencv-getperspective-transform-example/) Код, который меня поразил:

# USAGE
# python transform_example.py --image images/example_01.png --coords "[(73, 239), (356, 117), (475, 265), (187, 443)]"
# python transform_example.py --image images/example_02.png --coords "[(101, 185), (393, 151), (479, 323), (187, 441)]"
# python transform_example.py --image images/example_03.png --coords "[(63, 242), (291, 110), (361, 252), (78, 386)]"

# import the necessary packages
from pyimagesearch.transform import four_point_transform
import numpy as np
import argparse
import cv2

# construct the argument parse and parse the arguments
ap = argparse.ArgumentParser()
ap.add_argument("-i", "--image", help = "path to the image file")
ap.add_argument("-c", "--coords",
    help = "comma seperated list of source points")
args = vars(ap.parse_args())

# load the image and grab the source coordinates (i.e. the list of
# of (x, y) points)
# NOTE: using the 'eval' function is bad form, but for this example
# let's just roll with it -- in future posts I'll show you how to
# automatically determine the coordinates without pre-supplying them
image = cv2.imread(args["image"])
pts = np.array(eval(args["coords"]), dtype = "float32")

# apply the four point tranform to obtain a "birds eye view" of
# the image
warped = four_point_transform(image, pts)

# show the original and warped images
cv2.imshow("Original", image)
cv2.imshow("Warped", warped)
cv2.waitKey(0)

В строке № 13 - 17 кто-то может точно сказать, что происходит. Я знаю, что яМне нужно получить изображение, получить координаты бумаги (и эти строки предназначены для этой цели), но я не могу получить файл изображения.

1 Ответ

0 голосов
/ 08 июня 2018

В предоставленной ссылке аргументы анализируются с использованием необязательных аргументов , т. Е. Аргументам должна предшествовать строка, упомянутая в add_argument().

Так что в вашем случае вы имеете:

ap = argparse.ArgumentParser()
ap.add_argument("-i", "--image", help = "path to the image file")
ap.add_argument("-c", "--coords", help = "comma seperated list of source points")
args = vars(ap.parse_args())

Уведомление "--image" и "--coords".Это необязательные аргументы, и эти строки должны быть упомянуты перед выполнением кода в терминале.

Так введите это на терминале:

python transform_example.py --image images/example_01.png --coords "[(73, 239), (356, 117), (475, 265), (187, 443)]"

См. ЭТА СТРАНИЦА для более подробной информации о разборе аргументов и их различных способов.

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