IFE
is a package to get an image feature more easily for Python. It contains many kinds of feature extract algorithms.
For the latest version are available using pip install.
pip install ife
- Mean, Median, Variance, Skewness, Kurtosis of
RGB, HSV, HSL, CMY
- Colourfulness measure of the image
Import the basic image reader of IFE.
from ife.io.io import ImageReader
Add a image file path to read_from_single_file()
. This will return basic features class.
And now! You can get a RGB color moment feature from image!!
>>> features = ImageReader.read_from_single_file("ife/data/small_rgb.jpg")
>>> features.moment()
array([[ 0.57745098, 0.52156863, 0.55980392],
[ 0.58823529, 0.48823529, 0.54901961],
[ 0.15220588, 0.12136101, 0.12380911],
[-0.01944425, 0.18416571, 0.04508015],
[-1.94196824, -1.55209335, -1.75586748]])
Also, you can get an flatten vector, dictionary, or pandas
>>> features.moment(output_type="one_col")
array([ 0.57745098, 0.52156863, 0.55980392, 0.58823529, 0.48823529,
0.54901961, 0.15220588, 0.12136101, 0.12380911, -0.01944425,
0.18416571, 0.04508015, -1.94196824, -1.55209335, -1.75586748])
>>> features.moment(output_type="dict")
defaultdict(<class 'dict'>, {'mean': {'R': 0.57745098039215681, 'G': 0.52156862745098043, 'B': 0.55980392156862746}, 'median': {'R': 0.58823529411764708, 'G': 0.48823529411764705, 'B': 0.5490196078431373}, 'var': {'R': 0.15220588235294119, 'G': 0.12136101499423299, 'B': 0.12380911188004615}, 'skew': {'R': -0.019444250980856902, 'G': 0.18416570783012232, 'B': 0.045080152334687214}, 'kurtosis': {'R': -1.9419682406751135, 'G': -1.5520933544103905, 'B': -1.7558674751807395}})
>>> features.moment(output_type="pandas")
mean median var skew kurtosis
R 0.577451 0.588235 0.152206 -0.019444 -1.941968
G 0.521569 0.488235 0.121361 0.184166 -1.552093
B 0.559804 0.549020 0.123809 0.045080 -1.755867
No! I want a HSV Color space feature :(
It can set another color space! Default will be RGB.
>>> features.moment(output_type="one_col", color_space="CMY")
array([ 0.42254902, 0.47843137, 0.44019608, 0.41176471, 0.51176471,
0.45098039, 0.15220588, 0.12136101, 0.12380911, 0.01944425,
-0.18416571, -0.04508015, -1.94196824, -1.55209335, -1.75586748])
>>> features.moment(output_type="dict", color_space="HSL")
defaultdict(<class 'dict'>, {'mean': {'H': 0.50798329143793874, 'S': 0.52775831413836383, 'L': 0.61421568627450984}, 'median': {'H': 0.51915637553935423, 'S': 0.62898601603182969, 'L': 0.52156862745098043}, 'var': {'H': 0.13290200013401141, 'S': 0.10239897927552907, 'L': 0.051550124951941563}, 'skew': {'H': -0.078898095002588917, 'S': -0.83203104238315984, 'L': 1.0202366337483093}, 'kurtosis': {'H': -1.2599104562470791, 'S': -0.87111810912637022, 'L': -0.7502836585891588}})
>>> features.moment(output_type="pandas", color_space="HSV")
mean median var skew kurtosis
H 0.507983 0.519156 0.132902 -0.078898 -1.259910
S 0.595236 0.749543 0.122723 -1.028366 -0.768867
V 0.855882 0.864706 0.013867 -0.155656 -1.498179
D. Hasler and S.E.Suesstrunk, ``Measuring colorfulness in natural images," Human Vision andElectronicImagingVIII, Proceedings of the SPIE, 5007:87-95, 2003.
>>> features = ImageReader.read_from_single_file("ife/data/strawberry.jpg")
>>> features.colourfulness()
0.18441700366624714
- Read from URL links
- Read from Base64
- Sliding window
- Video files
- CMYK
- CIE Lab
- XYZ
- Value normalize
- Average Gradient
- LBP
- Histogram
- Color harmony
- Entropy
- Brightness measure
- Contrast measure
- Saturation measure
- Naturalness
- Color fidelity metric
- Saliency map
- Fisher vector
- VGG16, 19 layer feature
- and more...
@Collonville
BSD-3-Clause