Skip to content

Instantly share code, notes, and snippets.

@skypanther
skypanther / CIFilter+Extension.swift
Created April 8, 2019 20:28 — forked from ha1f/CIFilter+Extension.swift
CIFilter+Extension.swift
//
// Created by はるふ on 2017/12/11.
// Copyright © 2017年 ha1f. All rights reserved.
//
import Foundation
import CoreImage
import AVFoundation
extension CIFilter {
@skypanther
skypanther / app.js
Created February 24, 2012 15:46 — forked from pec1985/app.js
Cache Remote Images
var Utils = {
/* modified version of https://gist.github.com/1243697
* adds detection of file extension rather than hard-coding .jpg as in the original
*/
_getExtension: function(fn) {
// from http://stackoverflow.com/a/680982/292947
var re = /(?:\.([^.]+))?$/;
var tmpext = re.exec(fn)[1];
return (tmpext) ? tmpext : '';
},
@skypanther
skypanther / cam_test.py
Last active July 8, 2020 14:33
Accessing multiple PiCams with the Arducam adapter
import cv2
from multicam import Multicam
mcam = Multicam(gpio_mode='bcm')
cv2.imshow('Cam A', mcam.capture(cam='a'))
cv2.imshow('Cam B', mcam.capture(cam='b'))
cv2.imshow('Cam C', mcam.capture(cam='c'))
cv2.imshow('Cam D', mcam.capture(cam='d'))
# cv2.imshow('Cam E', mcam.capture(cam='e'))
@skypanther
skypanther / LimeLight.java
Last active January 12, 2020 17:48
LimeLight wrapper class
package frc.robot.components;
import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard;
import edu.wpi.first.networktables.NetworkTable;
import edu.wpi.first.networktables.NetworkTableEntry;
import edu.wpi.first.networktables.NetworkTableInstance;
/**
LimeLight wrapper class
*/
@skypanther
skypanther / jetson_test.py
Created January 17, 2019 01:07
Test camera access on Jetson TX2
import cv2
def main():
cam = open_cam_usb(1, 1024, 768)
# cam = open_cam_onboard(1024, 768) # Use Jetson onboard camera
if cam.isOpened() is False:
print('failed to open camera')
exit()
while True:
@skypanther
skypanther / slider.py
Created October 17, 2018 00:56
Trackbars (sliders) in OpenCV
'''
slider.py - Demonstrating a user of trackbars on OpenCV windows
Author: Tim Poulsen, github.com/skypanther
License: MIT
2018-10-15
Example usage:
python3 slider.py -i path/to/image.jpg
'''
@skypanther
skypanther / encoder.java
Created February 11, 2017 19:58
scratch code for using the Talon SRX encoders
int circumferenceInInches = 123;
int pulsesPerRotation = 1000;
protected void function auto1() {
RobotDrive drive = RobotMap.driveSystemdrive;
CANTalon talon = RobotMap.driveSystemCANTalon1;
//Change control mode of talon, other options are Follower Mode or Voltage Compensation
talon.changeControlMode(ControlMode.Position);
//Select either QuadEncoder or Pulse Width / Analog, we want Quad
@skypanther
skypanther / base64EncodeAscii.js
Created July 26, 2017 13:16
Titanium, alternative base64encode function; not the author, sorry I don't recall the original source for this; also untested in recent Ti versions
// alternative to built-in base64 encode function, which has outstanding bugs
// alternatively, use:
// String(Ti.Utils.base64encode(theBlob)).replace(/(\r\n|\n|\r)/gm,"");
function Base64EncodeAscii(str) {
if (/([^\u0000-\u00ff])/.test(str)) {
throw 'String must be ASCII';
}
var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
var o1,
o2,
@skypanther
skypanther / app.js
Created September 1, 2011 21:48
Draw gridlines in a Titanium window
// implement like this:
var window = Ti.UI.createWindow({
backgroundColor:'#fff'
});
// draw the gridlines first so your other elements stack on top of them
// without requiring you to set the z-index property of each
var grid = require('gridlines');
grid.drawgrid(10,window);
@skypanther
skypanther / Gruntfile.js
Last active May 3, 2017 11:48
Grunt - build your Titanium app and upload to Installr
var _ = require('underscore')._;
module.exports = function(grunt) {
grunt.initConfig({
settings: {
appName: 'YourAppName',
ppUuid: 'uuid', /* Provisioning profile UUID */
distributionName: 'cert_name', /* Distr. certificate name */
keystoreLocation: '/Users/path/to/android.keystore', /* path to keystore */
storePassword: 'keystore_password', /* keystore password */