为了使循环在处理后显示并编写一堆图像



我正在使用opencv python将一堆透视图图像转换为侧视图像。我试图通过写作循环来做到这一点。在这里,我读了图像

from os import listdir
from PIL import Image as PImage
import cv2
import numpy as np
import os
import glob

img_dir="/path to /images/"
data_path=os.path.join(img_dir,'*g')
files=glob.glob(data_path)
data=[]
for f1 in files:
     img=cv2.imread(f1)
     data.append(img)
     cv2.circle(img, (465, 350), 5, (0, 0, 255), -1)
     # bot left
     cv2.circle(img, (1150, 665), 5, (0, 0, 255), -1)
     cv2.circle(img, (1200, 180), 5, (0, 0, 255), -1)
     cv2.circle(img, (445, 50), 5, (0, 0, 255), -1)
     pts1 = np.float32([[451, 66], [1194, 205], [472, 366], [1149, 644]])
     # pts1=np.float32([[440,50],[2000,185],[1600,1300],[460,500]])
     # pts2=np.float32([[0,0],[1920,0],[1920,1080],[0,1080]])
     pts2 = np.float32([[467, 308], [1138, 308], [467, 636], [1138, 636]])
     matrix = cv2.getPerspectiveTransform(pts1, pts2)
     result = cv2.warpPerspective(img, matrix, (1920, 1080))
     cv2.imshow('rrr',result)
     cv2.waitKey(0)
     path = 'path to folder'
     cv2.imwrite(os.path.join(path, 'result.jpg'), result)
     cv2.waitKey(1)

编辑:我编辑了我的代码,现在可以获取所有输出。我的问题是如何写所有图像?它仅保存其中一个图像

使用以下代码写所有图像:

from os import listdir
from PIL import Image as PImage
import cv2
import numpy as np
import os
import glob
img_dir="path-to-source-folder"
data_path=os.path.join(img_dir,'*g')
files=glob.glob(data_path)
# data=[]
i = 0
for f1 in files:
     img=cv2.imread(f1)
     # data.append(img)
     cv2.circle(img, (465, 350), 5, (0, 0, 255), -1)
     # bot left
     cv2.circle(img, (1150, 665), 5, (0, 0, 255), -1)
     cv2.circle(img, (1200, 180), 5, (0, 0, 255), -1)
     cv2.circle(img, (445, 50), 5, (0, 0, 255), -1)
     pts1 = np.float32([[451, 66], [1194, 205], [472, 366], [1149, 644]])
     # pts1=np.float32([[440,50],[2000,185],[1600,1300],[460,500]])
     # pts2=np.float32([[0,0],[1920,0],[1920,1080],[0,1080]])
     pts2 = np.float32([[467, 308], [1138, 308], [467, 636], [1138, 636]])
     matrix = cv2.getPerspectiveTransform(pts1, pts2)
     result = cv2.warpPerspective(img, matrix, (1920, 1080))
     path = 'path-to-your-dest-folder'
     cv2.imwrite(os.path.join(path, 'result_'+str(i)+'.jpg'), result)
     i+=1
     cv2.imshow('rrr',result)
     cv2.waitKey(0)
cv2.destroyAllWindows()

最新更新