熱線電話:13121318867

登錄
首頁大數據時代教你用OpenCV簡單快速實現圖片的批量裁剪
教你用OpenCV簡單快速實現圖片的批量裁剪
2020-07-27
收藏

小編最近在網上下載了一批素材圖片需要批量裁剪,這可難住小編了,一張張來做的話,那可得弄到猴年馬月了。這時有小伙伴給推薦了一款神器:OpenCV。據說小伙伴說,他們做圖像處理,經常會需要大批量的修改圖片尺寸來做訓練樣本時,用的就是OpenCV。好了,廢話不多說,一起與小編來看如何用OpenCV來實現圖片的批量裁剪吧。

一、讓我們先來了解一下什么是OpenCV

1.OpenCV全稱為:Open Source Computer Vision Library,是一個跨平臺的計算機視覺庫。由英特爾公司發起并參與開發的,以BSD許可證授權發行,可以在商業和研究領域中免費使用。OpenCV能夠用作開發實時的圖像處理、計算機視覺以及模式識別程序。簡單來說,OpenCV就是一個庫,是一個SDK,一個開發包,解壓后直接用就可以。

2.安裝OpenCV

(1)OpenCV安裝前需要依賴numpy,因此我們先需要安裝numpy

在cmd命令行中輸入

pip install numpy

然后再在cmd命令行中輸入

pip3 install opencv-python

(2) 到OpenCV官網下載。

這里用的是windows,下載Win pack版本。

之后再進行解壓安裝。

配置環境變量,通過計算機——屬性——高級系統設置——環境變量,在path添加自己的OpenCV安裝文件,添加完成后點擊確定即可。

二、OpenCV實現批量裁剪圖片


import cv2
import os
def cutimage(dir,suffix):
 for root,dirs,files in os.walk(dir):
  for file in files:
   filepath = os.path.join(root, file)
   filesuffix = os.path.splitext(filepath)[1][1:]
   if filesuffix in suffix:  #遍歷找到指定后綴的文件名["jpg",png]等
    image = cv2.imread(file) #opencv剪切圖片  
    #cv2.imshow(file,image) 
    dim =(242,200)      #指定尺寸w*h
    resized =cv2.resize(image,dim,interpolation = cv2.INTER_AREA) #這里采用的插值法是INTER_LINEAR
    #cv2.imshow("resize:%s"%file,resized)
    cv2.imwrite("../cv/%s"%file,resized) #保存文件 
 cv2.waitKey(0)     #退出
 
suffix = ["jpg"]
dir = '.'
cutimage(dir,suffix)


其中一些值可以根據自己需要進行更改,比如保存路徑或者保存名稱之類的。

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