python-opencv如何讀取圖片及尺寸修改
python-opencv讀取圖片及尺寸修改
修改圖像尺寸大小
使用shape可得到圖片的尺寸信息,寬度及高度和通道數(shù),道數(shù)問題描述一個(gè)像素點(diǎn),如果是灰度,那么只需要一個(gè)數(shù)值來描述它,就是單通道,如果有RGB三種顏色,就是三通道
import cv2 img=cv2.imread('1.jpg') print(img.shape) res=cv2.resize(img,(126,126))#修改圖像尺寸 cv2.imshow('new_img',res)#顯示新圖像 cv2.imshow('img',img)#依舊顯示原始圖像,進(jìn)行對比 #cv2.imwrite('new_img_path',res) cv2.waitKey(0) cv2.destoryAllWindows()
使用opencv進(jìn)行圖片批量修改尺寸
這幾天接到公司設(shè)計(jì)方面的需求,需要將幾十張圖片統(tǒng)一修改為固定的尺寸(1080*1080),其實(shí)通過ps動作批處理可以完成。但是如果沒有安裝ps咋辦嘞?或者懶得打開ps,可以考慮通過pyhton快速處理
注意事項(xiàng)
- 存在圖片為長方形或者正方形的情況
- 存在圖片格式的差異化
方法如下
import cv2 import os outtype = '.png' # <---------- 輸出的統(tǒng)一格式 image_size_h =0 image_size_w = 300 # <---------- 設(shè)定長 source_path = "E:\\domo\\pic"+"\\" # <---------- 源文件路徑 target_path = "E:\\domo\\newdomo"+"\\" # <---------- 輸出目標(biāo)文件路徑 if not os.path.exists(target_path): os.makedirs(target_path) image_list = os.listdir(source_path) # 獲得文件名 i = 0 for file in image_list: i = i + 1 image_source = cv2.imread(source_path + file) # 讀取圖片d print("處理中-->",file) if image_source.shape[0] == image_source.shape[1]: #圖片是正方形 image_size_h = image_size_w image = cv2.resize(image_source, (image_size_w, image_size_h), 0, 0, cv2.INTER_LINEAR) # 修改尺寸 # cv2.imwrite(target_path + str(i) + outtype, image) # 重命名并且保存 (統(tǒng)一圖片格式) cv2.imwrite(target_path + str(file),image) # 保留原命名 else: #圖片是非方形 sizenum = image_source.shape[0]/image_source.shape[1] image_size_h =sizenum * image_size_w image = cv2.resize(image_source, (image_size_w, int(image_size_h)), 0, 0, cv2.INTER_LINEAR) # 修改尺寸 # cv2.imwrite(target_path + str(i) + outtype, image) # 重命名并且保存 (統(tǒng)一圖片格式) cv2.imwrite(target_path + str(file),image) # 保留原命名 print("批量處理完成")
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python使用openpyxl庫修改excel表格數(shù)據(jù)方法
今天小編就為大家分享一篇python使用openpyxl庫修改excel表格數(shù)據(jù)方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-05-05python爬蟲之urllib庫常用方法用法總結(jié)大全
urllib是python自帶的請求庫,各種功能相比較之下也是比較完備的,下面這篇文章主要給大家介紹了關(guān)于python爬蟲之urllib庫常用方法用法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2018-11-11pyautogui自動化控制鼠標(biāo)和鍵盤操作的步驟
這篇文章主要介紹了pyautogui自動化控制鼠標(biāo)和鍵盤操作的步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04python中scipy.stats產(chǎn)生隨機(jī)數(shù)實(shí)例講解
在本篇文章里小編給大家分享的是一篇關(guān)于python中scipy.stats產(chǎn)生隨機(jī)數(shù)實(shí)例講解內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。2021-02-02Python中私有屬性“_“下劃線和“__“雙下劃線區(qū)別
本文主要介紹了Python中私有屬性“_“下劃線和“__“雙下劃線區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03