Products
  • Wolfram|One

    The definitive Wolfram Language and notebook experience

  • Mathematica

    The original technical computing environment

  • Notebook Assistant + LLM Kit

    All-in-one AI assistance for your Wolfram experience

  • Compute Services
  • System Modeler
  • Finance Platform
  • Wolfram|Alpha Notebook Edition
  • Application Server
  • Enterprise Private Cloud
  • Wolfram Engine
  • Wolfram Player
  • Wolfram Cloud App
  • Wolfram Player App

More mobile apps

Core Technologies of Wolfram Products

  • Wolfram Language
  • Computable Data
  • Wolfram Notebooks
  • AI & Linguistic Understanding

Deployment Options

  • Wolfram Cloud
  • wolframscript
  • Wolfram Engine Community Edition
  • Wolfram LLM API
  • WSTPServer
  • Wolfram|Alpha APIs

From the Community

  • Function Repository
  • Community Paclet Repository
  • Example Repository
  • Neural Net Repository
  • Prompt Repository
  • Wolfram Demonstrations
  • Data Repository
  • Group & Organizational Licensing
  • All Products
Consulting & Solutions

We deliver solutions for the AI era—combining symbolic computation, data-driven insights and deep technical expertise

  • Data & Computational Intelligence
  • Model-Based Design
  • Algorithm Development
  • Wolfram|Alpha for Business
  • Blockchain Technology
  • Education Technology
  • Quantum Computation

Wolfram Consulting

Wolfram Solutions

  • Data Science
  • Artificial Intelligence
  • Biosciences
  • Healthcare Intelligence
  • Sustainable Energy
  • Control Systems
  • Enterprise Wolfram|Alpha
  • Blockchain Labs

More Wolfram Solutions

Wolfram Solutions For Education

  • Research Universities
  • Colleges & Teaching Universities
  • Junior & Community Colleges
  • High Schools
  • Educational Technology
  • Computer-Based Math

More Solutions for Education

  • Contact Us
Learning & Support

Get Started

  • Wolfram Language Introduction
  • Fast Intro for Programmers
  • Fast Intro for Math Students
  • Wolfram Language Documentation

More Learning

  • Highlighted Core Areas
  • Demonstrations
  • YouTube
  • Daily Study Groups
  • Wolfram Schools and Programs
  • Books

Grow Your Skills

  • Wolfram U

    Courses in computing, science, life and more

  • Community

    Learn, solve problems and share ideas.

  • Blog

    News, views and insights from Wolfram

  • Resources for

    Software Developers

Tech Support

  • Contact Us
  • Support FAQs
  • Support FAQs
  • Contact Us
Company
  • About Wolfram
  • Career Center
  • All Sites & Resources
  • Connect & Follow
  • Contact Us

Work with Us

  • Student Ambassador Initiative
  • Wolfram for Startups
  • Student Opportunities
  • Jobs Using Wolfram Language

Educational Programs for Adults

  • Summer School
  • Winter School

Educational Programs for Youth

  • Middle School Camp
  • High School Research Program
  • Computational Adventures

Read

  • Stephen Wolfram's Writings
  • Wolfram Blog
  • Wolfram Tech | Books
  • Wolfram Media
  • Complex Systems

Educational Resources

  • Wolfram MathWorld
  • Wolfram in STEM/STEAM
  • Wolfram Challenges
  • Wolfram Problem Generator

Wolfram Initiatives

  • Wolfram Science
  • Wolfram Foundation
  • History of Mathematics Project

Events

  • Stephen Wolfram Livestreams
  • Online & In-Person Events
  • Contact Us
  • Connect & Follow
