最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

torch 中各種圖像格式轉(zhuǎn)換的實(shí)現(xiàn)方法

 更新時(shí)間:2019年12月26日 14:19:31   作者:core!  
這篇文章主要介紹了torch 中各種圖像格式轉(zhuǎn)換的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
  • PIL:使用python自帶圖像處理庫(kù)讀取出來的圖片格式
  • numpy:使用python-opencv庫(kù)讀取出來的圖片格式
  • tensor:pytorch中訓(xùn)練時(shí)所采取的向量格式(當(dāng)然也可以說圖片)

PIL與Tensor相互轉(zhuǎn)換

import torch
from PIL import Image
import matplotlib.pyplot as plt

# loader使用torchvision中自帶的transforms函數(shù)
loader = transforms.Compose([
 transforms.ToTensor()]) 

unloader = transforms.ToPILImage()

# 輸入圖片地址
# 返回tensor變量
def image_loader(image_name):
 image = Image.open(image_name).convert('RGB')
 image = loader(image).unsqueeze(0)
 return image.to(device, torch.float)

# 輸入PIL格式圖片
# 返回tensor變量
def PIL_to_tensor(image):
 image = loader(image).unsqueeze(0)
 return image.to(device, torch.float)

# 輸入tensor變量
# 輸出PIL格式圖片
def tensor_to_PIL(tensor):
 image = tensor.cpu().clone()
 image = image.squeeze(0)
 image = unloader(image)
 return image

#直接展示tensor格式圖片
def imshow(tensor, title=None):
 image = tensor.cpu().clone() # we clone the tensor to not do changes on it
 image = image.squeeze(0) # remove the fake batch dimension
 image = unloader(image)
 plt.imshow(image)
 if title is not None:
 plt.title(title)
 plt.pause(0.001) # pause a bit so that plots are updated

#直接保存tensor格式圖片
def save_image(tensor, **para):
 dir = 'results'
 image = tensor.cpu().clone() # we clone the tensor to not do changes on it
 image = image.squeeze(0) # remove the fake batch dimension
 image = unloader(image)
 if not osp.exists(dir):
 os.makedirs(dir)
 image.save('results_{}/s{}-c{}-l{}-e{}-sl{:4f}-cl{:4f}.jpg'
  .format(num, para['style_weight'], para['content_weight'], para['lr'], para['epoch'],
   para['style_loss'], para['content_loss']))

numpy 與 tensor相互轉(zhuǎn)換

import cv2
import torch
import matplotlib.pyplot as plt

def toTensor(img):
 assert type(img) == np.ndarray,'the img type is {}, but ndarry expected'.format(type(img))
 img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
 img = torch.from_numpy(img.transpose((2, 0, 1)))
 return img.float().div(255).unsqueeze(0) # 255也可以改為256

def tensor_to_np(tensor):
 img = tensor.mul(255).byte()
 img = img.cpu().numpy().squeeze(0).transpose((1, 2, 0))
 return img

def show_from_cv(img, title=None):
 img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
 plt.figure()
 plt.imshow(img)
 if title is not None:
 plt.title(title)
 plt.pause(0.001)


def show_from_tensor(tensor, title=None):
 img = tensor.clone()
 img = tensor_to_np(img)
 plt.figure()
 plt.imshow(img)
 if title is not None:
 plt.title(title)
 plt.pause(0.001)

N張圖片一起轉(zhuǎn)換.

# 將 N x H x W X C 的numpy格式圖片轉(zhuǎn)化為相應(yīng)的tensor格式
def toTensor(img):
 img = torch.from_numpy(img.transpose((0, 3, 1, 2)))
 return img.float().div(255).unsqueeze(0)

