我得到了一個充滿圖像的數據集。我的目標是將此圖像轉換為灰度。我可以很容易地用一個圖像做到這一點,但我需要做多個圖像。這是我的代碼;import cv2import globpath = "/path/*.jpg"for file in glob.glob(path): img = cv2.imread(file) gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) cv2.imshow('Gray image', gray) cv2.imwrite('/path/cat' + '_gray.jpg', gray)當我運行此腳本時,它只轉換單個圖像,但我的目標是轉換路徑中的所有圖像。我真的是圖像處理和OpenCv2模塊的初學者?,F在已經感謝您的幫助。
1 回答

www說
TA貢獻1775條經驗 獲得超8個贊
'/path/cat' + '_gray.jpg'始終為您提供 ,而不考慮輸入文件名。/path/cat_gray.jpg
您可能希望在此處使用原始文件名的某些部分,您可以使用 os.path 模塊中的函數找到這些部分。
例如:
import cv2
import glob
import os.path
path = "/path/*.jpg"
for file in glob.glob(path):
img = cv2.imread(file)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imshow('Gray image', gray)
basename = os.path.basename(file) # e.g. MyPhoto.jpg
name = os.path.splitext(basename)[0] # e.g. MyPhoto
cv2.imwrite('/path/' + name + '_gray.jpg', gray)
添加回答
舉報
0/150
提交
取消