Wolfram|Alpha
  • Your Account
  • User Portal
  • Wolfram Cloud
  • Products
    • Wolfram|One
    • Mathematica
    • Notebook Assistant + LLM Kit
    • Compute Services
    • System Modeler
    • Finance Platform
    • Wolfram|Alpha Notebook Edition
    • Application Server
    • Enterprise Private Cloud
    • Wolfram Engine
    • Wolfram Player
    • Wolfram Cloud App
    • Wolfram Player App

    More mobile apps

    • Core Technologies
      • Wolfram Language
      • Computable Data
      • Wolfram Notebooks
      • AI & Linguistic Understanding
    • Deployment Options
      • Wolfram Cloud
      • wolframscript
      • Wolfram Engine Community Edition
      • Wolfram LLM API
      • WSTPServer
      • Wolfram|Alpha APIs
    • From the Community
      • Function Repository
      • Community Paclet Repository
      • Example Repository
      • Neural Net Repository
      • Prompt Repository
      • Wolfram Demonstrations
      • Data Repository
    • Group & Organizational Licensing
    • All Products
  • Consulting & Solutions

    We deliver solutions for the AI era—combining symbolic computation, data-driven insights and deep technical expertise

    WolframConsulting.com

    Wolfram Solutions

    • Data Science
    • Artificial Intelligence
    • Biosciences
    • Healthcare Intelligence
    • Sustainable Energy
    • Control Systems
    • Enterprise Wolfram|Alpha
    • Blockchain Labs

    More Wolfram Solutions

    Wolfram Solutions For Education

    • Research Universities
    • Colleges & Teaching Universities
    • Junior & Community Colleges
    • High Schools
    • Educational Technology
    • Computer-Based Math

    More Solutions for Education

    • Contact Us
  • Learning & Support

    Get Started

    • Wolfram Language Introduction
    • Fast Intro for Programmers
    • Fast Intro for Math Students
    • Wolfram Language Documentation

    Grow Your Skills

    • Wolfram U

      Courses in computing, science, life and more

    • Community

      Learn, solve problems and share ideas.

    • Blog

      News, views and insights from Wolfram

    • Resources for

      Software Developers
    • Tech Support
      • Contact Us
      • Support FAQs
    • More Learning
      • Highlighted Core Areas
      • Demonstrations
      • YouTube
      • Daily Study Groups
      • Wolfram Schools and Programs
      • Books
    • Support FAQs
    • Contact Us
  • Company
    • About Wolfram
    • Career Center
    • All Sites & Resources
    • Connect & Follow
    • Contact Us

    Work with Us

    • Student Ambassador Initiative
    • Wolfram for Startups
    • Student Opportunities
    • Jobs Using Wolfram Language

    Educational Programs for Adults

    • Summer School
    • Winter School

    Educational Programs for Youth

    • Middle School Camp
    • High School Research Program
    • Computational Adventures

    Read

    • Stephen Wolfram's Writings
    • Wolfram Blog
    • Wolfram Tech | Books
    • Wolfram Media
    • Complex Systems
    • Educational Resources
      • Wolfram MathWorld
      • Wolfram in STEM/STEAM
      • Wolfram Challenges
      • Wolfram Problem Generator
    • Wolfram Initiatives
      • Wolfram Science
      • Wolfram Foundation
      • History of Mathematics Project
    • Events
      • Stephen Wolfram Livestreams
      • Online & In-Person Events
    • Contact Us
    • Connect & Follow
  • Wolfram|Alpha
  • Wolfram Cloud
  • Your Account
  • User Portal
Wolfram Language & System Documentation Center
ImageKeypoints
  • See Also
    • ImageCorrespondingPoints
    • CornerFilter
    • ImageCorners
    • ImageSaliencyFilter
    • ImageAlign
    • ImageStitch
  • Related Guides
    • Feature Detection
    • Image Processing & Analysis
    • Computer Vision
    • Video Analysis
    • Image Computation for Microscopy
    • Video Computation: Update History
    • See Also
      • ImageCorrespondingPoints
      • CornerFilter
      • ImageCorners
      • ImageSaliencyFilter
      • ImageAlign
      • ImageStitch
    • Related Guides
      • Feature Detection
      • Image Processing & Analysis
      • Computer Vision
      • Video Analysis
      • Image Computation for Microscopy
      • Video Computation: Update History

