Skip to content

Instantly share code, notes, and snippets.

@macrat
macrat / audio_overlay.py
Created April 28, 2017 18:23
長さの違う音声ファイルのうち、重なっている部分を探すやつ。WIP。
import datetime
import sys
import librosa
def scores(longer, shorter):
scores = []
for i in range(len(longer) - len(shorter)):
print('\r{}/{}\033[K'.format(i, len(longer) - len(shorter)), end='')
@macrat
macrat / LRUCache.cs
Created February 5, 2017 13:26
C#でLRUキャッシュ的なもの
using System.Collections.Generic;
using System.Linq;
using System;
class LRUCache<K, V>
where K : IComparable
{
private int Size;
private List<KeyValuePair<K, V>> Values;
@macrat
macrat / pod_system.cpp
Created January 31, 2017 18:30
簡易的なタスクシステムの試作
#include <iostream>
#include <string>
template<class T> class Pod {
protected:
virtual void OnReceive(T msg) {}
void Send(T msg) {
Pod<T>* x = this;
@macrat
macrat / self-test.c
Created January 22, 2017 15:08
簡易的なセルフテストのマクロ
#include <string.h>
#include <stdio.h>
#include <unistd.h>
#define TEST(name, assert) { \
printf(name); \
for(int i=strlen(name); i<40-6; i++){ \
printf(" "); \
} \
@macrat
macrat / stabilization.py
Created December 10, 2016 07:49
OpticalFlowで手ぶれ補正
import cv2
import numpy
cam = cv2.VideoCapture('in.mp4')
old = cv2.cvtColor(cam.read()[1], cv2.COLOR_BGR2GRAY)
matstack = numpy.identity(3)
matlog = []
@macrat
macrat / afterimage.py
Last active December 2, 2016 16:07
軌跡を表示する動画なり画像なりを作る。WIP。
import itertools
import glob
import cv2
import numpy
def make_bg(fname):
vid = cv2.VideoCapture(fname)
@macrat
macrat / camera_calibrate.py
Created November 28, 2016 08:58
pythonでカメラのキャリブレーションしてみた。
import glob
import cv2
import numpy
if __name__ == '__main__':
IMG_SIZE = (3648, 2736)
size = (6, 4)
@macrat
macrat / funny_face.py
Created October 31, 2016 08:37
顔がやばいことになるカメラ。LinuxClubの学祭展示中にライブコーディングしたやつ。
import random
import cv2
import numpy
cascade = cv2.CascadeClassifier('/usr/local/Cellar/opencv3/HEAD/share/OpenCV/haarcascades/haarcascade_frontalface_alt.xml')
cam = cv2.VideoCapture(0)
@macrat
macrat / automapping.py
Last active October 31, 2016 08:34
黒板とかホワイトボードに投影した映像をカメラで映して何かしようとした残骸。
import time
import cv2
import numpy
SCREEN_SIZE = (1024, 768)
cam = cv2.VideoCapture(0)
@macrat
macrat / YoLinux.py
Created October 31, 2016 08:32
頭が大きくなるカメラ。LinuxClubの学祭での展示物。
import time
import cv2
import numpy
cam = cv2.VideoCapture(0)
def take_photo():