dmtools (Digital Media Tools) is a Python package providing low-level tools for working with digital media programmatically. It supports the PNG and Netpbm image file formats as well as the MPEG-4 and WAV video and audio file formats respectively.
The transform
module provides image transformation tools such as rescale
(based on the ImageMagick implementation) and composite (based on the
Cairo implementation). The adjustments
module provides a curves tool and
the colorspace
module provides colorspace conversion tools. The arrange
module provides image layout tools. Lastly, the animation
and sound
modules
provide tools for working with video and sound respectively. For more details,
see the Documentation.
The quickest way to get started is with a pip install.
pip install dmtools
The animation
module requires ffmpeg which you can install with a package
manager like Homebrew. Note that this may take some time to install.
brew install ffmpeg
For in-depth installation instructions see Installation.
The usage example below illustrates how an image can be read, manipulated,
and exported using dmtools. It features a change of color space, inversion of
the red channel, and blur. For more usage examples, see the
Introduction to dmtools in Tutorials. Both the input image
checks_5.png
and output image result.png
can be found in the dmtools
GitHub repository.
import dmtools
from dmtools import colorspace, transform, adjustments, arrange
image = dmtools.read("checks_5.png")
image = colorspace.gray_to_RGB(image)
image = adjustments.apply_curve(image, lambda x: 1 - x, 0)
image = transform.blur(image, 5)
image = arrange.image_grid([image]*2, 2, 1, 15, color=1)
dmtools.write_png(image, "result.png")
checks_5.png
result.png
Licensed under the MIT License