1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372
|
<!DOCTYPE html>
<html lang="en" data-bs-theme="dark">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
<!-- Title and Description -->
<title>ImageMagick | Multispectral Imagery</title>
<meta name="description" content="ImageMagick is a powerful open-source software suite for creating, editing, converting, and manipulating images in over 200 formats. Ideal for developers, designers, and researchers." />
<!-- Canonical URL -->
<link rel="canonical" href="multispectral-imagery.html" />
<!-- Robots -->
<meta name="robots" content="index, follow" />
<!-- Theme Color -->
<meta name="theme-color" content="#000000" />
<!-- Verification Tags -->
<meta name="google-site-verification" content="_bMOCDpkx9ZAzBwb2kF3PRHbfUUdFj2uO8Jd1AXArz4" />
<!-- Favicon and Apple Icon -->
<link rel="shortcut icon" href="../images/wand.png" type="images/png" />
<link rel="apple-touch-icon" href="../images/wand.png" type="images/png" />
<!-- Preconnect for External Resources -->
<link rel="preconnect" href="../index.html" />
<!-- Stylesheets -->
<link rel="preload" href="assets/bootstrap.min.css" as="style" crossorigin="anonymous" />
<link rel="stylesheet" href="assets/bootstrap.min.css" />
<!-- Accessibility Enhancement -->
<style>
html {
scroll-padding-top: 70px;
}
</style>
<!-- Open Graph Meta Tags -->
<meta property="og:title" content="ImageMagick | Multispectral Imagery" />
<meta property="og:description" content="ImageMagick is a powerful open-source software suite for creating, editing, converting, and manipulating images in over 200 formats. Ideal for developers, designers, and researchers." />
<meta property="og:image" content="../images/logo.png" />
<meta property="og:logo" content="../images/logo.png" />
<meta property="og:url" content="../www/multispectral-imagery.html" />
<meta property="og:type" content="website" />
<meta property="og:site_name" content="ImageMagick" />
<meta property="og:locale" content="en_us" />
<!-- Twitter Card Meta Tags -->
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:site" content="@imagemagick" />
<meta name="twitter:creator" content="@imagemagick" />
<meta name="twitter:title" content="ImageMagick | Multispectral Imagery" />
<meta name="twitter:description" content="ImageMagick is a powerful open-source software suite for creating, editing, converting, and manipulating images in over 200 formats. Ideal for developers, designers, and researchers." />
<meta name="twitter:image" content="../images/logo.png" />
<meta name="twitter:image:alt" content="ImageMagick logo and tag line" />
<!-- JSON-LD Structured Data -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"name": "ImageMagick",
"url": "../www/multispectral-imagery.html",
"image": "../images/logo.png",
"description": "ImageMagick is a powerful open-source software suite for creating, editing, converting, and manipulating images in over 200 formats. Ideal for developers, designers, and researchers.",
"applicationCategory": "Multimedia",
"operatingSystem": "Windows, macOS, Linux, Unix",
"softwareVersion": "7.1.2-1",
"license": "../www/license.html",
"creator": {
"@type": "Organization",
"name": "ImageMagick Studio LLC",
"url": "https://imagemagick.org"
},
"keywords": [
"Multispectral Imagery",
"image processing software",
"image conversion tool",
"batch image editing",
"open-source image editor",
"ImageMagick command-line",
"resize images ImageMagick",
"crop and rotate images",
"ImageMagick tutorial",
"ImageMagick automation",
"ImageMagick for developers",
"ImageMagick CLI",
"ImageMagick filters and effects",
"ImageMagick scripting",
"ImageMagick API integration"
],
"sameAs": [
"https://github.com/ImageMagick",
"https://x.com/imagemagick"
],
"offers": {
"@type": "Offer",
"price": "0.00",
"priceCurrency": "USD"
}
}
</script>
<!-- Google Custom Search -->
</head>
<body>
<script>
function setTheme(theme) {
localStorage.setItem('theme', theme);
updateThemeIcon(theme);
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? getSystemTheme() : theme);
}
function getSystemTheme() {
return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
}
function updateThemeIcon(theme) {
const iconMap = {
light: '☀️',
dark: '🌙',
auto: '🌓'
};
document.getElementById('currentThemeIcon').textContent = iconMap[theme] || '🌓';
}
document.addEventListener('DOMContentLoaded', () => {
const savedTheme = localStorage.getItem('theme') || 'auto';
setTheme(savedTheme);
});
</script>
<nav class="navbar navbar-expand-md navbar-dark bg-dark fixed-top">
<div class="container-fluid">
<a class="navbar-brand fw-bold" href="../index.html" title="$meta->sitename;">
ImageMagick </a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#magick-navbars" aria-controls="magick-navbars" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="magick-navbars">
<ul class="navbar-nav me-auto">
<li class="nav-item">
<a class="nav-link " href="download.html">Download</a>
</li>
<li class="nav-item">
<a class="nav-link " href="../www/command-line-tools.html">Tools</a>
</li>
<li class="nav-item">
<a class="nav-link " href="command-line-processing.html">CLI</a>
</li>
<li class="nav-item">
<a class="nav-link " href="develop.html">Develop</a>
</li>
<li class="nav-item">
<a class="nav-link" rel="noopener" target="_blank" href="https://github.com/ImageMagick/ImageMagick/discussions">Community</a>
</li>
<li class="nav-item ms-4">
<iframe src="https://github.com/sponsors/ImageMagick/button" title="Sponsor ImageMagick" height="35" width="107" style="border: 0;"></iframe>
</li>
</ul>
<ul class="navbar-nav ms-auto">
<li class="nav-item dropdown">
</li>
<li class="nav-item dropdown ms-2">
<a class="nav-link dropdown-toggle" href="#" id="themeDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
<span id="currentThemeIcon">🌓</span>
</a>
<ul class="dropdown-menu dropdown-menu-end" aria-labelledby="themeDropdown">
<li><a class="dropdown-item" href="#" onclick="setTheme('light')">☀️ Light</a></li>
<li><a class="dropdown-item" href="#" onclick="setTheme('dark')">🌙 Dark</a></li>
<li><a class="dropdown-item" href="#" onclick="setTheme('auto')">🌓 Auto</a></li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
<div class="col-lg-8 mx-auto text-body-secondary pt-5 pt-lg-5">
<header class="d-flex align-items-center pb-3 mb-5 border-bottom">
<div class="mt-3 ms-3">
<a href="../index.html" class="text-decoration-none">
<h1 class="fs-2 mb-1">Multispectral Imagery</h1>
</a>
<h2 class="fs-5 text-muted">ImageMagick</h2>
</div>
</header>
<main class="container">
<div>
<p class="lead">Multispectral imagery refers to images that are captured using multiple bands of the electromagnetic spectrum, beyond just the visible light spectrum. This means that they capture data across a wider range of wavelengths, from ultraviolet to infrared.</p>
<p>By capturing data across multiple spectral bands, multispectral imagery can provide additional information about the objects or scenes being imaged, such as their composition, temperature, and vegetation health. This information can be used for a wide range of applications, including agriculture, environmental monitoring, disaster response, and military surveillance.</p>
<p>Multispectral imagery is often captured using specialized sensors on satellites, drones, or aircraft. The data is then processed using specialized software to create images that display the information captured in each spectral band.</p>
<p>Overall, multispectral imagery provides a powerful tool for analyzing and understanding the world around us, allowing us to gain insights that would be impossible to obtain using visible light imagery alone.</p>
<h4>Multispectral Support in ImageMagick</h4>
<p>ImageMagick supports multispectral images where all channels have the same dimensions and number of pixels as the original image. However, not all image formats support multispectral images. PSD, TIFF, MIFF, MPC, and <a href="http://im.snibgo.com/fmttxt.htm">FTXT</a> have full support for multispectral images up to 31 bands with 21 meta channels. If you build ImageMagick with the configure script <samp>--enable-64bit-channel-masks</samp> option, you can process 62 band multispectral images with up to 52 meta channels.</p>
<p>We call image channels beyond the standard RGB(A) or CMYK(A) channels, "meta" channels. We label them as "meta", "meta1", "meta2", etc.. Meta channels are treated the same as any other channel meaning they can be read, written, and operated upon-- e.g., resized, gamma adjusted, etc.</p>
<h5>Create a Multispectral Image</h5>
<p>Begin with a multispectral image, typically in the TIFF or PSD format. If you don't have one, you can create your own. In our example, we create a single CMYK pixel with two meta channels. Stuff this in a file titled <code>multiMeta.txt</code>:</p>
<pre class="p-3 mb-2 text-body-secondary bg-body-tertiary"><samp>0,0: 10,20,30,40,50,60</samp></pre>
<p>Let's convert that to the TIFF image format:</p>
<pre class="p-3 mb-2 text-body-secondary bg-body-tertiary"><samp>$ magick -size 1x1 -colorspace CMYK -define ftxt:format="\x,\y:\c\n" -define ftxt:hasalpha=false -define ftxt:nummeta=2 ftxt:multiMeta.txt multiMeta.tif</samp></pre>
<p>Let confirm that worked as expected:</p>
<pre class="pre-scrollable p-3 mb-2 text-body-secondary bg-body-tertiary"><samp>$ identify -verbose multiMeta.tif
Image:
Filename: multiMeta.tif
Permissions: rw-------
Format: TIFF (Tagged Image File Format)
Mime type: images/tiff
Class: DirectClass
Geometry: 1x1+0+0
Units: PixelsPerInch
Colorspace: CMYK
Type: ColorSeparation
Endianness: LSB
Depth: 16-bit
Channels: 6.2
Channel depth:
Cyan: 16-bit
Magenta: 16-bit
Yellow: 16-bit
Black: 16-bit
Meta channel[0]: 16-bit
Meta channel[1]: 16-bit
Channel statistics:
Pixels: 1
Cyan:
min: 10 (0.00015259)
max: 10 (0.00015259)
mean: 10 (0.00015259)
median: 10 (0.00015259)
standard deviation: 0 (0)
kurtosis: -3
skewness: 0
entropy: 0
Magenta:
min: 20 (0.00030518)
max: 20 (0.00030518)
mean: 20 (0.00030518)
median: 20 (0.00030518)
standard deviation: 0 (0)
kurtosis: -3
skewness: 0
entropy: 0
Yellow:
min: 30 (0.000457771)
max: 30 (0.000457771)
mean: 30 (0.000457771)
median: 30 (0.000457771)
standard deviation: 0 (0)
kurtosis: -3
skewness: 0
entropy: 0
Black:
min: 40 (0.000610361)
max: 40 (0.000610361)
mean: 40 (0.000610361)
median: 40 (0.000610361)
standard deviation: 0 (0)
kurtosis: -3
skewness: 0
entropy: 0
Meta channel[0]:
min: 50 (0.000762951)
max: 50 (0.000762951)
mean: 50 (0.000762951)
median: 50 (0.000762951)
standard deviation: 0 (0)
kurtosis: -3
skewness: 0
entropy: 0
Meta channel[1]:
min: 60 (0.000915541)
max: 60 (0.000915541)
mean: 60 (0.000915541)
median: 60 (0.000915541)
standard deviation: 0 (0)
kurtosis: -3
skewness: 0
entropy: 0
Image statistics:
Overall:
min: 10 (0.00015259)
max: 60 (0.000915541)
mean: 35 (0.000534066)
median: 35 (0.000534066)
standard deviation: 0 (0)
kurtosis: -1.79762
skewness: 4.44476e-15
entropy: 0
Total ink density: 0.15259%
Colors: 1
Histogram:
1: (10,20,30,40) #000A0014001E0028 cmyk(0.0389105,0.077821,0.116732,0.155642)
Rendering intent: Perceptual
Gamma: 0.454545
Chromaticity:
red primary: (0.64,0.33)
green primary: (0.3,0.6)
blue primary: (0.15,0.06)
white point: (0.3127,0.329)
Matte color: grey74
Background color: white
Border color: srgb(223,223,223)
Transparent color: black
Interlace: None
Intensity: Undefined
Compose: Over
Page geometry: 1x1+0+0
Dispose: Undefined
Iterations: 0
Compression: None
Orientation: TopLeft
Properties:
date:create: 2023-03-12T11:38:42+00:00
date:modify: 2023-03-12T11:38:42+00:00
date:timestamp: 2023-03-12T11:38:56+00:00
signature: c51848f16d296f7c95be14404cc582f49db6fd33f31b544a2ce10e440b3747b3
tiff:alpha: unspecified
tiff:endian: lsb
tiff:photometric: separated
tiff:rows-per-strip: 1
Artifacts:
verbose: true
Tainted: False
Filesize: 306B
Number pixels: 1
</samp></pre>
<p>Notice the channel depth and statistics associated with the two meta channels.</p>
<h5>Working with Multispectral Images</h5>
<p>Meta channels are treated the same as any other channel meaning they can be read, written, and operated upon-- e.g., resized, gamma adjusted, etc.. Here, we replace the first channel with the contents of the meta channel:</p>
<pre class="p-3 mb-2 text-body-secondary bg-body-tertiary"><samp>magick multiMeta.tif -channel-fx 'meta1=>cyan' multiMeta-1.tif</samp></pre>
<p>The original cyan channel has an intensity of 10. It's now, per the channel FX instructions, 50.</p>
<p>And in this example, we create two meta channels:</p>
<pre class="p-3 mb-2 text-body-secondary bg-body-tertiary"><samp>magick lena.png \( mandril3.jpg -colorspace gray \) -channel-fx '| gray=>meta' \( zelda1.jpg -colorspace gray \) -channel-fx '| gray=>meta1' meta.tif</samp></pre>
<p>In this example, we blend two meta channels into a single alpha channel:</p>
<pre class="p-3 mb-2 text-body-secondary bg-body-tertiary"><samp>magick in.tiff -alpha opaque \( +clone -set colorspace sRGB -channel-fx "meta0=>red meta1=>green" \) -channel A -fx "(v.r+v.g)/2" +channel out.tiff</samp></pre>
<br/>
<h5>Writing Multispectral Images</h5>
<p>You can preserve multispectral images by writing them to a format that supports meta channels such as TIFF or PSD. If you write to other image formats that do not support multisprectal images, the channels are not preserved and instead lost-- e.g., PNG. In this example, we read, resize, and write a multispectral image:</p>
<pre class="p-3 mb-2 text-body-secondary bg-body-tertiary"><samp>magick multiMeta.tif -resize 50% resizedMeta.tif</samp></pre>
</div>
</main><!-- /.container -->
<footer class="text-center pt-5 my-5 text-body-secondary border-top">
<div class="container-fluid">
<a href="security-policy.html">Security</a> •
<a href="news.html">News</a>
<a href="#"><img class="d-inline" id="wand" alt="And Now a Touch of Magick" width="16" height="16" src="../images/wand.ico" /></a>
<a href="../www/links.html">Related</a> •
<a href="../www/sitemap.html">Sitemap</a>
<br />
<a href="../www/support.html">Sponsor</a> •
<a href="../www/cite.html">Cite</a> •
<a href="http://pgp.mit.edu/pks/lookup?op=get&search=0x89AB63D48277377A">Public Key</a> •
<a href="../www/../www/https://imagemagick.org/script/contact.php">Contact Us</a>
<br />
<a href="https://github.com/imagemagick/imagemagick" rel="noopener" target="_blank" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="navbar-nav-svg" viewBox="0 0 512 499.36" width="2%" height="2%" role="img" focusable="false"><title>GitHub</title><path fill="currentColor" fill-rule="evenodd" d="M256 0C114.64 0 0 114.61 0 256c0 113.09 73.34 209 175.08 242.9 12.8 2.35 17.47-5.56 17.47-12.34 0-6.08-.22-22.18-.35-43.54-71.2 15.49-86.2-34.34-86.2-34.34-11.64-29.57-28.42-37.45-28.42-37.45-23.27-15.84 1.73-15.55 1.73-15.55 25.69 1.81 39.21 26.38 39.21 26.38 22.84 39.12 59.92 27.82 74.5 21.27 2.33-16.54 8.94-27.82 16.25-34.22-56.84-6.43-116.6-28.43-116.6-126.49 0-27.95 10-50.8 26.35-68.69-2.63-6.48-11.42-32.5 2.51-67.75 0 0 21.49-6.88 70.4 26.24a242.65 242.65 0 0 1 128.18 0c48.87-33.13 70.33-26.24 70.33-26.24 14 35.25 5.18 61.27 2.55 67.75 16.41 17.9 26.31 40.75 26.31 68.69 0 98.35-59.85 120-116.88 126.32 9.19 7.9 17.38 23.53 17.38 47.41 0 34.22-.31 61.83-.31 70.23 0 6.85 4.61 14.81 17.6 12.31C438.72 464.97 512 369.08 512 256.02 512 114.62 397.37 0 256 0z"/></svg></a> •
<a href="https://twitter.com/imagemagick" rel="noopener" target="_blank" aria-label="Twitter"><svg xmlns="http://www.w3.org/2000/svg" class="navbar-nav-svg" viewBox="0 0 300 300" width="2%" height="2%" role="img" focusable="false"><title>Twitter</title><path d="M178.57 127.15 290.27 0h-26.46l-97.03 110.38L89.34 0H0l117.13 166.93L0 300.25h26.46l102.4-116.59 81.8 116.59h89.34M36.01 19.54H76.66l187.13 262.13h-40.66"/></svg></a>
<br />
<small>Copyright © 1999 ImageMagick Studio LLC</small>
</div>
</footer>
</div>
<!-- Javascript assets -->
<script src="assets/bootstrap.bundle.min.js" ></script>
</body>
</html>
|