Skip to content

Instantly share code, notes, and snippets.

View companje's full-sized avatar

Rick Companje companje

View GitHub Profile
@companje
companje / Load WorldMap .OBJ with adjusted perspective (Basic Perspective Sphere).pde
Created February 17, 2024 08:21
Load WorldMap .OBJ with adjusted perspective (Basic Perspective Sphere)
PShape globe;
float w,h,eyeZ;
void setup() {
fullScreen(P3D);
w = width;
h = height;
eyeZ = 1460; // = h/2 + offset
@companje
companje / merge-csv.py
Created February 13, 2024 08:51
Merge 2 CSV's
# ik heb twee CSV's met de volgende headers:
#
# 1) org_row,filename,straatnaam,afbeelding,oude straatnaam
# 2) "uuid","name","width","height","link"
# Ik wil graag een nieuwe CSV met de onderstaande velden waarbij de sleutelkolommen 'filename' en 'name' gebruikt kunnen worden om te matchen
# 2) "uuid","name","width","height","link","straatnaam"
#
# response from ChatGPT 3.5. In 1x goed!
@companje
companje / crop.py
Last active February 13, 2024 08:19
Mac OCR for crops
#!/usr/bin/env python3
import shutil,os,cv2,sys,glob
from tqdm import tqdm
from PIL import Image
from pathlib import Path
from joblib import Parallel, delayed
crop_width = 200
crop_height = 100
output_scale = .33
@companje
companje / Export_SMF_messages.py
Created December 3, 2023 21:31
SMF SimpleMachines Forum Export / Backup to JSON
import mysql.connector, json
def get_column_names(db_name, table_name):
query = f"SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = '{db_name}' AND TABLE_NAME = '{table_name}'"
cursor.execute(query)
return [row["COLUMN_NAME"] for row in cursor]
db_name = 'your_db'
db_user = 'root'
db_pass = ''
@companje
companje / TwoZoomableWindows.pde
Last active October 27, 2023 20:32
Multiple Zoomable Windows in Processing
ZoomWindow win1, win2;
void setup() {
size(100, 100);
win1 = new ZoomWindow(dataPath("saenredam.jpg"), 0, 0, displayWidth/2, displayHeight);
win2 = new ZoomWindow(dataPath("zadelstraat.jpg"), displayWidth/2, 0, displayWidth/2, displayHeight);
}
void draw() {
}
@companje
companje / 0.Distributed Points in Dome.pde
Created October 6, 2019 19:37
Distributed Points in Dome
import org.processing.wiki.triangulate.*;
PShape globe, sphere;
void settings() {
fullScreen(P3D);
}
void setup() {
surface.setSize(1200, 1200);
@companje
companje / _ WaterMars with Shader in Processing Water Mars.pde
Last active September 7, 2023 17:20
WaterMars with Shader in Processing / Water Mars
PShader shader;
PImage colormap, heightmap, palette;
PShape shape;
void setup() {
size(1169, 1169, P3D);
shader = loadShader("watermars.glsl");
colormap = loadImage("mars-2k-noaa.jpg");
heightmap = loadImage("mars-4k-bump.png");
palette = loadImage("water.png");
@companje
companje / _ NormalMap.pde
Last active September 7, 2023 17:19
NormalMap Shader on Textured Sphere in Processing / Processing.org
PShader shader;
PImage colormap, normalmap;
PShape shape;
void setup() {
size(1169, 1169, P3D);
shader = loadShader("frag-shader.glsl", "vert-shader.glsl");
colormap = loadImage("colormaps/mercury.jpg");
normalmap = loadImage("normalmaps/mercury.jpg");
@companje
companje / clustering.py
Last active September 4, 2023 14:27
clustering
# pip install scikit-learn
import numpy as np
from sklearn import metrics
from sklearn.cluster import DBSCAN
import matplotlib.pyplot as plt
from sklearn.datasets import make_blobs
from sklearn.preprocessing import StandardScaler
centers = [[1, 1], [-1, -1], [1, -1], [-1,1]] #* (640,480)
@companje
companje / clahe.py
Created August 31, 2023 10:12
equalize brightness with CLAHE +2 step background learning
import cv2
import numpy as np
from Tracker import Tracker
from TouchEvents import TouchEvents
from pythonosc import udp_client as osc
from scipy.signal import convolve2d
w,h=640,480
mouseX, mouseY = 0,0
exposure=-8