All Projects → image-size → Image Size

image-size / Image Size

Licence: mit
Node module for detecting image dimensions

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Image Size

fastimage
Find the type or size of an image
Stars: ✭ 31 (-97.99%)
Mutual labels:  dimensions, image-analysis
Ios11 Visionframework
Vision Framework IOS WWDC 2017
Stars: ✭ 85 (-94.48%)
Mutual labels:  image-analysis
Amap Python
Automated mouse atlas propagation
Stars: ✭ 20 (-98.7%)
Mutual labels:  image-analysis
Imatcher
Image comparison library
Stars: ✭ 44 (-97.14%)
Mutual labels:  image-analysis
Compare
image comparison tool
Stars: ✭ 25 (-98.38%)
Mutual labels:  image-analysis
Fasterimage
🐎 find the size of an image without downloading the whole file. Supports batch requests.
Stars: ✭ 56 (-96.36%)
Mutual labels:  image-analysis
Itk
Insight Toolkit (ITK) -- Official Repository. ITK builds on a proven, spatially-oriented architecture for processing, segmentation, and registration of scientific images in two, three, or more dimensions.
Stars: ✭ 801 (-47.95%)
Mutual labels:  image-analysis
Porespy
A set of tools for characterizing and analying 3D images of porous materials
Stars: ✭ 102 (-93.37%)
Mutual labels:  image-analysis
Ssim
🖼🔬 JavaScript Image Comparison
Stars: ✭ 83 (-94.61%)
Mutual labels:  image-analysis
Photoassessment
Photo Assessment using Core ML and Metal.
Stars: ✭ 40 (-97.4%)
Mutual labels:  image-analysis
Itkexamples
Cookbook examples for the Insight Toolkit documented with Sphinx
Stars: ✭ 38 (-97.53%)
Mutual labels:  image-analysis
Mindseye
Neural Networks in Java 8 with CuDNN and Aparapi
Stars: ✭ 8 (-99.48%)
Mutual labels:  image-analysis
Open Ucn
The first fully convolutional metric learning for geometric/semantic image correspondences.
Stars: ✭ 60 (-96.1%)
Mutual labels:  image-analysis
Orange3 Imageanalytics
🍊 🎑 Orange3 add-on for dealing with image related tasks
Stars: ✭ 24 (-98.44%)
Mutual labels:  image-analysis
Python Dominant Image Colour
A K-means algorithm for detecting image colours
Stars: ✭ 100 (-93.5%)
Mutual labels:  image-analysis
Itksoftwareguide
Sources for the ITKSoftwareGuide.
Stars: ✭ 19 (-98.77%)
Mutual labels:  image-analysis
Segment Open
Segment Source Distribution
Stars: ✭ 34 (-97.79%)
Mutual labels:  image-analysis
Pytorch Ssim
pytorch structural similarity (SSIM) loss
Stars: ✭ 1,058 (-31.25%)
Mutual labels:  image-analysis
Blind image quality toolbox
Collection of Blind Image Quality Metrics in Matlab
Stars: ✭ 105 (-93.18%)
Mutual labels:  image-analysis
Smart Security Camera
A Pi Zero and Motion based webcamera that forwards images to Amazon Web Services for Image Processing
Stars: ✭ 103 (-93.31%)
Mutual labels:  image-analysis

image-size

Build Status Package Version Downloads

A Node module to get dimensions of any image file

Supported formats

  • BMP
  • CUR
  • DDS
  • GIF
  • ICNS
  • ICO
  • JPEG
  • KTX
  • PNG
  • PNM (PAM, PBM, PFM, PGM, PPM)
  • PSD
  • SVG
  • TIFF
  • WebP

Programmatic Usage

npm install image-size --save

or

yarn add image-size

Synchronous

const sizeOf = require('image-size')
const dimensions = sizeOf('images/funny-cats.png')
console.log(dimensions.width, dimensions.height)

Asynchronous

const sizeOf = require('image-size')
sizeOf('images/funny-cats.png', function (err, dimensions) {
  console.log(dimensions.width, dimensions.height)
})

NOTE: The asynchronous version doesn't work if the input is a Buffer. Use synchronous version instead.

Also, the asynchronous functions have a default concurrency limit of 100 To change this limit, you can call the setConcurrency function like this:

const sizeOf = require('image-size')
sizeOf.setConcurrency(123456)

Using promises (nodejs 10.x+)

const { promisify } = require('util')
const sizeOf = promisify(require('image-size'))
sizeOf('images/funny-cats.png')
  .then(dimensions => { console.log(dimensions.width, dimensions.height) })
  .catch(err => console.error(err))

Async/Await (Typescript & ES7)

const { promisify } = require('util')
const sizeOf = promisify(require('image-size'))
(async () => {
  try {
    const dimensions = await sizeOf('images/funny-cats.png')
    console.log(dimensions.width, dimensions.height)
  } catch (err) {
    console.error(err)
  }
})().then(c => console.log(c))

Multi-size

If the target file is an icon (.ico) or a cursor (.cur), the width and height will be the ones of the first found image.

An additional images array is available and returns the dimensions of all the available images

const sizeOf = require('image-size')
const images = sizeOf('images/multi-size.ico').images
for (const dimensions of images) {
  console.log(dimensions.width, dimensions.height)
}

Using a URL

const url = require('url')
const http = require('http')

const sizeOf = require('image-size')

const imgUrl = 'http://my-amazing-website.com/image.jpeg'
const options = url.parse(imgUrl)

http.get(options, function (response) {
  const chunks = []
  response.on('data', function (chunk) {
    chunks.push(chunk)
  }).on('end', function() {
    const buffer = Buffer.concat(chunks)
    console.log(sizeOf(buffer))
  })
})

You can optionally check the buffer lengths & stop downloading the image after a few kilobytes. You don't need to download the entire image

Disabling certain image types

const imageSize = require('image-size')
imageSize.disableTypes(['tiff', 'ico'])

Disabling all file-system reads

const imageSize = require('image-size')
imageSize.disableFS(true)

JPEG image orientation

If the orientation is present in the JPEG EXIF metadata, it will be returned by the function. The orientation value is a number between 1 and 8 representing a type of orientation.

const sizeOf = require('image-size')
const dimensions = sizeOf('images/photo.jpeg')
console.log(dimensions.orientation)

Command-Line Usage (CLI)

npm install image-size --global

or

yarn global add image-size

followed by

image-size image1 [image2] [image3] ...

Hosted API

We also provide a hosted API for image-size which may simplify your use case.

Credits

not a direct port, but an attempt to have something like dabble's imagesize as a node module.

Contributors

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].