Skip to content

szczaww/x86-convolution-filter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Stargazers Unlicense License LinkedIn C++ Linux

Showcase

2025-04-10-01-27-14-ezgif com-resize

About

This project is an interactive visualization of a convolution filter, written in x86-64 assembly with a basic C++ frontend. It transforms bitmap images producing a mixed effect of saturation & blur of intensity depending on current cursor position.
The following mask is used, where r would be the pixel distance from your mouse:

[  0  -1   0 ]     [ 1  2  1 ]
[ -1   5  -1 ]  +  [ 2 -4  2 ]  ×  min( r / (2 × min(width, height)),  1 )
[  0  -1   0 ]     [ 1  2  1 ]

It was developed as part of the assembly intro course at Warsaw University of Technology.

Installation & usage

  1. Clone the repo
    git clone https://github.com/szczaww/x86-convolution-filter
    
  2. Build the project
    make
    
  3. Run for your image of choice
    ./build/app in/<image-name>.bmp
    
  4. Left click to update cursor position & right click to reset image back to normal

About

Interactive visualization of convolution filter written in x86-64 and a sprinkle of C++

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published