溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python怎么修改圖像分辨率大小

發(fā)布時間:2023-05-06 11:53:01 來源:億速云 閱讀:187 作者:zzz 欄目:編程語言

本篇內(nèi)容主要講解“python怎么修改圖像分辨率大小”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“python怎么修改圖像分辨率大小”吧!

python修改圖像分辨率大小

圖像分辨率指圖像中存儲的信息量,是每英寸圖像內(nèi)有多少個像素點,分辨率的單位為PPI(Pixels Per Inch),通常叫做像素每英寸。圖像分辨率一般被用于ps中,用來改變圖像的清晰度。

圖像分辨率的大小會影響到我們實驗的進(jìn)行,修改合適的分辨率可以讓實驗完美的進(jìn)行下去。

通過python程序可以很好的調(diào)整圖像的分辨率。

# -*- codeing = utf-8 -*-
# @Time : 2022/5/1 13:23
# @Author : ning
# @File : 5.1demo.py
# @software : PyCharm
 
import matplotlib.pyplot as plt
from PIL import Image
 
 
def produceImage(file_in, width, height, file_out):
    image = Image.open(file_in)
    resized_image = image.resize((width, height), Image.ANTIALIAS)
    resized_image.save(file_out)
 
 
if __name__ == '__main__':
    file_in = '9.jpg'
    width = 256 #調(diào)整的分辨率大小
    height = 256
    file_out = 'demo9.png'
    # 分辨率
    produceImage(file_in, width, height, file_out)

python批量修改圖片分辨率

使用python代碼可以指定圖片的分辨率。注意:執(zhí)行本改代碼會用新生成的指定分辨率的圖片覆蓋掉原有的圖片。且本程序是批處理,可以直接對文件夾下所有的圖片統(tǒng)一指定分辨率。

讀者只需修改如下兩個位置的參數(shù)即可:

python怎么修改圖像分辨率大小

源碼如下:

"""
批處理文件夾train下的images和labels文件夾中的圖片,進(jìn)行重新修改尺寸操作,并替換保存。
注意是**批處理**,會把train中所有的文件夾下的所有圖片都修改分辨率。
敲黑板,劃重點?。?!會直接把 原分辨率 的圖片替換為 指定分辨率的圖片!??!
文件夾結(jié)構(gòu):
    PATH:'/home/stu/zy/MySwin-Unet/data/train'
    childPATH:PATH下的'/labels'
    childPATH:PATH下的'images'


"""

import cv2
import os
import sys


# PATH = r'/root/autodl-tmp/MySwin-Unet/data/' # 這個路徑只需寫到train和val文件夾即可。文件夾下的圖片程序會自動幫你打開
PATH = r'/home/stu/zy/MySwin-Unet/data/train'
# 我這里是相對路徑,親測中文路徑也可以

def resizeImage(file, NoResize):
    image = cv2.imread(file, cv2.IMREAD_COLOR)

    # 如果type(image) == 'NoneType',會報錯,導(dǎo)致程序中斷,所以這里先跳過這些圖片,
    # 并記錄下來,結(jié)束程序后手動修改(刪除)

    if image is None:
        NoResize += [str(file)]
    else:
        resizeImg = cv2.resize(image, (512, 512)) # 這里改為自己想要的分辨率
        cv2.imwrite(file, resizeImg)
        cv2.waitKey(100)


def resizeAll(root):
    # 待修改文件夾
    fileList = os.listdir(root)
    # 輸出文件夾中包含的文件
    # print("修改前:"+str(fileList))
    # 得到進(jìn)程當(dāng)前工作目錄
    currentpath = os.getcwd()
    # 將當(dāng)前工作目錄修改為待修改文件夾的位置
    os.chdir(root)

    NoResize = []  # 記錄沒被修改的圖片

    for file in fileList:  # 遍歷文件夾中所有文件
        file = str(file)
        resizeImage(file, NoResize)

    print("---------------------------------------------------")

    os.chdir(currentpath)  # 改回程序運行前的工作目錄

    sys.stdin.flush()  # 刷新

    print('沒別修改的圖片: ', NoResize)


if __name__ == "__main__":
    # 子文件夾
    for childPATH in os.listdir(PATH):
        # 子文件夾路徑
        childPATH = PATH + '/' + str(childPATH)
        # print(childPATH)
        resizeAll(childPATH)
    print('------修改圖片大小全部完成?(^_-)')

到此,相信大家對“python怎么修改圖像分辨率大小”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI