Equalization
類別keras.layers.Equalization(value_range=(0, 255), bins=256, data_format=None, **kwargs)
用於圖像通道上直方圖等化的預處理層。
直方圖等化是一種調整圖像強度以增強對比度的技術,其方法是有效地分散最頻繁的強度值。此層在逐通道的基礎上應用等化,這可以提高圖像中細節的能見度。
此層適用於灰階和彩色圖像,並在每個顏色通道上獨立執行等化。在推論時,等化會一致地應用。
注意: 此層可以安全地在 tf.data
管道中使用(與您使用的後端無關)。
引數
[0, 255]
。如果輸入圖像已縮放,請使用適當的範圍(例如,[0.0, 1.0]
)。等化將縮放到此範圍,並且輸出值將相應地被裁剪。輸入形狀
3D(未批次)或 4D(批次)張量,形狀為:(..., height, width, channels)
,採用 "channels_last"
格式,或 (..., channels, height, width)
,採用 "channels_first"
格式。
輸出形狀
3D(未批次)或 4D(批次)張量,形狀為:(..., target_height, target_width, channels)
,或 (..., channels, target_height, target_width)
,採用 "channels_first"
格式。
範例
# Create an equalization layer for standard 8-bit images
equalizer = keras.layers.Equalization()
# An image with uneven intensity distribution
image = [...] # your input image
# Apply histogram equalization
equalized_image = equalizer(image)
# For images with custom value range
custom_equalizer = keras.layers.Equalization(
value_range=[0.0, 1.0], # for normalized images
bins=128 # fewer bins for more subtle equalization
)
custom_equalized = custom_equalizer(normalized_image)