有人可以帮助修改以下代码,以便它可以从给定文件夹循环运行多个图像吗?该代码仅适用于单个图像。 谢谢。
import cv2
img = cv2.imread('6.jpg')
hieght, width = img.shape[:2]
start_row, start_col = int(hieght*0), int(width*0)
end_row, end_col = int(hieght*1), int(width*.5)
cropped = img[start_row: end_row, start_col:end_col]
cv2.imshow('Original', img)
cv2.waitKey(0)
cv2.imshow('Cropped', cropped)
cv2.waitKey(0)
cv2.destroyAllWindows()
答案 0 :(得分:1)
使用glob
:
import cv2
import glob
images = glob.glob("D:\\dirtybit\\Pictures\\*") # get all the images
# print(images)
for img in images:
img = cv2.imread(img)
hieght, width = img.shape[:2]
start_row, start_col = int(hieght*0), int(width*0)
end_row, end_col = int(hieght*1), int(width*.5)
cropped = img[start_row: end_row, start_col:end_col]
cv2.imshow('Original', img)
cv2.waitKey(0)
cv2.imshow('Cropped', cropped)
cv2.waitKey(0)
cv2.destroyAllWindows()
import cv2
import os
images = os.listdir("D:\\dirtybit\\Pictures\\*")
for img in images:
img = os.path.abspath(img)
img = cv2.imread(img)
hieght, width = img.shape[:2]
start_row, start_col = int(hieght*0), int(width*0)
end_row, end_col = int(hieght*1), int(width*.5)
cropped = img[start_row: end_row, start_col:end_col]
cv2.imshow('Original', img)
cv2.waitKey(0)
cv2.imshow('Cropped', cropped)
cv2.waitKey(0)
cv2.destroyAllWindows()