Categories
code programming

Simple HID driver to save an old AIPTEK HyperPen tablet trashing

rect3948So I have this incredibly old and stupidly cheap AIPTEK tablet (like a Wacom, only Chinese and cheap) that is so outdated it practically has almost no existence online. Why did I bring this item across the atlantic? I have no answer, but it’s here anyways and I can’t seem to bring myself to trash it. Of course no drivers are available for it so I wrote a tiny simple driver using the great libHID library from Brandon Fosdick. It was painless, and my old tablet was saved.

Categories
code tips

LaTeX colorization in Google Docs with AppScript [w/code]

Screen Shot 2013-12-03 at 7.38.53 PMThere’s a fantastic way to collaborate when writing an academic paper in LaTeX – using Google Docs. LaTeX is all text anyway, so collaborating over GDocs is straightforward, but alas there is no colorization to make it like a good LaTeX editor… Fortunately there’s AppScript to help us!

Categories
code

Creating a searchable PDF with opensource tools ghostscript, hocr2pdf and tesseract-ocr

I bet creating searchable PDFs has been done many times over, even so I’d like to share the way I did it recently with strictly open source tools. The pipeline is simple: GS to separate the PDF to pages, tesseract OCR to extract text, hocr2pdf to create a merged PDF and GS again to bundle everything back to unified PDF. If you’re creating a PDF from scanned books, this project may also be of help: unpaper
Edit 5/21/2014: I’ve had good experience using Scantailor, which is available on homebrew for the Mac. And also, I’ve submitted hocr2pdf to homebrew as part of the exact-image library (the name of the formula is “exact-image”).

Categories
3d code graphics opengl programming

Vertex array objects with shaders on OpenGL 2.1 & GLSL 1.2 [w/code]

rect3826Phew. Finally this is working!
I’ve been confined to OpenGL 2.1 and GLSL 1.2 on the Mac since the Qt OpenGL context will not pick up the core OpenGL profile (a big problem on it’s own) and get an OpenGL 3.x and GLSL 1.5… So it’s back to old school GL’ing, but anyway some things are working, albeit they have their quirks.
So for all of you battling the OpenGL 2.1 war, here’s how I made VAOs work with a very simple shader.

Categories
3d code graphics gui opencv programming qt vision

Moving to Qt on the SfM-Toy-Library project

Qt GUI for SfMToyLibFor those of you still interested, I’ve made the move to using Qt and QGLViewer in the SfM-Toy-Lib project. Getting rid of PCL dependency (I think it’s a bloated library), and burying FLTK long in the past, I feel much better about it now.
Get it on github: https://github.com/royshil/SfM-Toy-Library

Categories
code programming qt

CMake build for QExtSerialPort for all those lonely cross-platform Qt4 projects

rect6492So QSerialPort only became part of Qt core on Qt5.1, but what should all those Qt4 projects do for an easy serial port access?
There is the excellent QExtSerialPort project, but it only has a QMake build system, and I like CMake!
Not to worry, a CMake build is easy to set up…

Categories
Uncategorized

Trying out a new theme

Hi Guys,
After a while we are trying to “lighten” things up. Let us know what you think
Roy & Arnon

Categories
code ffmpeg

Finding FFMPEG with CMake

I haven’t found a CMake module to find FFMPEG libraries, so I wrote one (a while back) and I thought to share it.
It will look very hard in order to find it on *nix and Win all the same, and I found it useful.
Get the gist: https://gist.github.com/royshil/6318407

Categories
Uncategorized

Tree nom

tree_nom

Categories
code ffmpeg graphics opencv video vision

Extending the hand tracker with snakes and optimizations [w/ code, OpenCV]

I wish to report of a number of tweaks and additions to the hand silhouette tracker I posted a while back. First is the ability for it to “snap” to the object using a simple Active Snake method, another is a more advanced resampling technique (the older tracker always resampled after every frame), and of a number of optimizations to increase the speed (tracker now runs at real-time on a single core).