ImageKeypoints[image]

finds key features in image and returns their coordinates.

ImageKeypoints[image,prop]

gives the specified property prop for each keypoint.

ImageKeypoints[video,…]

finds keypoints in frames of video.

Details and Options
Details and Options Details and Options
Examples  
Basic Examples  
Scope  
Options  
KeypointStrength  
Masking  
MaxFeatures  
Method  
Applications  
Properties & Relations  
See Also
Related Guides
History
Cite this Page
BUILT-IN SYMBOL
  • See Also
    • ImageCorrespondingPoints
    • CornerFilter
    • ImageCorners
    • ImageSaliencyFilter
    • ImageAlign
    • ImageStitch
  • Related Guides
    • Feature Detection
    • Image Processing & Analysis
    • Computer Vision
    • Video Analysis
    • Image Computation for Microscopy
    • Video Computation: Update History
    • See Also
      • ImageCorrespondingPoints
      • CornerFilter
      • ImageCorners
      • ImageSaliencyFilter
      • ImageAlign
      • ImageStitch
    • Related Guides
      • Feature Detection
      • Image Processing & Analysis
      • Computer Vision
      • Video Analysis
      • Image Computation for Microscopy
      • Video Computation: Update History

ImageKeypoints

ImageKeypoints[image]

finds key features in image and returns their coordinates.

ImageKeypoints[image,prop]

gives the specified property prop for each keypoint.

ImageKeypoints[video,…]

finds keypoints in frames of video.

Details and Options

  • Image keypoints are distinct positions on an image highlighting specific image features such as shape, contrast, orientation. Corresponding keypoints are typically used for aligning images.
  • ImageKeypoints[image] finds image keypoints and returns their positions as a list of {{x1,y1},{x2,y2},…}.
  • The following properties can be specified:
  • "Confidence"blob response, given as a positive number
    "ContrastSign" if the keypoint is lighter than its surroundings, otherwise
    "Descriptor"keypoint descriptor
    "Orientation"orientation angle, given in radians
    "OrientedDescriptor"keypoint-oriented descriptor
    "PixelPosition"pixel coordinates {x,y} in the range ,
    "Position"image coordinates {x,y} in the range , (default)
    "Scale"keypoint scale
  • ImageKeypoints sorts the results based on the "Confidence" property of the keypoints.
  • ImageKeypoints[image,{prop1,prop2,…}] returns multiple properties.
  • The feature descriptors returned by ImageKeypoints are numerically robust against translation, rotation, and scale changes.
  • The following options can be specified:
  • KeypointStrength 0minimum strength of the keypoints
    Masking Allregion of interest
    MaxFeatures Allmaximum number of keypoints
    Method "SURF"type of keypoint to return
  • With a setting MaxFeatures->n, at most n keypoints with largest "Confidence" are returned.
  • Possible method settings include:
  • "AGAST"Adaptive and Generic Accelerated Segment Test
    "AKAZE"Accelerated KAZE and binary descriptors
    "BRISK"Binary Robust Invariant Scalable Keypoints
    "FAST"Features from Accelerated Segment Test
    "KAZE"nonlinear scale-space detector and descriptor
    "ORB"FAST detector and Binary Robust Independent Elementary Features (BRIEF) descriptor
    "SIFT"Scale-Invariant Feature Transform detector and descriptor
    "RootSIFT"SIFT keypoints with an improved descriptor
    "SURF"Speeded-Up Robust Features
  • When a property is not available with a specified method, the corresponding element in the result is set to Missing["NotAvailable"]. »

Examples

open all close all

Basic Examples  (2)

Find keypoints in an image:

Highlight keypoints on the image:

Count the number of points of interest in an image:

Scope  (10)

Keypoints of a grayscale image:

Keypoints of a color image:

Find keypoints in an image:

Return the keypoint descriptor:

Compute multiple properties:

Get properties "Position" and "PixelPosition":

The two corresponding coordinate systems are offset by half a pixel:

