2014-01-30 65 views
2

裁剪圖像我是試試這個代碼錯誤而使用numpy的

import cv2 
img = cv2.imread("image.jpg") 
crop_img = img[100:200, 200:400] # Crop from x, y, w, h -> 100, 200, 100, 200 
cv2.imshow("cropped", crop_img) 
cv2.waitKey(0) 

它幾times..but工作突然就出來這個錯誤:

Traceback (most recent call last): 
File "test5.py", line 7, in <module> 
crop_img = img[100:200, 200:400] # Crop from x, y, w, h -> 100, 200, 100, 200`` 
TypeError: 'NoneType' object has no attribute '__getitem__' 

任何人都可以幫助我..

回答

1

如果cv2.imread找不到文件名i t returns None。 如果img是無,那麼img[100:200, 200:400]將提高

TypeError: 'NoneType' object has no attribute '__getitem__' 
+0

因此我們需要將圖像作爲例子「/home/pi/image.jpg」的路徑? – timekeeper

+0

指定文件的完整路徑可能會有所幫助,但還有其他原因可能會導致'cv2.imread'返回None。這可能是因爲您沒有讀取文件的權限,或者該文件不存在。 – unutbu