python-opencv如何讀取圖片及尺寸修改
更新時間:2022年11月29日 09:40:37 作者:ithicker
這篇文章主要介紹了python-opencv如何讀取圖片及尺寸修改,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
python-opencv讀取圖片及尺寸修改
修改圖像尺寸大小
使用shape可得到圖片的尺寸信息,寬度及高度和通道數,道數問題描述一個像素點,如果是灰度,那么只需要一個數值來描述它,就是單通道,如果有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)#依舊顯示原始圖像,進行對比
#cv2.imwrite('new_img_path',res)
cv2.waitKey(0)
cv2.destoryAllWindows()使用opencv進行圖片批量修改尺寸
這幾天接到公司設計方面的需求,需要將幾十張圖片統(tǒng)一修改為固定的尺寸(1080*1080),其實通過ps動作批處理可以完成。但是如果沒有安裝ps咋辦嘞?或者懶得打開ps,可以考慮通過pyhton快速處理
注意事項
- 存在圖片為長方形或者正方形的情況
- 存在圖片格式的差異化
方法如下
import cv2
import os
outtype = '.png' # <---------- 輸出的統(tǒng)一格式
image_size_h =0
image_size_w = 300 # <---------- 設定長
source_path = "E:\\domo\\pic"+"\\" # <---------- 源文件路徑
target_path = "E:\\domo\\newdomo"+"\\" # <---------- 輸出目標文件路徑
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("批量處理完成")以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Python實現讀取Linux系統(tǒng)的CPU以及內存占用
這篇文章主要為大家詳細介紹了如何利用Python語言實現Linux系統(tǒng)的CPU以及內存占用,文中的示例代碼講解詳細,具有一定的學習價值,需要的可以收藏一下2023-05-05

