YouTube RSS
YouTube RSS
Skip to content
  • About me
  • Home
  • Contact
  • Photos
    • News
    • Food
    • Statues
  • Links
  • My Keyboard Shortcuts
  • Publications
    • Research
    • Project reports
  • Artwork
    • 2d illustrations
    • 3d Modeling
    • Stop motion
Home Archive by category "Programming"

Category: Programming

Let’s code with ChatGPT

Background So, everyone has heard about the almighty chat GPT. It started with Dall-E in 2022 and a little later, in July, we got “Mid Journey” and then a bit later still “Stable Diffusion”. The…

Continue reading

Matz April 30, 2023 - 7:05 pm April 30, 2023AI, Programming, Review AI 0

Let’s talk about ChatGPT the Alien

I’ve been talking to ChatGPT since November last year, you’ve probably heard of it. So, during my experiments I started to think more about the ramifications of AI and how it will change our lives.…

Continue reading

Matz April 8, 2023 - 8:19 am April 8, 2023AI, Art AI, argument, moral 0

Project: Photo Mosaic Renderer and Viewer

Mosaic demo Usage: First, click on a button to load that scene. On a PC: translate= wasd, zoom in = e, zoom out = f, reset zoom = z, zoom in = left MB (hold),…

Continue reading

Matz August 13, 2021 - 12:00 am September 18, 2021Art, MATLAB Image Processing, mosaic, movies 0

Starting with ThreeJS

This is a first post about my endevors delving into the world of Javascript and ThreeJS. It is a ‘hello world’ to both javascript and ThreeJS. In this post I will show how to create…

Continue reading

Matz June 12, 2017 - 6:24 am June 12, 2017JavaScript 3D, ThreeJS 0

Advent of Code 2016

For the impatient: jump to versions of my code: final version second version first version So, I was introduced to this website called “Advent of Code” http://adventofcode.com just the other day, it’s pretty cool. The…

Continue reading

Matz December 8, 2016 - 7:00 am December 11, 2016MATLAB advent of code, puzzle 0

Gavle Goat is on Fire!

Yay! The old goat caught on fire today, happy days (for me). According to the webcam time, the goat was set ablaze some time between 03:13:24-03:13:30, because the webcam is updated every five seconds. Let…

Continue reading

Matz December 27, 2015 - 9:01 pm April 4, 2020Python time lapse 0

Enhancing Image Quality of Thermal Images (Seek)

As you may know, I recently bought the ”Seek Thermal Camera” for my smartphone. It works great, but the images I take are blurry and quite noisy. In this post I will try to sharpen…

Continue reading

Matz September 29, 2015 - 1:16 pm September 29, 2015MATLAB convolution, FFT, Image Processing, matlab, noise 0

Enhancing Spy Camera Photos of Documents

This post is about how you can processed a photo (spy photo) of a document using rectification and moving average thresholding in Matlab. The Problem We have all been in the situation where we wish…

Continue reading

Matz August 23, 2015 - 11:38 pm August 24, 2015MATLAB exposure, filter, Image Processing 0

Smoothing a Halftone Photo using FFT

In this post I will show how to smooth a halftone image using the fast Fourier Transform (FFT). You can try this out yourself by downloading my Matlab code on the bottom of the article.…

Continue reading

Matz August 8, 2015 - 11:13 pm December 14, 2022MATLAB FFT, filter, Image Processing 2

Reducing VHS Salt-and-Pepper Noise

As I was watching a magician’s lecture from 1985 of the magician Tommy Wonder (stage name of Jacobus Maria Bemelman), I immediately noticed the distracting noise in the video. It looked like salt-and-pepper noise, but…

Continue reading

Matz August 5, 2015 - 11:26 pm September 28, 2015MATLAB Image Processing, noise 0

Deconstructing the Gavle Goat

In Sweden we have this weird Yule goat made from straw that is erected each year just before 1st of December for people to look at. In the late nineties they even put up a…

Continue reading

Matz May 10, 2015 - 2:58 am October 14, 2015Programming computer vision, goat, Image Processing, traffic 0

How to train your Quadcopter

I have not seen “How to train your dragon”, but I have heard about it. Anyway, this post is not about dragons but the next best thing, quadcopters! Sure, a quadcopter can’t expel fire from…

Continue reading

Matz March 23, 2015 - 11:00 pm June 4, 2015Instructional, Programming kinect, quadcopter 1

Approximating pi using Apples

In this post I will look at a new variant of an old way of approximating pi using random numbers, a so-called “Monte Carlo” method. Yes, Monte Carlo as in the casino. There is another…

Continue reading

Matz August 29, 2014 - 4:32 pm February 28, 2015Math, Programming Monte Carlo, Pi 0

Look and Say Sequence (Conway’s constant)

I just took a look at John Conway’s video at Numberphile about the “look-and-say” sequence or as Conway called it “The Weird and Wonderful Chemistry of Audioactive Decay”. He did a lot of research on…

Continue reading

Matz August 9, 2014 - 1:16 am January 26, 2015Math, Programming Conway 0

CSV Parsing in Matlab

A couple of weeks ago I needed to parse the gmail contacts of my local magician’s club (GMK – Göteborgs Magiska Klubb) of which I belong to. My task was to create a neat list…

Continue reading

Matz July 12, 2014 - 9:45 pm January 26, 2015MATLAB, Programming csv, excel, parsing, string 0

Copy Files to Multiple USB Drives

