Python图像处理语法错误



我试着熟悉一些图像处理。我在网上做了一个练习,其中一个函数遇到了挑战,我无法正确调试。

import numpy as np
from scipy import misc
import matplotlib.pyplot as plt
import imageio
# Masking Images
photoData = imageio.imread("../images/sd-3layers.jpg")
totalRows, totalCols, totalLayers = photoData.shape
X, Y = np.ogrid(:totalRows, :totalCols)
centerRow, centerCol = totalRows / 2, totalCols / 2
distanceFromCenter = (X - centerRow)**2 + (Y - centerCol)**2
radius = (totalRows / 2)**2
circularMask = (distanceFromCenter > radius)
print(circularMask[1500:1700,2000:2000])

我得到以下错误:

File "<ipython-input-28-6cc7fea28dce>", line 4
X, Y = np.ogrid(:totalRows, :totalCols)
^
SyntaxError: invalid syntax

我不知道为什么会这样?数据输入对我来说似乎是正确的。语法出了什么问题。你能帮我吗?

很可能你指的是

np.ogrid[:totalRows, :totalCols]

这是典型python切片的一个numpy快捷方式,例如

s = "abcde"
print(s[:3])
# prints "abc"

使用括号,不要使用括号。

最新更新