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)行對(duì)比
#cv2.imwrite('new_img_path',res)
cv2.waitKey(0)
cv2.destoryAllWindows()使用opencv進(jìn)行圖片批量修改尺寸
這幾天接到公司設(shè)計(jì)方面的需求,需要將幾十張圖片統(tǒng)一修改為固定的尺寸(1080*1080),其實(shí)通過ps動(dòng)作批處理可以完成。但是如果沒有安裝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 25行代碼實(shí)現(xiàn)的RSA算法詳解
這篇文章主要介紹了Python 25行代碼實(shí)現(xiàn)的RSA算法,結(jié)合實(shí)例形式詳細(xì)分析了rsa加密算法的概念、原理、相關(guān)實(shí)現(xiàn)技巧與注意事項(xiàng),需要的朋友可以參考下2018-04-04
Python實(shí)現(xiàn)讀取Linux系統(tǒng)的CPU以及內(nèi)存占用
這篇文章主要為大家詳細(xì)介紹了如何利用Python語言實(shí)現(xiàn)Linux系統(tǒng)的CPU以及內(nèi)存占用,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,需要的可以收藏一下2023-05-05
Python獲取list中指定元素索引的兩種方法小結(jié)
本文主要介紹了兩種在Python中獲取列表中指定元素索引的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-01-01
Python讀取DataFrame的某行或某列的方法實(shí)現(xiàn)
Dataframe是Python中一種重要的數(shù)據(jù)處理工具,它能夠以表格形式存儲(chǔ)并處理數(shù)據(jù),本文主要介紹了Python讀取DataFrame的某行或某列的方法實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2024-04-04
Python+Empyrical實(shí)現(xiàn)計(jì)算風(fēng)險(xiǎn)指標(biāo)
Empyrical 是一個(gè)知名的金融風(fēng)險(xiǎn)指標(biāo)庫。它能夠用于計(jì)算年平均回報(bào)、最大回撤、Alpha值等。下面就教你如何使用 Empyrical 這個(gè)風(fēng)險(xiǎn)指標(biāo)計(jì)算神器2022-05-05
python數(shù)字圖像處理數(shù)據(jù)類型及顏色空間轉(zhuǎn)換
這篇文章主要為大家介紹了python數(shù)字圖像處理數(shù)據(jù)類型及顏色空間轉(zhuǎn)換示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06

