Skip to content

Instantly share code, notes, and snippets.

View companje's full-sized avatar

Rick Companje companje

View GitHub Profile
@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 / _ 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 / _ 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 / 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
@companje
companje / tps-remap.py
Last active August 28, 2023 16:30
Fast mapping with Thin Plate Spline Shape Transformer and remap
import cv2
import numpy as np
w,h = 640,480
cam = cv2.VideoCapture(0)
cam.set(cv2.CAP_PROP_EXPOSURE,-6)
cv2.namedWindow("src")
cv2.namedWindow("dst", cv2.WINDOW_NORMAL)
cv2.moveWindow("dst",w,0)
@companje
companje / Draw Quads.py
Last active August 28, 2023 09:31
Textured Quads in Py5 (Processing / Python)
import py5
class Quad:
def __init__(self, s):
self.p = list(map(int, s.split(" ")))
def load_quads(filename):
return [Quad(s) for s in py5.load_strings(filename)]
def draw_quads(xy_quads, uv_quads, tex):
@companje
companje / Quads.pde
Last active August 28, 2023 08:41
Quads
PImage cam, screen;
ArrayList<Quad> cam_quads, screen_quads;
void setup() {
size(1280, 480, P3D);
cam = loadImage("vis_200.png");
cam_quads = load_quads("cam_quads.txt");
screen_quads = load_quads("screen_quads.txt");
}