어떻게python을 이용하여 이미지 일괄 처리를 실현합니까

앞말


신경 네트워크를 훈련하기 전에, 우리는 종종 데이터 집합을 대량으로 처리해야 한다.본고는 그림을 예로 들어python을 사용하여 그림의 대량 처리를 실현하는 방법을 소개한다. 대량의 명칭, 대량의 이미지 픽셀 변경, 대량의 이미지에 대해 Harris, Canny...
여기에서 다음 예시를 통해 그림을 훑어보는 방법을 설명하고 shi-Tomasi 각점 검출 알고리즘을 예로 삼아 그림을 대량으로 처리한다.

실현 가능한 기능:


(1) 어떤 폴더 아래의 모든 그림을 훑어보며, 예시 코드는 모든 것을 대상으로 한다.jpg 형식의 그림;
(2) 모든 그림을 shi-Tomasi 각점 검측 처리한다.
(3) 처리된 모든 그림을 새 폴더에 저장합니다.

import cv2
import numpy as np
import glob
import os

def Harris(img):
# 1  , 
 gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 2 ――Shi-Tomasi
 corners = cv2.goodFeaturesToTrack(gray,100,0.01,10)
 corners = np.int0(corners)
 print(len(corners))
 for i in corners:
  x, y = i.ravel()
  cv2.circle(img, (x, y), 3, 255, -1)
 return img
#  
def pichuli():
 nums = 1
 for files in glob.glob(r'C:\Users\********\*.jpg'):
  img = cv2.imread(files)
  #  
  opfile = r'C:\Users\***********/'
  #  opfile , 
  if (os.path.isdir(opfile) == False):
   os.mkdir(opfile)
  img = Harris(img)
  image_path = opfile + '('+str(nums)+')'+'.jpg'
  cv2.imwrite(image_path,img)
  nums += 1
 print(' ')

if __name__ == '__main__':
 pichuli()

Python 대량 이미지 크기 수정


# -*- coding: utf-8 -*- 
''' 
 
''' 
import os 
from PIL import Image 
 
pic_dir = r"H:\ " 
for filename in os.listdir(path=pic_dir): 
  if filename.startswith("SAM"): 
    pic_path = os.path.join(pic_dir, filename) 
    print (pic_path) 
    img = Image.open(pic_path ) 
    new_size = tuple( [ size//3 for size in img.size] ) #  、 1/3 
    new_img = img.resize( new_size) 
    new_name = os.path.join(pic_dir, "small_" + filename) 
    new_img.save(new_name )

총결산


이는python을 이용하여 이미지 일괄 처리를 실현하는 방법에 관한 이 글을 소개합니다. 더 많은 관련 python 이미지 일괄 처리 내용은 저희 이전의 글을 검색하거나 아래의 관련 글을 계속 훑어보십시오. 앞으로 많은 응원 부탁드립니다!

좋은 웹페이지 즐겨찾기