訂閱
糾錯
加入自媒體

數(shù)據(jù)格式轉(zhuǎn)化,PyTorch就是救星!

5. RandomRotation

此變換將圖像隨機旋轉(zhuǎn)一個角度。以度為單位的角度可以作為參數(shù)“degrees”的輸入。

transform = transforms.Compose([transforms.RandomRotation(degrees=180)])
tensor_img = transform(image)
tensor_img

查看上述代碼的轉(zhuǎn)換!

旋轉(zhuǎn)圖像

6. Grayscale

此轉(zhuǎn)換將把原始RGB圖像更改為灰度(即黑白)。你可以提供你想要多少個通道作為參數(shù)“num_output_channels”的輸入。

transform = transforms.Compose([transforms.Grayscale(num_output_channels=1)])
tensor_img = transform(image)
tensor_img

輸出如下所示。

7. GaussianBlur

在這里,圖像將被隨機選擇的高斯模糊所模糊。必須提供參數(shù)kernel_size。

transform = transforms.Compose([transforms.GaussianBlur(kernel_size=501)])
tensor_img = transform(image)
tensor_img

8. RandomApply

此轉(zhuǎn)換將隨機應(yīng)用給定的轉(zhuǎn)換列表。

transform = transforms.RandomApply([transforms.RandomSizedCrop(200),transforms.RandomHorizontalFlip()],p=0.6)
tensor_img = transform(image)

9. Compose

在本文中,我們一直在使用Compose() 。為了清楚地定義它,它將幾個變換組合在一起。

transforms.Compose([transforms.Grayscale(1),transforms.CenterCrop(10), transforms.ToTensor()])

一些轉(zhuǎn)換將以所需格式處理數(shù)據(jù)。然而,對于圖像數(shù)據(jù)增強,則需要灰度、隨機水平翻轉(zhuǎn)和隨機旋轉(zhuǎn)等變換。

10. 函數(shù)變換

在我們學習到的所有變換中,你可以注意到參數(shù)是隨機生成的。這通常足以進行數(shù)據(jù)擴充。但是,有時你可能需要對轉(zhuǎn)換管道進行更細粒度的控制。在這種情況下,可以使用函數(shù)變換。在這里,你可以指定或生成所有參數(shù)。一個附加的優(yōu)點是,一個特定定義的函數(shù)變換可以應(yīng)用于多個圖像。

可以從torchvision.transforms.functional訪問所有函數(shù)轉(zhuǎn)換。

現(xiàn)在讓我們深入了解PyTorch提供的不同功能轉(zhuǎn)換。

A) 調(diào)整亮度:adjust_brightness

這主要是調(diào)整圖像的亮度。它以PyTorch張量的形式將圖像作為輸入。它還有一個重要參數(shù)“亮度系數(shù)”。這將表示如何實際更改亮度。

例如,如果值為1,則會得到與輸入相同的圖像。如果該值大于1,將獲得更亮的圖像。如果它小于1,你會得到一個更暗的圖像。可以相應(yīng)地傳遞浮點值。返回的圖像將是張量或PIL圖像。

new_img = transforms.functional.a(chǎn)djust_brightness(image,brightness_factor=2)
new_img

B) 調(diào)整對比度:adjust_contrast

上面我們看到了如何調(diào)整亮度,這里我們有另一個用于調(diào)整圖像對比度的變換。它需要兩個輸入?yún)?shù):張量形式的圖像和“對比度因子”。第二個參數(shù)將輸入一個浮點值,它將告訴你如何調(diào)整對比度。但不能是負的。

new_img = transforms.functional.a(chǎn)djust_contrast(image,contrast_factor=3.8)
new_img

C) 調(diào)整色調(diào):adjust_hue

色調(diào)是圖像的一個重要屬性。Pytorch允許你通過transforms.functional.a(chǎn)djust_hue進行調(diào)整。

想知道它是怎么工作的嗎?

首先,圖像將被轉(zhuǎn)換成HSV(色調(diào),飽和度,值)形式。將根據(jù)我們的參數(shù)在H通道中進行更改。更改后,圖像將轉(zhuǎn)換為其原始形式。重要的參數(shù)是“色調(diào)因子”。它可以是[-0.5.0.5]范圍內(nèi)的浮點值。嘗試實現(xiàn)下面的示例。

new_img = transforms.functional.a(chǎn)djust_hue(image,hue_factor=0.3)
new_img

D) 調(diào)整飽和度:adjust_saturation

這是為了調(diào)整輸入圖像的顏色飽和度。與上述情況類似,我們有一個“飽和度系數(shù)”參數(shù),它決定了飽和度的變化方式。這將輸入一個浮點值。如果將其設(shè)置為0,則會得到黑白圖像。

new_img = transforms.functional.a(chǎn)djust_saturation(image,saturation_factor=6)

輸出如下圖所示!

E) 調(diào)整銳度:adjust_sharpness

你可以通過此變換調(diào)整圖像的清晰度。它采用浮點值作為“銳度系數(shù)”參數(shù)的輸入。此值可以是除負值以外的任何值。

在下面的代碼中,我使用了10的銳度因子,這意味著變換后的圖像將是原始圖像的10倍銳度。

new_img = transforms.functional.a(chǎn)djust_sharpness(image,sharpness_factor=10)

檢查輸出!

F) 均衡:equalize

這種變換將均衡圖像的直方圖。

怎么會這樣?

它將對輸入應(yīng)用非線性映射,從而在輸出中創(chuàng)建灰度值的均勻分布。

new_img = transforms.functional.equalize(image)

這些是一些重要的函數(shù)轉(zhuǎn)換,將有助于在圖像預(yù)處理階段。它們也可以組合使用。

<上一頁  1  2  
聲明: 本文由入駐維科號的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。如有侵權(quán)或其他問題,請聯(lián)系舉報。

發(fā)表評論

0條評論,0人參與

請輸入評論內(nèi)容...

請輸入評論/評論長度6~500個字

您提交的評論過于頻繁,請輸入驗證碼繼續(xù)

暫無評論

暫無評論

人工智能 獵頭職位 更多
掃碼關(guān)注公眾號
OFweek人工智能網(wǎng)
獲取更多精彩內(nèi)容
文章糾錯
x
*文字標題:
*糾錯內(nèi)容:
聯(lián)系郵箱:
*驗 證 碼:

粵公網(wǎng)安備 44030502002758號