Images

From 太極
Jump to navigation Jump to search

File formats

Explaining Image File Formats (video)

Note we can compress files before we share them/upload to web servers.

Anti-alias

Convert a color image to black and white/grayscale

$ convert filename.jpg -canny 0x1 -negate canny.jpg
convert.im6: unrecognized option `-canny' @ error/convert.c/ConvertImageCommand/1107.

$ convert filename.jpg +clone +level-colors gray,white -background black -alpha remove -colorspace Gray canny.jpg

$ convert filename.jpg -monochrome canny.jpg

$ convert filename.jpg -colorspace Gray canny.jpg  # Best

The current imagemagick version is 7.0.7-15.

Install/build the latest imagemagick

# remove version installed with apt-get
sudo apt-get remove imagemagick && sudo apt-get autoremove

# install dependencies
sudo apt-get install build-essential
sudo apt-get build-dep imagemagick -y

# download ImageMagick source
wget http://www.imagemagick.org/download/ImageMagick.tar.gz
tar xzvf ImageMagick.tar.gz

# build source
cd ImageMagick-*
./configure
make

# install and verify
sudo make install

sudo checkinstall

**********************************************************************

 Done. The new package has been installed and saved to

 /home/XXX/Downloads/ImageMagick-7.0.7-15/imagemagick-7.0.7_15-1_amd64.deb

 You can remove it from your system anytime using: 

      dpkg -r imagemagick-7.0.7

**********************************************************************

$ convert --version
# bash: /usr/bin/convert: No such file or directory

$ which convert
/usr/local/bin/convert
$ whereis convert
convert: /usr/local/bin/convert
$ /usr/local/bin/convert -version
Version: ImageMagick 7.0.7-15 Q16 x86_64 2017-12-20 http://www.imagemagick.org
Copyright: © 1999-2018 ImageMagick Studio LLC
License: http://www.imagemagick.org/script/license.php
Features: Cipher DPC HDRI OpenMP 
Delegates (built-in): bzlib fontconfig freetype jbig jng jpeg lzma pangocairo png tiff x xml zlib

Convert an image to sketch (online tool)

convert my-image.jpg -colorspace Gray my-image-gray.jpg
# OR
convert <img_in> -set colorspace Gray -separate -average <img_out>

To convert into a 2-bit image

convert my-image.jpg -colorspace Gray -depth 2 my-image-gray.jpg 

Convert an image to a different resolution/pixel size

A few basic (but powerful) ImageMagick commands

convert image.jpg -resize 1024x768\! output_file.jpg

Convert an image file to a different format (eg icon)

Using the imagemagic program.

convert winamp-ncrow.png -resize 32x32 winamp-ncrow.ico

4 Ways to Batch Convert Your PNG to JPG and Vice-Versa

Make an icon using GIMP

How to Make an Icon for Windows 10 or 11 Out of Any Image

Rotate an image

http://www.imagemagick.org/script/command-line-options.php#rotate

convert winamp-ncrow.png -rotate 45 winamp-ncrow2.png  # 45 degrees

One problem with this simple approach is the picture size (not image file) changed (become smaller) if the degree is not one of 90,180 or 270.

Create an animated gif file

Use the script here. See the last example on here. The rotation speed looks good too! Just change the source image file in the script.

#!/bin/sh
#
# Create a rotating figure using Distort SRT transformations
#
command='convert -delay 10 koala.gif -virtual-pixel white'

for i in `seq 5 5 360`; do
  command="$command \\( -clone 0 -distort SRT $i \\)"
done

command="$command -delete 0 -loop 0 animate_distort_rot.gif"

eval $command

chmod 644 animate_distort_rot.gif

Tool to convert a sequence of numbered PNG files to an animated GIF?. Convert command line option. The option '-loop 0' means repeats infinitely and '-delay 200' means 2 seconds delay between each frame.

convert -delay 200 -loop 0 file_1.png file_2.png file_3.png animated.gif

Convert Video to GIF

The Best Ways to Convert Video to GIF

Edit gif file

gifsicle package

Background

Replace transparency in PNG images with white background

http://stackoverflow.com/questions/2322750/replace-transparency-in-png-images-with-white-background

convert image.png -background white -alpha remove white.png

Online tools to remove background

https://www.magiceraser.io/

Automatic background removal using R

Image segmentation in R: Automatic background removal like in a Zoom conference

Remove GPS metadata from jpg files - exiftool

sudo apt-get install libimage-exiftool-perl
exiftool -gps:all= -xmp:geotag= image.jpg

The image file will be updated. To check the current metadata, use

exiftool image.jpg | grep GPS

Note that the above command only remove gps information. The other information like date/time of creation, camera model are not changed.

Exitftool can also be used to edit the metadata on PDF files.

exiftool -Title="This is the Title" -Author="Happy Man" -Subject="PDF Metadata" drawing.pdf

An R package exifr also available on CRAN.

Edit Svg image

Animated gif

Hue/saturation

How to Creatively Use Hue/Saturation Adjustments in Photoshop

What’s the Difference between Illustrator and Photoshop

What’s the Difference between Illustrator and Photoshop?

Adobe InDesign vs. Illustrator

Adobe InDesign vs. Illustrator: Which One Should You Use?

Display images in the terminal

Using FIM

Design

How to Use Canva to Design Like a Professional

Logos

The 4 Best Websites to Create a Logo for Your Business

Collage

OCR