All Projects → thinking-tower → Fourier-and-Images

thinking-tower / Fourier-and-Images

Licence: MIT license
Fourier and Images

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Fourier-and-Images

camera-fusion
Multiple cameras calibration and fusion with OpenCV Python.
Stars: ✭ 27 (-66.67%)
Mutual labels:  image-manipulation, opencv-python, opencv3-python
dspfun
Set of *nix utilities for experimentation and learning about spectral analysis of images
Stars: ✭ 21 (-74.07%)
Mutual labels:  signal-processing, fourier-series, fourier-analysis
Pybotics
The Python Toolbox for Robotics
Stars: ✭ 192 (+137.04%)
Mutual labels:  math, mathematics, scipy
Studybook
Study E-Book(ComputerVision DeepLearning MachineLearning Math NLP Python ReinforcementLearning)
Stars: ✭ 1,457 (+1698.77%)
Mutual labels:  math, mathematics, scipy
Ugm
Ubpa Graphics Mathematics
Stars: ✭ 178 (+119.75%)
Mutual labels:  math, mathematics
Computator.net
Computator.NET is a special kind of numerical software that is fast and easy to use but not worse than others feature-wise. It's features include: - Real and complex functions charts - Real and complex calculator - Real functions numerical calculations including different methods - Over 107 Elementary functions - Over 141 Special functions - Over 21 Matrix functions and operations - Scripting language with power to easy computations including matrices - You can declare your own custom functions with scripting language
Stars: ✭ 174 (+114.81%)
Mutual labels:  math, mathematics
Mathmodel
研究生数学建模,本科生数学建模、数学建模竞赛优秀论文,数学建模算法,LaTeX论文模板,算法思维导图,参考书籍,Matlab软件教程,PPT
Stars: ✭ 3,834 (+4633.33%)
Mutual labels:  math, mathematics
Julia Set Playground
A Swift playground that generates beautiful Julia set fractal images.
Stars: ✭ 236 (+191.36%)
Mutual labels:  math, mathematics
Calc
C-style arbitrary precision calculator
Stars: ✭ 127 (+56.79%)
Mutual labels:  math, mathematics
Tutorials
AI-related tutorials. Access any of them for free → https://towardsai.net/editorial
Stars: ✭ 204 (+151.85%)
Mutual labels:  math, mathematics
computer-vision-notebooks
👁️ An authorial set of fundamental Python recipes on Computer Vision and Digital Image Processing.
Stars: ✭ 89 (+9.88%)
Mutual labels:  signal-processing, mathematics
Mathnet Filtering
Math.NET Filtering (formerly Neodym)
Stars: ✭ 157 (+93.83%)
Mutual labels:  math, signal-processing
Math Php
Powerful modern math library for PHP: Features descriptive statistics and regressions; Continuous and discrete probability distributions; Linear algebra with matrices and vectors, Numerical analysis; special mathematical functions; Algebra
Stars: ✭ 2,009 (+2380.25%)
Mutual labels:  math, mathematics
CNCC-2019
Computational Neuroscience Crash Course (CNCC 2019)
Stars: ✭ 26 (-67.9%)
Mutual labels:  signal-processing, scipy
susa
High Performance Computing (HPC) and Signal Processing Framework
Stars: ✭ 55 (-32.1%)
Mutual labels:  signal-processing, mathematics
Jlatexmath Android
aJLaTeXMath Library - Displays LaTeX commands in android OS.
Stars: ✭ 147 (+81.48%)
Mutual labels:  math, mathematics
Stdlib
✨ Standard library for JavaScript and Node.js. ✨
Stars: ✭ 2,749 (+3293.83%)
Mutual labels:  math, mathematics
Sage
Mirror of the Sage source tree -- please do not submit PRs here -- everything must be submitted via https://trac.sagemath.org/
Stars: ✭ 1,656 (+1944.44%)
Mutual labels:  math, mathematics
speedy-math
An application which allows user (small kids) to practice basic Mathematics operations
Stars: ✭ 28 (-65.43%)
Mutual labels:  math, mathematics
MathImprove
Modify and Improve math expressions.
Stars: ✭ 13 (-83.95%)
Mutual labels:  math, mathematics

Fourier and Images

Build Status

Fourier and Images is a project that tries to draw images with circles.

Setup

  1. pip3 install -r requirements.txt
  2. Modify main.py to reflect where your images are.
  3. python3 main.py

Note that you'll need ImageMagick only if you want to save stuff to a gif.

Example

Getting one set of circles with one image:

im = Image("pikachu.png", (200, 200))
path = im.sort()
period, tup_circle_rads, tup_circle_locs = Fourier(n_approx = 1000, coord_1 = path).get_circles()
Plot(period, tup_circle_rads, tup_circle_locs, speed = 8).plot()

Pikachu

Getting two sets of circles with one image:

im = Image("einstein.jpg", (200, 200))
path = im.sort()
period, tup_circle_rads, tup_circle_locs = Fourier(n_approx = 1000, coord_1 = path).get_circles(mode=2)
Plot(period, tup_circle_rads, tup_circle_locs, speed = 8).plot()

Note that the circle on the bottom left is NOT drawing any particular image.

Einstein

Getting two set of circles with two image:

im_1 = Image("images/formula.jpeg", (200, 200))
im_2 = Image("images/dickbutt.jpg", (200, 200))
path_1 = im_1.sort()
path_2 = im_2.sort()
period, tup_circle_rads, tup_circle_locs = Fourier(n_approx = 1000, coord_1 = path_1, coord_2 = path_2).get_circles()
Plot(period, tup_circle_rads, tup_circle_locs, speed = 8).plot()

Dickbutt and Euler's Formula

Getting visualization of how number of Fourier Series terms affects the image:

im = Image("images/obama.jpg", (200, 200))
path = im.sort()
period, tup_circle_rads, tup_circle_locs = Fourier(coord_1 = path).get_circles()
Plot(period, tup_circle_rads, tup_circle_locs, visualize = True).plot()

Obama

Warnings

Too big of an image might cause your computer to freeze! Resizing the image to (200, 200) is a safe choice and anything above (500, 500) starts to get a bit sketchy.

Animation

Anything above 1000 n_approximations takes a bit of time to animate. Recommend speed = 8. In this setting, saving the animation takes about 10 minutes.

Improvements

  1. Use FFT to calculate the Fourier Series coefficients
  2. Improve edge detection algorithm
  3. Improve the function(s) that order the points from the edge detection algorithm

Have fun!

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].