Get the "Scale" in pixels:

The scale corresponds to the size of an intrinsic region around the keypoint. Visualize the disc region
around a "SURF" keypoint:

Get the "Orientation" in radians:

Show keypoints with a pattern rotated based on orientation:

Get the "Strength" score:

Display the distribution of the strength of keypoints in an image:

Get the "Descriptor" representing the distribution of pixel values inside a keypoint's neighborhood:

The descriptor is similar to the one of the rotated image:

The "ConstrastSign" is 1 for keypoints lighter than their surroundings:

The sign is -1 for keypoints darker than their surroundings:

Options  (11)

KeypointStrength  (1)

Use a specific threshold for keypoint strength:

By default, all detected keypoints are returned:

Masking  (1)

By default, all keypoints are returned:

Exclude keypoints in the foreground using a mask region:

MaxFeatures  (1)

By default, all detected keypoints are returned:

Get the 50 strongest keypoints:

Method  (8)

By default, "SURF" keypoints are computed:

Compute and visualize a different keypoint:

"FAST" and "AGAST" keypoints are defined by their location and strength at scale 3.5:

Compute and visualize FAST keypoints:

Compute and visualize AGAST keypoints:

"BRISK" and "ORB" keypoints are defined by their location, scale, orientation and strength:

Descriptors are vectors of 0s and 1s of length 512 for "BRISK" and 256 for "ORB":

"AKAZE" and "KAZE" keypoints are defined by their location, scale, orientation and strength:

AKAZE descriptors are vectors of 0s and 1s of length 480:

KAZE descriptors are vectors of 128 real numbers with unit norm:

AKAZE oriented descriptors are computed without correcting for keypoints' intrinsic orientation:

Oriented descriptors match descriptors for keypoints with orientation close to 0:

With the "SURF" method, a keypoint is defined by its location, scale, orientation, contrast sign and strength:

SURF descriptors consist of vectors of 64 real numbers with unit norm:

Oriented descriptors match descriptors for keypoints with orientation close to 0:

The "SIFT" method uses Scale-Invariant Feature Transform to find the location of image keypoints:

The descriptors use histograms of orientations to construct vectors of 128 numbers:

Note that the norm of the descriptor is not equal to one:

The "RootSIFT" method uses the same keypoints locations as "SIFT", but improved descriptors:

Norm of RootSIFT descriptors is equal to one:

Applications  (5)

Visualize SURF keypoints using their scale, orientation and contrast:

Visualize BRISK keypoints:

Extract local patches of fixed size around detected keypoints:

Extract patches of size proportional to the scale of keypoints:

Use keypoints to crop an image to keep the main features:

Create thumbnails of uniform size:

Object recognition using "bag of words" on a dataset of 5,000 images 32×32 each, belonging to 10 categories:

Compute keypoint descriptors on 256×256 images and create the codebook of visual words:

The codebook contains all image descriptors of length 64:

Find 100 visual codewords using -means clustering:

Image features are defined as the normalized counts of all the codewords:

Construct a classifier trained on extracted image features:

Evaluate the classifier on test data:

Properties & Relations  (7)

Not all properties are supported for all methods:

Missing["NotAvailable"] is returned when a property is not available with the specified method:

"FAST" method does not find contrast sign:

"BRISK" method does not compute oriented descriptors:

"SURF" and "KAZE" descriptors are typically compared using the Euclidean distance:

Distances between the strongest keypoint and each of the next 10 strongest:

"AKAZE", "BRISK" and "ORB" descriptors are typically compared using the Hamming distance:

Distances between the strongest keypoint and each of the next 10 strongest:

Cluster the keypoints based on their descriptors:

ImageCorners may be used as keypoints:

Computer corners using radius 3.5 for similarity to the scale of some keypoint detectors:

Use CornerFilter to get the strength of detected corners:

Top 10 FAST keypoints:

Top 10 AGAST keypoints:

ImageCorrespondingPoints gives the locations for keypoints that have matching descriptors:

