訂閱
糾錯(cuò)
加入自媒體

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

5. RandomRotation

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

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

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

旋轉(zhuǎn)圖像

6. Grayscale

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

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

輸出如下所示。

7. GaussianBlur

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

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

8. RandomApply

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

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

9. Compose

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

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

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

10. 函數(shù)變換

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

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

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

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

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

例如,如果值為1,則會(huì)得到與輸入相同的圖像。如果該值大于1,將獲得更亮的圖像。如果它小于1,你會(huì)得到一個(gè)更暗的圖像?梢韵鄳(yīng)地傳遞浮點(diǎn)值。返回的圖像將是張量或PIL圖像。

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

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

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

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

C) 調(diào)整色調(diào):adjust_h(yuǎn)ue

色調(diào)是圖像的一個(gè)重要屬性。Pytorch允許你通過(guò)transforms.functional.a(chǎn)djust_h(yuǎn)ue進(jìn)行調(diào)整。

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

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

new_img = transforms.functional.a(chǎn)djust_h(yuǎn)ue(image,hue_factor=0.3)
new_img

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

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

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

輸出如下圖所示!

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

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

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

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

檢查輸出!

F) 均衡:equalize

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

怎么會(huì)這樣?

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

new_img = transforms.functional.equalize(image)

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

<上一頁(yè)  1  2  
聲明: 本文由入駐維科號(hào)的作者撰寫(xiě),觀點(diǎn)僅代表作者本人,不代表OFweek立場(chǎng)。如有侵權(quán)或其他問(wèn)題,請(qǐng)聯(lián)系舉報(bào)。

發(fā)表評(píng)論

0條評(píng)論,0人參與

請(qǐng)輸入評(píng)論內(nèi)容...

請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字

您提交的評(píng)論過(guò)于頻繁,請(qǐng)輸入驗(yàn)證碼繼續(xù)

  • 看不清,點(diǎn)擊換一張  刷新

暫無(wú)評(píng)論

暫無(wú)評(píng)論

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

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