數(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ù)。然而,對于圖像數(shù)據(jù)增強(qiáng),則需要灰度、隨機(jī)水平翻轉(zhuǎn)和隨機(jī)旋轉(zhuǎn)等變換。
10. 函數(shù)變換
在我們學(xué)習(xí)到的所有變換中,你可以注意到參數(shù)是隨機(jī)生成的。這通常足以進(jìn)行數(shù)據(jù)擴(kuò)充。但是,有時(shí)你可能需要對轉(zhuǎn)換管道進(jìn)行更細(xì)粒度的控制。在這種情況下,可以使用函數(shù)變換。在這里,你可以指定或生成所有參數(shù)。一個(gè)附加的優(yōu)點(diǎn)是,一個(gè)特定定義的函數(shù)變換可以應(yīng)用于多個(gè)圖像。
可以從torchvision.transforms.functional訪問所有函數(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)整對比度:adjust_contrast
上面我們看到了如何調(diào)整亮度,這里我們有另一個(gè)用于調(diào)整圖像對比度的變換。它需要兩個(gè)輸入?yún)?shù):張量形式的圖像和“對比度因子”。第二個(gè)參數(shù)將輸入一個(gè)浮點(diǎn)值,它將告訴你如何調(diào)整對比度。但不能是負(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允許你通過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
你可以通過此變換調(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ì)這樣?
它將對輸入應(yīng)用非線性映射,從而在輸出中創(chuàng)建灰度值的均勻分布。
new_img = transforms.functional.equalize(image)
這些是一些重要的函數(shù)轉(zhuǎn)換,將有助于在圖像預(yù)處理階段。它們也可以組合使用。

發(fā)表評(píng)論
請輸入評(píng)論內(nèi)容...
請輸入評(píng)論/評(píng)論長度6~500個(gè)字
最新活動(dòng)更多
-
3月27日立即報(bào)名>> 【工程師系列】汽車電子技術(shù)在線大會(huì)
-
4月30日立即下載>> 【村田汽車】汽車E/E架構(gòu)革新中,新智能座艙挑戰(zhàn)的解決方案
-
5月15-17日立即預(yù)約>> 【線下巡回】2025年STM32峰會(huì)
-
即日-5.15立即報(bào)名>>> 【在線會(huì)議】安森美Hyperlux™ ID系列引領(lǐng)iToF技術(shù)革新
-
5月15日立即下載>> 【白皮書】精確和高效地表征3000V/20A功率器件應(yīng)用指南
-
5月16日立即參評(píng) >> 【評(píng)選啟動(dòng)】維科杯·OFweek 2025(第十屆)人工智能行業(yè)年度評(píng)選
推薦專題
-
10 月之暗面,絕地反擊
- 1 UALink規(guī)范發(fā)布:挑戰(zhàn)英偉達(dá)AI統(tǒng)治的開始
- 2 北電數(shù)智主辦酒仙橋論壇,探索AI產(chǎn)業(yè)發(fā)展新路徑
- 3 降薪、加班、裁員三重暴擊,“AI四小龍”已折戟兩家
- 4 “AI寒武紀(jì)”爆發(fā)至今,五類新物種登上歷史舞臺(tái)
- 5 國產(chǎn)智駕迎戰(zhàn)特斯拉FSD,AI含量差幾何?
- 6 光計(jì)算迎來商業(yè)化突破,但落地仍需時(shí)間
- 7 東陽光:2024年扭虧、一季度凈利大增,液冷疊加具身智能打開成長空間
- 8 地平線自動(dòng)駕駛方案解讀
- 9 封殺AI“照騙”,“淘寶們”終于不忍了?
- 10 優(yōu)必選:營收大增主靠小件,虧損繼續(xù)又逢關(guān)稅,能否乘機(jī)器人東風(fēng)翻身?