Compute keypoints on both images:

Take two keypoints with and without a corresponding point in the second image:

Compute all distances between descriptors for these keypoint to all keypoints in the second image:

The second-to-nearest ratio is typically used to decide whether a keypoint has a corresponding point:

The keypoint with a correspondence is red; the other one is yellow:

See Also

ImageCorrespondingPoints  CornerFilter  ImageCorners  ImageSaliencyFilter  ImageAlign  ImageStitch

Related Guides

    ▪
  • Feature Detection
  • ▪
  • Image Processing & Analysis
  • ▪
  • Computer Vision
  • ▪
  • Video Analysis
  • ▪
  • Image Computation for Microscopy
  • ▪
  • Video Computation: Update History

History

Introduced in 2010 (8.0) | Updated in 2012 (9.0) ▪ 2014 (10.0) ▪ 2017 (11.1) ▪ 2021 (13.0) ▪ 2025 (14.2)

Wolfram Research (2010), ImageKeypoints, Wolfram Language function, https://reference.wolfram.com/language/ref/ImageKeypoints.html (updated 2025).

Text

Wolfram Research (2010), ImageKeypoints, Wolfram Language function, https://reference.wolfram.com/language/ref/ImageKeypoints.html (updated 2025).

CMS

Wolfram Language. 2010. "ImageKeypoints." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2025. https://reference.wolfram.com/language/ref/ImageKeypoints.html.

APA

Wolfram Language. (2010). ImageKeypoints. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ImageKeypoints.html

BibTeX

@misc{reference.wolfram_2025_imagekeypoints, author="Wolfram Research", title="{ImageKeypoints}", year="2025", howpublished="\url{https://reference.wolfram.com/language/ref/ImageKeypoints.html}", note=[Accessed: 01-March-2026]}

BibLaTeX

@online{reference.wolfram_2025_imagekeypoints, organization={Wolfram Research}, title={ImageKeypoints}, year={2025}, url={https://reference.wolfram.com/language/ref/ImageKeypoints.html}, note=[Accessed: 01-March-2026]}

Top
Introduction for Programmers
Introductory Book
Wolfram Function Repository | Wolfram Data Repository | Wolfram Data Drop | Wolfram Language Products
Top
  • Products
  • Wolfram|One
  • Mathematica
  • Notebook Assistant + LLM Kit
  • Compute Services
  • System Modeler

  • Wolfram|Alpha Notebook Edition
  • Wolfram|Alpha Pro
  • Mobile Apps

  • Wolfram Engine
  • Wolfram Player

  • Volume & Site Licensing
  • Server Deployment Options
  • Consulting
  • Wolfram Consulting
  • Repositories
  • Data Repository
  • Function Repository
  • Community Paclet Repository
  • Neural Net Repository
  • Prompt Repository

  • Wolfram Language Example Repository
  • Notebook Archive
  • Wolfram GitHub
  • Learning
  • Wolfram U
  • Wolfram Language Documentation
  • Webinars & Training
  • Educational Programs

  • Wolfram Language Introduction
  • Fast Introduction for Programmers
  • Fast Introduction for Math Students
  • Books

  • Wolfram Community
  • Wolfram Blog
  • Public Resources
  • Wolfram|Alpha
  • Wolfram Problem Generator
  • Wolfram Challenges

  • Computer-Based Math
  • Computational Thinking
  • Computational Adventures

  • Demonstrations Project
  • Wolfram Data Drop
  • MathWorld
  • Wolfram Science
  • Wolfram Media Publishing
  • Customer Resources
  • Store
  • Product Downloads
  • User Portal
  • Your Account
  • Organization Access

  • Support FAQ
  • Contact Support
  • Company
  • About Wolfram
  • Careers
  • Contact
  • Events
Wolfram Community Wolfram Blog
Legal & Privacy Policy
WolframAlpha.com | WolframCloud.com
© 2026 Wolfram
© 2026 Wolfram | Legal & Privacy Policy |
English