Skip to content

Instantly share code, notes, and snippets.

@tatesuke
tatesuke / merge.py
Created April 10, 2019 02:41
動画と音声をマージ
#pip install ffmpeg-python
import ffmpeg
in_file = ffmpeg.input('output.avi')
in_wave = ffmpeg.input('1554859795.wav')
(
ffmpeg
@tatesuke
tatesuke / video.py
Created April 10, 2019 02:08
pythonで動画撮影(音声なし)
import numpy as np
import cv2
import datetime
cap = cv2.VideoCapture(0)
ret, frame = cap.read()
if ret==True:
frame = cv2.flip(frame,0)
print(frame.shape)
@tatesuke
tatesuke / record.py
Created April 10, 2019 01:35
pythonによる録音サンプル
PyAudio‑0.2.11‑cp37‑cp37m‑win_amd64.whl を探してきてpip installしておく
@tatesuke
tatesuke / batteryStatus.py
Created April 9, 2019 23:29
pythonでPC充電状態を判定
# pip install psutil
# sbattery(percent=100, secsleft=<BatteryTime.POWER_TIME_UNLIMITED: -2>, power_plugged=True)
# sbattery(percent=100, secsleft=4294967295, power_plugged=False)
import psutil
battery = psutil.sensors_battery()
print(battery.power_plugged)
@tatesuke
tatesuke / hough.py
Created October 18, 2018 05:34
ハフ変換
import math
import matplotlib.pyplot as plt
import numpy as np
import cv2
import math
img = cv2.imread("test.bmp", 0)
rhoMax = int(math.hypot(img.shape[0], img.shape[1]))
@tatesuke
tatesuke / PageUtils.php
Created August 9, 2017 14:36
PHPのページUtil
<?php
class PageUtil {
private $values = array();
public function put($name, $value) {
$this->values[$name] = $value;
}
public function val(...$names) {
<!doctype html>
<html>
<!--
* KanTanMarkdown
* Copyright (c) 2016 tatesuke
* Released under the MIT license
* https://github.com/tatesuke/KanTanMarkdown/blob/master/LICENSE
--><head>
<meta charset="utf-8">
<style>#previewer:after,nav:after{content:".";display:block;font-size:0;clear:both;visibility:hidden}body{margin:0;padding:0;position:relative}body.onDragover{border:5px dashed #99cde1}nav{margint:0}nav #leftNav{float:left}nav #rightNav{float:right}nav:after{height:0}#attach{width:100%;border-top:1px solid gray;border-bottom:1px solid gray;display:none}#attach #attachForm{box-sizing:border-box;width:100%;height:100%;display:none}#attach #attachForm input[type=file]{width:100%}#attach #filer{box-sizing:border-box;width:100%;height:150px;overflow:auto;display:none}#attach #filer input{width:300px}#attach #pasteArea{box-sizing:border-box;width:100%;border:1px solid gray;text-align:center}#attach #attachToggleButton,#attach #previewToggleButton{width:50%}#wrapper{overflow:auto}#wrapper #editorTabWrapper{bo
@tatesuke
tatesuke / timeRange.groovy
Created December 13, 2016 13:15
ログファイルを日時でフィルタ
def ARG_SDF = new java.text.SimpleDateFormat("yyyy-MMdd-HHmm-ss", java.util.Locale.US);
def LOG_SDF = new java.text.SimpleDateFormat("dd/MMM/yyyy:HH:mm:ss Z", java.util.Locale.US);
def logFile = new File(args[0]);
def startTime = ARG_SDF.parse(args[1]);
def endTime = ARG_SDF.parse(args[2]);
def scanner = new java.util.Scanner(logFile);
while (scanner.hasNextLine()) {
def line = scanner.nextLine();
@tatesuke
tatesuke / Main.java
Created June 30, 2016 13:57
動画からjpg切り抜き
package hoge;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import org.bytedeco.javacv.FFmpegFrameGrabber;
import org.bytedeco.javacv.FrameGrabber.Exception;
def words = []
def input = new File("org.txt")
input.eachLine {
it.split(" ").each {it2 ->
it2 = it2.toLowerCase()
.replaceFirst(/^\(/, "")
.replaceFirst(/\)$/, "")
.replaceFirst(/^\"/, "")
.replaceFirst(/\"$/, "")