I have some code that I am trying to run in a Python shell (IDLE) but there seems to be a problem with the way I am parsing arguments in the Python shell.
Here is the code:
# import the necessary packages
from skimage.segmentation import slic
from skimage.segmentation import mark_boundaries
from skimage.util import img_as_float
from skimage import io
import matplotlib.pyplot as plt
import argparse
# construct the argument parser and parse the arguments
ap = argparse.ArgumentParser()
ap.add_argument("-i", "--image", required = True, help = "Path to the image")
args = vars(ap.parse_args())
# load the image and convert it to a floating point data type
image = img_as_float(io.imread(args["image"]))
# loop over the number of segments
for numSegments in (100, 200, 300):
# apply SLIC and extract (approximately) the supplied number
# of segments
segments = slic(image, n_segments = numSegments, sigma = 5)
# show the output of SLIC
fig = plt.figure("Superpixels -- %d segments" % (numSegments))
ax = fig.add_subplot(1, 1, 1)
ax.imshow(mark_boundaries(image, segments))
plt.axis("off")
# show the plots
plt.show()
When I try to run the program with the line Slic.py --image 0021.jpg
I get SyntaxError: invalid syntax
. Not sure what I am doing wrong, probably really obvious to some but any help is greatly appreciated.
The code was found at the link below under the SLIC example at the bottom of the page, he even shows how to run the code but it doesn't work for me:
www.pyimagesearch.com/2014/07/28/a-slic-superpixel-tutorial-using-python
type=file
ortype=str
to theadd_argument
call? – Etan Reisner Mar 23 '15 at 16:17