Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@non117
non117 / distance.py
Created February 10, 2014 16:12
緯度経度 to メートル
from math import sqrt, sin, cos, pi
def distance(lat1, lon1, lat2, lon2):
"""
Hubeny method
args : latitude1, longitude1, latitude2, longitude2 (degree)
return : m
"""
@non117
non117 / zoi.py
Created July 2, 2014 13:27
zoizoi
import cv2
import numpy as np
def main():
f = 'hoge.png'
im = cv2.imread(f)
im_gray = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY)
hist = cv2.calcHist([im_gray],[0],None,[256],[0,256])
cv2.normalize(hist, hist, 0, 255, cv2.NORM_MINMAX)
im_out = cv2.equalizeHist(im_gray, hist)
@non117
non117 / payo.py
Created September 13, 2014 10:27
pathlibとshutilを使ってファイルのコピーとか
# -*- coding: utf-8 -*-
import shutil
from pathlib import Path
dst = Path('dst')
lis = open('prior-reedit-sorted.txt').readlines()
for filename in lis:
d,_,_, f = filename.strip().split('_')
path = Path(d) / Path('_'+f)
@non117
non117 / kancolle.py
Created September 26, 2014 11:55
やばいやつ
# -*- coding: utf-8 -*-
import json
import operator
import re
import time
import threading
from datetime import datetime
from functools import partial
from getpass import getpass
from random import randint
@non117
non117 / kinectv2.md
Last active August 29, 2015 14:10
OUCC Advent Calendar 2014 7日目

すごいKinect たのしくラボ畜!

こんにちは. @non117 です. この記事はOUCC アドベントカレンダー 2014 7日目の記事です. 今日は私が研究で使ってるKinect v2について紹介しようと思います.

Kinectとは

KinectとはXbox 360のために開発されたNUI(ナチュラルユーザインターフェイス)の一つで, ジェスチャーや音声認識によってゲームへコマンドを入力するデバイスです. Kinectは普通のRGBカメラと赤外線カメラ, マイクを積んでおり, 人間の位置, 動き, 声などを認識することができます.

もともとはゲームの入力デバイスだったのですが, 安価な深度センサとして注目されてしまったお陰でエンタメ系の人々やガチ研究者の目についてしまいました. その結果, 有志がKinectの解析を行ったりOSSのドライバ(今はなきOpenNI)を書いたりして, 今や安価なモーションキャプチャのデファクトスタンダードとなってしまいました.

// private MultiSourceFrameReader multiFrameSourceReader = null;
this.multiFrameSourceReader = this.kinectSensor.OpenMultiSourceFrameReader(FrameSourceTypes.Depth | FrameSourceTypes.Color | FrameSourceTypes.Body | FrameSourceTypes.BodyIndex);
this.multiFrameSourceReader.MultiSourceFrameArrived += this.FrameArrived;
private void FrameArrived(object sender, MultiSourceFrameArrivedEventArgs e)
{
bool multiSourceFrameProcessed = false;
bool colorFrameProcessed = false;
bool depthFrameProcessed = false;
bool bodyIndexFrameProcessed = false;
MultiSourceFrame multiSourceFrame = e.FrameReference.AcquireFrame();
if (multiSourceFrame != null)
{
for (int y = 0; y < depthHeight; ++y)
{
for (int x = 0; x < depthWidth; ++x)
{
int depthIndex = (y * depthWidth) + x;
byte player = bodyIndexBuffer[depthIndex];
if (player != 0xff)
{
ushort depth = depthBuffer[depthIndex];
ColorSpacePoint colorPoint = this.coordinateMapper.MapDepthPointToColorSpace(x, y, depth);
@non117
non117 / cv.py
Created January 2, 2015 09:19
cvで背景差分
# -*- coding: utf-8 -*-
import cv2
def main():
cap = cv2.VideoCapture(0)
#cap = cv2.VideoCapture('opatan.mp4')
ret, frame = cap.read()
if not ret:
return
@non117
non117 / scraping_template.py
Last active August 29, 2015 14:17
スクレイピングテンプレート.py
# -*- coding: utf-8 -*-
import lxml.html
import requests
from pathlib import Path
'''
urlを叩いてxpathを適用したelement[]を返すよ
'''
def getElement(url, xpath):
res = requests.get(url)