參考:http://m.fzitv.net/article/177291.htm

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python游戲開發(fā)的五個(gè)案例分享

    python游戲開發(fā)的五個(gè)案例分享

    本文給大家分享了作者整理的五個(gè)python游戲開發(fā)的案例,通過具體設(shè)計(jì)思路,代碼等方面詳細(xì)了解python游戲開發(fā)的過程,非常的詳細(xì),希望大家能夠喜歡
    2020-03-03
  • python爬蟲之PySpider框架的使用

    python爬蟲之PySpider框架的使用

    本文主要介紹了python爬蟲之PySpider框架的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • python 查找輪廓的實(shí)現(xiàn)示例

    python 查找輪廓的實(shí)現(xiàn)示例

    邊緣檢測(cè)是一種從圖像中提取輪廓和特征的技術(shù),本文主要介紹了python查找輪廓的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-07-07
  • 由Python編寫的MySQL管理工具代碼實(shí)例

    由Python編寫的MySQL管理工具代碼實(shí)例

    這篇文章主要介紹了由Python編寫的MySQL管理工具,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • python 讀取更新中的log 或其它文本方式

    python 讀取更新中的log 或其它文本方式

    今天就為大家分享一篇python 讀取更新中的log 或其它文本方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python中用startswith()函數(shù)判斷字符串開頭的教程

    Python中用startswith()函數(shù)判斷字符串開頭的教程

    這篇文章主要介紹了Python中用startswith()函數(shù)判斷字符串開頭的教程,startswith()函數(shù)的使用是Python學(xué)習(xí)中的基礎(chǔ)知識(shí),本文列舉了一些不同情況下的使用結(jié)果,需要的朋友可以參考下
    2015-04-04
  • Python虛擬機(jī)之super超級(jí)魔法的使用和工作原理詳解

    Python虛擬機(jī)之super超級(jí)魔法的使用和工作原理詳解

    在本篇文章中,我們將深入探討Python中的super類的使用和內(nèi)部工作原理,super類作為Python虛擬機(jī)中強(qiáng)大的功能之一,super 可以說是 Python 對(duì)象系統(tǒng)基石,他可以幫助我們更靈活地使用繼承和方法調(diào)用,需要的朋友可以參考下
    2023-10-10
  • Python使用函數(shù)默認(rèn)值實(shí)現(xiàn)函數(shù)靜態(tài)變量的方法

    Python使用函數(shù)默認(rèn)值實(shí)現(xiàn)函數(shù)靜態(tài)變量的方法

    這篇文章主要介紹了Python使用函數(shù)默認(rèn)值實(shí)現(xiàn)函數(shù)靜態(tài)變量的方法,是很實(shí)用的功能,需要的朋友可以參考下
    2014-08-08
  • Python如何用pip命令升級(jí)所有可以升級(jí)的(過時(shí)的)包

    Python如何用pip命令升級(jí)所有可以升級(jí)的(過時(shí)的)包

    這篇文章主要介紹了Python如何用pip命令升級(jí)所有可以升級(jí)的(過時(shí)的)包,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • Python實(shí)現(xiàn)接口下載json文件并指定文件名稱

    Python實(shí)現(xiàn)接口下載json文件并指定文件名稱

    在 Web 開發(fā)中,提供文件下載功能是一種常見的需求,尤其是當(dāng)涉及到導(dǎo)出數(shù)據(jù)為 JSON 格式時(shí),為了確保文件名的自定義以及避免亂碼問題,開發(fā)者需要采取一些特定的措施,本文介紹了Python實(shí)現(xiàn)接口下載json文件并指定文件名稱,需要的朋友可以參考下
    2024-10-10

最新評(píng)論

和平县| 吴忠市| 东港市| 义乌市| 定陶县| 邢台市| 邵东县| 平邑县| 南部县| 漳平市| 五大连池市| 安宁市| 昌黎县| 阳山县| 舒兰市| 保德县| 东阳市| 曲松县| 十堰市| 确山县| 阿克| 远安县| 洪洞县| 宣恩县| 沙湾县| 交口县| 宝坻区| 宜宾县| 丹巴县| 邵阳市| 伊通| 南开区| 罗山县| 澄江县| 垫江县| 龙井市| 方正县| 南陵县| 赣榆县| 吴川市| 潞城市|