pytorch 如何實(shí)現(xiàn)HWC轉(zhuǎn)CHW
看代碼吧~
import torch import numpy as np from torchvision.transforms import ToTensor t = torch.tensor(np.arange(24).reshape(2,4,3)) print(t) #HWC 轉(zhuǎn)CHW print(t.transpose(0,2).transpose(1,2)) print(t.permute(2,0,1)) print(ToTensor()(t.numpy()))
D:\anaconda\python.exe C:/Users/liuxinyu/Desktop/pytorch_test/day3/hwc轉(zhuǎn)chw.py
tensor([[[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8],
[ 9, 10, 11]],[[12, 13, 14],
[15, 16, 17],
[18, 19, 20],
[21, 22, 23]]], dtype=torch.int32)
tensor([[[ 0, 3, 6, 9],
[12, 15, 18, 21]],[[ 1, 4, 7, 10],
[13, 16, 19, 22]],[[ 2, 5, 8, 11],
[14, 17, 20, 23]]], dtype=torch.int32)
tensor([[[ 0, 3, 6, 9],
[12, 15, 18, 21]],[[ 1, 4, 7, 10],
[13, 16, 19, 22]],[[ 2, 5, 8, 11],
[14, 17, 20, 23]]], dtype=torch.int32)
tensor([[[ 0, 3, 6, 9],
[12, 15, 18, 21]],[[ 1, 4, 7, 10],
[13, 16, 19, 22]],[[ 2, 5, 8, 11],
[14, 17, 20, 23]]], dtype=torch.int32)Process finished with exit code 0
補(bǔ)充:opencv python 把圖(cv2下)BGR轉(zhuǎn)RGB,且HWC轉(zhuǎn)CHW
如下所示:
img = cv2.imread("001.jpg")
img_ = img[:,:,::-1].transpose((2,0,1))
① 在opencv里,圖格式HWC,其余都是CHW,故transpose((2,0,1))
② img[:,:,::-1]對(duì)應(yīng)H、W、C,彩圖是3通道,即C是3層。opencv里對(duì)應(yīng)BGR,故通過C通道的 ::-1 就是把BGR轉(zhuǎn)為RGB
注: [::-1] 代表順序相反操作
③ 若不涉及C通道的BGR轉(zhuǎn)RGB,如Img[:,:,0]代表B通道,也就是藍(lán)色分量圖像;Img[:,:,1]代表G通道,也就是綠色分量圖像;
Img[:,:,2]代表R通道,也就是紅色分量圖像。
補(bǔ)充:python opencv 中將圖像由BGR轉(zhuǎn)換為CHW用于后期的深度訓(xùn)練
BGR HWC -> CHW 12 -> HCW 01 -> CHW
import cv2 as cv
import numpy as np
img = cv.imread("lenna.png")
#BGR HWC -> CHW 12 -> HCW 01 -> CHW
transform_img = img.swapaxes(1,2).swapaxes(0,1)
print(img.shape)
print(transform_img.shape)
cv.imshow("image0 ",transform_img[0])
cv.imshow("image1",transform_img[1])
cv.imshow("image2",transform_img[2])
cv.waitKey(0)
cv.destroyAllWindows()
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python 數(shù)據(jù)分析之Beautiful Soup 提取頁面信息
Beautiful Soup 提供一些簡單的、python 式的函數(shù)用來處理導(dǎo)航、搜索、修改分析樹等功能。它是一個(gè)工具箱,通過解析文檔為用戶提供需要抓取的數(shù)據(jù),因?yàn)楹唵?,所以不需要多少代碼就可以寫出一個(gè)完整的應(yīng)用程序2021-10-10
Python打包成.exe可執(zhí)行文件的詳細(xì)步驟
在Python中,可以使用一些工具將Python代碼打包成可執(zhí)行文件(.exe)以便在沒有安裝Python解釋器的環(huán)境中運(yùn)行,本文通過圖文結(jié)合的方式給大家詳細(xì)介紹了Python打包成.exe可執(zhí)行文件的步驟,需要的朋友可以參考下2024-04-04
基于Python實(shí)現(xiàn)面向?qū)ο蟀鎸W(xué)生管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了如何利用python實(shí)現(xiàn)學(xué)生管理系統(tǒng)(面向?qū)ο蟀妫?,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07
python3 面向?qū)ο骭_類的內(nèi)置屬性與方法的實(shí)例代碼
這篇文章主要介紹了python3 面向?qū)ο骭_類的內(nèi)置屬性與方法的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-11-11

