Barely working concept

pull/29/head
Christoph Oberhofer 10 years ago
parent 36f75d2a95
commit b7a6526c53

50
dist/quagga.js vendored

@ -6933,14 +6933,46 @@ define(
/* jshint undef: true, unused: true, browser:true, devel: true */
/* global define */
define('barcode_decoder',["bresenham", "image_debug", 'code_128_reader', 'ean_reader', 'code_39_reader', 'codabar_reader'], function(Bresenham, ImageDebug, Code128Reader, EANReader, Code39Reader, CodabarReader) {
define(
'upc_reader',[
"./ean_reader"
],
function(EANReader) {
function UPCReader() {
EANReader.call(this);
}
UPCReader.prototype = Object.create(EANReader.prototype);
UPCReader.prototype.constructor = UPCReader;
UPCReader.prototype._decode = function() {
var result = EANReader.prototype._decode.call(this);
if (result && result.code && result.code.length === 13 && result.code.charAt(0) === "0") {
result.code = result.code.substring(1);
return result;
}
return null;
};
return (UPCReader);
}
);
/* jshint undef: true, unused: true, browser:true, devel: true */
/* global define */
define('barcode_decoder',["bresenham", "image_debug", 'code_128_reader', 'ean_reader', 'code_39_reader', 'codabar_reader', 'upc_reader'], function(Bresenham, ImageDebug, Code128Reader, EANReader, Code39Reader, CodabarReader, UPCReader) {
var readers = {
code_128_reader: Code128Reader,
ean_reader: EANReader,
code_39_reader: Code39Reader,
codabar_reader: CodabarReader
codabar_reader: CodabarReader,
upc_reader: UPCReader
};
var BarcodeDecoder = {
create : function(config, inputImageWrapper) {
@ -7347,18 +7379,18 @@ define('config',[],function(){
decoder:{
drawBoundingBox: false,
showFrequency: false,
drawScanline: false,
showPattern: false,
drawScanline: true,
showPattern: true,
readers: [
'code_128_reader'
]
},
locator: {
halfSample: true,
patchSize: 32,
showCanvas: false,
patchSize: 64,
showCanvas: true,
showPatches: false,
showFoundPatches: false,
showFoundPatches: true,
showSkeleton: false,
showLabels: false,
showPatchLabels: false,
@ -7995,10 +8027,10 @@ function(Code128Reader, EANReader, InputStream, ImageWrapper, BarcodeLocator, Ba
sequence : false,
size: 800
};
config.numOfWorkers = 1;
config.numOfWorkers = 0;
config.locator = {
halfSample: false,
patchSize: 25
patchSize: 40
};
this.init(config, function() {
Events.once("detected", function(result) {

File diff suppressed because one or more lines are too long

@ -0,0 +1,83 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<title>Camera</title>
<script type="text/javascript">
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia;
window.URL = window.URL || window.webkitURL || window.mozURL || window.msURL;
function getUserMedia(constraints, success, failure) {
navigator.getUserMedia(constraints, function(stream) {
var videoSrc = (window.URL && window.URL.createObjectURL(stream)) || stream;
success.apply(null, [videoSrc]);
}, failure);
}
function initCamera(constraints, video, callback) {
getUserMedia(constraints, function (src) {
video.src = src;
video.addEventListener('loadeddata', function() {
var attempts = 10;
function checkVideo() {
if (attempts > 0) {
if (video.videoWidth > 0 && video.videoHeight > 0) {
console.log(video.videoWidth + "px x " + video.videoHeight + "px");
video.play();
callback();
} else {
window.setTimeout(checkVideo, 100);
}
} else {
callback('Unable to play video stream.');
}
attempts--;
}
checkVideo();
}, false);
}, function(e) {
console.log(e);
});
}
function copyToCanvas(video, ctx) {
( function frame() {
ctx.drawImage(video, 0, 0);
window.requestAnimationFrame(frame);
}());
}
window.addEventListener('load', function() {
var constraints = {
video: {
mandatory: {
minWidth: 1280,
minHeight: 720
}
}
},
video = document.createElement('video'),
canvas = document.createElement('canvas');
document.body.appendChild(video);
document.body.appendChild(canvas);
initCamera(constraints, video, function() {
canvas.setAttribute('width', video.videoWidth);
canvas.setAttribute('height', video.videoHeight);
copyToCanvas(video, canvas.getContext('2d'));
});
}, false);
</script>
</head>
<body>
</body>
</html>

@ -36,12 +36,16 @@
<div class="controls">
<input type="file" capture/>
<fieldset class="reader-group">
<label>UPC</label>
<input type="radio" name="reader" value="upc" checked />
<label>Code39</label>
<input type="radio" name="reader" value="codabar" />
<label>Code128</label>
<input type="radio" name="reader" value="code_128"/>
<label>EAN</label>
<input type="radio" name="reader" value="ean"/>
<label>Code39</label>
<input type="radio" name="reader" value="code_39" checked/>
<input type="radio" name="reader" value="code_39"/>
</fieldset>
</div>
<div id="result_strip">

@ -4,8 +4,7 @@ $(function() {
App.attachListeners();
},
config: {
reader: "code_39",
length: 10
reader: "upc"
},
attachListeners: function() {
$(".controls input[type=file]").on("change", function(e) {

@ -29,8 +29,12 @@
<div class="controls">
<button class="stop">Stop</button>
<fieldset class="reader-group">
<label>UPC</label>
<input type="radio" name="reader" value="upc" checked />
<label>Code39</label>
<input type="radio" name="reader" value="codabar" />
<label>Code128</label>
<input type="radio" name="reader" value="code_128" checked />
<input type="radio" name="reader" value="code_128" />
<label>EAN</label>
<input type="radio" name="reader" value="ean" />
<label>Code39</label>

@ -7,7 +7,7 @@ $(function() {
type : "LiveStream"
},
decoder : {
readers : ["code_128_reader"]
readers : ["upc_reader"]
}
}, function() {
App.attachListeners();

@ -31,8 +31,10 @@
<div class="controls">
<button class="next">Next</button>
<fieldset class="reader-group">
<label>Codabar</label>
<input type="radio" name="reader" value="codabar" checked />
<label>UPC</label>
<input type="radio" name="reader" value="upc" checked />
<label>Code39</label>
<input type="radio" name="reader" value="codabar" />
<label>Code39</label>
<input type="radio" name="reader" value="code_39" />
<label>Code128</label>

@ -16,7 +16,7 @@ $(function() {
});
},
config: {
reader: "codabar",
reader: "upc",
length: 10
},
attachListeners: function() {

@ -1,14 +1,15 @@
/* jshint undef: true, unused: true, browser:true, devel: true */
/* global define */
define(["bresenham", "image_debug", 'code_128_reader', 'ean_reader', 'code_39_reader', 'codabar_reader'], function(Bresenham, ImageDebug, Code128Reader, EANReader, Code39Reader, CodabarReader) {
define(["bresenham", "image_debug", 'code_128_reader', 'ean_reader', 'code_39_reader', 'codabar_reader', 'upc_reader'], function(Bresenham, ImageDebug, Code128Reader, EANReader, Code39Reader, CodabarReader, UPCReader) {
"use strict";
var readers = {
code_128_reader: Code128Reader,
ean_reader: EANReader,
code_39_reader: Code39Reader,
codabar_reader: CodabarReader
codabar_reader: CodabarReader,
upc_reader: UPCReader
};
var BarcodeDecoder = {
create : function(config, inputImageWrapper) {

@ -23,18 +23,18 @@ define(function(){
decoder:{
drawBoundingBox: false,
showFrequency: false,
drawScanline: false,
showPattern: false,
drawScanline: true,
showPattern: true,
readers: [
'code_128_reader'
]
},
locator: {
halfSample: true,
patchSize: 32,
showCanvas: false,
patchSize: 64,
showCanvas: true,
showPatches: false,
showFoundPatches: false,
showFoundPatches: true,
showSkeleton: false,
showLabels: false,
showPatchLabels: false,

@ -400,10 +400,10 @@ function(Code128Reader, EANReader, InputStream, ImageWrapper, BarcodeLocator, Ba
sequence : false,
size: 800
};
config.numOfWorkers = 1;
config.numOfWorkers = 0;
config.locator = {
halfSample: false,
patchSize: 25
patchSize: 40
};
this.init(config, function() {
Events.once("detected", function(result) {

@ -0,0 +1,31 @@
/* jshint undef: true, unused: true, browser:true, devel: true */
/* global define */
define(
[
"./ean_reader"
],
function(EANReader) {
"use strict";
function UPCReader() {
EANReader.call(this);
}
UPCReader.prototype = Object.create(EANReader.prototype);
UPCReader.prototype.constructor = UPCReader;
UPCReader.prototype._decode = function() {
var result = EANReader.prototype._decode.call(this);
if (result && result.code && result.code.length === 13 && result.code.charAt(0) === "0") {
result.code = result.code.substring(1);
return result;
}
return null;
};
return (UPCReader);
}
);
Loading…
Cancel
Save