25 August 2014
"As Good as can be Expected"
Webcam
Confusing
Obvious to Humans, but...
Is the top the same brightness as the side?
( try covering up the edge in the middle )
TIPS : No flash; Fill middle third;
Landscape; Dark background
procmail.js
## ~/.procmailrc (0600)
:0
* ^TOocr*
| node ~/SUBDIRECTORY/procmail.js >> ~/Mail/ocr.log
## procmail.js
var MailParser = require("mailparser").MailParser;
var mailparser = new MailParser();
mailparser.on("end", function(mail_object) {
console.log("From:", mail_object.from); // [{address:'sender@example.com',name:'Sender Name'}]
for(var i=0; i<mail_object.attachments.length; i++) {
var attachment = mail_object.attachments[i];
console.log(attachment.fileName, attachment.length);
}
});
On GitHub : https://github.com/mdda/procmail.js
dv = leptonica + tesseract
var dv = require('dv');
image = new dv.Image('jpg', fs.readFileSync(image_filename));
var grey = image.toGray();
var box = {
x: grey.width/3, width:grey.width/3,
y: grey.height/3, height:grey.height/3
};
var cropped = grey.crop(box);
var histogram = cropped.histogram();
// ...
var tess = new dv.Tesseract('eng', grey);
tess.pageSegMode='sparse_text';
console.log(tess.findText('plain'));
smtp : emailjs nodemailer
var nodemailer = require('nodemailer');
var smtpTransport = require('nodemailer-smtp-transport');
var transporter = nodemailer.createTransport(smtpTransport({
host: 'localhost', port: 25,
// auth: { user: 'username', pass: 'password' },
maxConnections: 5, maxMessages: 10
}));
transporter.sendMail({
from: "OCR <OCR@outgoing.example.com>",
to: "YOU <you@example.com>",
subject: "Test from Nodemailer",
text: "Body Text"
}, function(err, message) { console.log(err || message); });
webserver : expressjs (+ bootstrap + jade) + "forever"
Super-easy to use a template from GitHub
Niggles with living in subdirectory
# github.com/primaryobjects/Node.js-Bootstrap-Starter-Template
app.use('/ocr', express.static(path.join(__dirname, 'public')));
var subdir = '/ocr';
app.get(subdir+'/', routes.index);
## nginx :
location ~ ^/ocr/(img|fonts|js|css)/ {
root /FULL-PATH-TO/webserver/;
rewrite ^/ocr/(.+)$ /public/$1 break;
}
location /ocr/ {
proxy_pass http://localhost:3000; # Leave off trailing '/'
}