A tiny digital photographic utility.
"Anshitsu" means a darkroom in Japanese.
Run this command in an environment where Python 3.10 or higher is installed.
We have tested it on Windows, Mac, and Ubuntu on GitHub Actions, but we have not tested it on Macs with Apple Silicon, so please use it at your own risk on Macs with Apple Silicon.
pip install anshitsu
It is as described in the following help.
INFO: Showing help with the command 'anshitsu -- --help'.
NAME
anshitsu - Process Runnner for Command Line Interface
SYNOPSIS
anshitsu PATH <flags>
DESCRIPTION
This utility converts the colors of images such as photos.
If you specify a directory path, it will convert
the image files in the specified directory.
If you specify a file path, it will convert the specified file.
If you specify an option, the specified conversion will be performed.
Tosaka mode is a mode that expresses the preference of
Tosaka-senpai, a character in "Kyūkyoku Chōjin R",
for "photos taken with Tri-X that look like they were
burned onto No. 4 or No. 5 photographic paper".
Only use floating-point numbers when using this mode;
numbers around 2.4 will make it look right.
POSITIONAL ARGUMENTS
PATH
Type: str
Directory or File Path
FLAGS
--colorautoadjust=COLORAUTOADJUST
Type: bool
Default: False
Use colorautoadjust algorithm. Defaults to False.
--colorstretch=COLORSTRETCH
Type: bool
Default: False
Use colorstretch algorithm. Defaults to False.
--grayscale=GRAYSCALE
Type: bool
Default: False
Convert to grayscale. Defaults to False.
--invert=INVERT
Type: bool
Default: False
Invert color. Defaults to False.
--tosaka=TOSAKA
Type: Optional[Optional]
Default: None
Use Tosaka mode. Defaults to None.
--outputrgb=OUTPUTRGB
Type: bool
Default: False
Outputs a monochrome image in RGB. Defaults to False.
--noise=NOISE
Type: Optional[Optional]
Default: None
Add Gaussian noise. Defaults to None.
NOTES
You can also use flags syntax for POSITIONAL ARGUMENTS
If a directory is specified in the path, an out
directory will be created in the specified directory, and the converted JPEG and PNG images will be stored in PNG format.
If you specify a JPEG or PNG image file as the path, an out
directory will be created in the directory where the image is stored, and the converted image will be stored in PNG format.
Note: If you specify a file in any other format in the path, be aware there is no error handling. The program will terminate abnormally.
The following algorithms are available in this tool.
Converts an image that contains Alpha, such as RGBA, to image data that does not contain Alpha. Transparent areas will be filled with white.
This algorithm is performed on any image file.
Inverts the colors of an image using Pillow's built-in algorithm.
In the case of negative film, color conversion that takes into account the film base color is not performed, but we plan to follow up with a feature to be developed in the future.
We will use the "automatic color equalization" algorithm described in the following paper to apply color correction.
This process is more time consuming than the algorithm used in "colorstretch", but it can reproduce more natural colors.
(References)
A. Rizzi, C. Gatta and D. Marini, "A new algorithm for unsupervised global and local color correction.", Pattern Recognition Letters, vol. 24, no. 11, 2003.
The "gray world" and "stretch" algorithms described in the following paper are combined to apply color correction.
This process is faster than the algorithm used in "colorautoajust".
(References)
D. Nikitenko, M. Wirth and K. Trudel, "Applicability Of White-Balancing Algorithms to Restoring Faded Colour Slides: An Empirical Evaluation.", Journal of Multimedia, vol. 3, no. 5, 2008.
Convert a color image to grayscale using the algorithm described in the following article.
Note: This article is written in Japanese.
Tosaka mode is a mode that expresses the preference of Tosaka-senpai, a character in "Kyūkyoku Chōjin R", for "photos taken with Tri-X that look like they were burned onto No. 4 or No. 5 photographic paper".
Only use floating-point numbers when using this mode; numbers around 2.4 will make it look right.
When this mode is specified, color images will also be converted to grayscale.
Outputs a monochrome image in RGB.
Add Gaussian noise.
To add noise, you need to specify a floating-point number; a value of about 10.0 will be just right.
We are using the following libraries.