The other day I had to copy a couple of HTML and PDF files to 30 USB thumb drives. To make this as efficient as possible, I found a way to do this using (Perl…

Continue reading

Matz June 25, 2014 - 3:40 pm January 26, 2015Programming, Python files, PDF, USB 2

Finding the Taxi Cab Numbers

This post is about “Taxi cab numbers” specifically the “Ramanujan-Hardy number”, 1729. This specific taxi cab number is so-called because it is the smallest positive number that can be written as a sum of two…

Continue reading

Matz May 30, 2014 - 10:28 pm July 1, 2014MATLAB Fermat's Last Theorem, Floating Point Number, Ramanujan 2

Realistic Fire Simulation using Cellular Automata

In this post I will explain how you can create an interesting fire effect using simple “game of life”-like rules and some post processing and why it is not a good idea to do this…

Continue reading

Matz May 13, 2014 - 1:33 pm August 19, 2014MATLAB Image Processing, matlab, simulation, visualization 2

Prezi vs Sozi

Sozi is an Inkscape extension enabling the user to create Prezi-like presentations with the rotating and zooming animations and bells and whistles that we all love. The great thing with Sozi is that it creates…

Continue reading

Matz April 26, 2014 - 3:32 pm January 20, 2015Instructional, LaTeX, Python inkscape, prezi, sozi 2

Faster Linear Convolution Using Careful Zero Padding

When computing a linear convolution between an image I and a kernel K, the convention is to use FFT, pad with zeroes (also called zero filling) and use the convolution theorem to do this efficiently.…

Continue reading

Matz April 12, 2014 - 10:31 pm May 7, 2017MATLAB convolution, factor, FFT, matlab, padding, recursion 0

Double-Slit Experiment Simulation

This post is about simulating the double-slit experiment using a water tank simulation in Matlab. The simulation is really used to create a rain drop animation, but I modified it slightly to do the double-slit…

Continue reading

Matz March 31, 2014 - 11:14 am August 4, 2014MATLAB experiment, matlab, physics, wave 5

Beveled Cube from a Sphere

This post is about how one can map a sphere to a “rounded”, “smoothed” or as I prefer to call it a “beveled” cube. We will as a bonus also see how to make a…

Continue reading

Matz February 16, 2014 - 12:14 am June 19, 2014MATLAB matlab 0

How to create Valentine Bunnies in Game of Life

Game of Life is a very interesting and a surprisingly simple algorithm invented by John Horton Conway in the seventies. The game is for 0 players, because it is really not a game in the…

Continue reading

Matz February 14, 2014 - 12:00 am September 24, 2014C Conway, Game of Life, heart, Valentine 0

Fast Fourier Transform of a zero vector

This is a short post about FFT of zero vectors and as a result show why FFTW does not check if the argument is a zero vector. I could argue that zero vectors are a…

Continue reading

Matz February 8, 2014 - 8:20 pm February 16, 2014MATLAB FFT, matlab, optimization 0

Taxi Company Dispatch Simulation

As a part of the course in “Simulation of Complex Systems” I suggested a project. The project was to simulate the dispatch system of a taxi cab company. The goal was to essentially simulate where…

Continue reading

Matz January 26, 2014 - 7:39 pm September 28, 2015MATLAB dispatch, matlab, simulation, sparse matrix, taxi, visualization 2

Wave propagation using vertical springs

This is a simple MATLAB code I created which simulates the way a wave propagates through a medium. I wanted to simulate the wave machine created by John N. Shive at Bell Telephone laboratories. The…

Continue reading

Matz January 20, 2014 - 1:00 am April 4, 2015MATLAB, Programming, Uncategorized matlab, physics, simulation, spring, wave 0

Block Chromatic Noise

I love photography and image processing and this little project, that I wish to share with you, I finished way back in April 2012. I recently found this in my old dropbox account and thought…

Continue reading

Matz January 11, 2014 - 2:59 am March 6, 2015Programming camera, exposure, hidden message, noise 0

Faro Shuffle retention

This post is about faro shuffles. A Faro shuffle is a perfect riffle shuffle of two halves of a deck of cards so that each card from each half is interlaced perfectly. There are two…

Continue reading

Matz January 10, 2014 - 3:00 pm January 20, 2015Magic, Programming faro shuffle, FFT, magic, matlab 0
  • Friends blogs

  • Play Español (Learn Spanish)
  • Jahr Iljas art blog
  • Jonas' blog (mostly Haskell)
  • Recent comments

    • Matz on 123d Catch – 3D Reconstruction Using Photos
    • Patrik Magnerius on 123d Catch – 3D Reconstruction Using Photos
    • Matz on Smoothing a Halftone Photo using FFT
    • Kelvin on Smoothing a Halftone Photo using FFT
    • Matz on Explorer is Flirting with me
  • Tags

    3ds max advent of code AI Alien argument Autodesk backup BIOS bug camera conference convolution Conway drivers dropbox Einstein experiment exposure FFT files filter heart Image Processing keyboard matlab Monte Carlo moral movies noise physics Pi printer puzzle quadcopter Sci-Fi simulation sourdough starwars ThreeJS time lapse USB virtualbox visualization wave Windows 7
  • Meta

    • Log in
    • Entries feed
    • Comments feed
    • WordPress.org
All rights reserved (C) Matz Johansson Bergström 2015-2021.
YouTube RSS
Powered by Tempera & WordPress.
MatzJB
Manage Cookie Consent
We use cookies to optimize our website and our service.
Functional Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
Manage options Manage services Manage vendors Read more about these purposes
Preferences
{title} {title} {title}