如何识别图片上的数字 java 图片识别 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 js 没这功能。这是OCR范畴 先做个测试<!DOCTYPE HTML><html><head> <!--[if lt IE 9]><script language="javascript" type="text/javascript" src="/jqplot/excanvas.min.js"></script><![endif]--><script src=/scripts/jquery-1.8.3.min.js></script></head><body><canvas id="myCanvas" width="200" height="100" style="border:1px solid #c3c3c3;">Your browser does not support the canvas element.</canvas><div id=view></div><script type="text/javascript">$(function() {var c=document.getElementById("myCanvas");var ctx=c.getContext("2d");var img=new Image()//img.src="http://img.bbs.csdn.net/upload/201406/28/1403921760_116598.jpg"img.src = '/photo.jpg'; //因涉及跨域,所以用了本地文件ctx.drawImage(img,0,0);x = 0;y = 9;h = 15;w = 12;p = ctx.getImageData( x, y, w, h)ctx.putImageData(p, x, y+20)$('#view').append(p.width + '<br>');$('#view').append(p.height + '<br>');for(y=0; y<p.height; y++) { for(x=0; x<p.width; x++) { i = (y*w+x)*4; n = (p.data[i] + p.data[i+1] + p.data[i+2]) / 3; $('#view').append((n>127 ? ' ' : 1)+''); } $('#view').append('<br>');}});</script></body></html>再配上模式匹配代码,认出数字还是很容易的但因为由于有跨域问题,所以实际意义并不大 图片应该不存在跨域问题,除非对方有防盗链可以先用<img>加载图片,然后再放入canvas中 无限之 切割再匹配, 切割再匹配, 直到找到最优的组合或则设计一个好的切割算法, 切割后匹配(一般的ocr就能实现) 有跨域问题 这要产也有跨域问题?<canvas id="canvasId" width="400" height="300"></canvas><img src="http://img.bbs.csdn.net/upload/201406/28/1403921760_116598.jpg" id="img" /><script type="text/javascript">var canvas = document.getElementById("canvasId");var cxt = canvas.getContext("2d");var img = document.getElementById("img");img.onload = function (){ cxt.drawImage(img,0,0);}</script> 有跨域问题 这要产也有跨域问题?<canvas id="canvasId" width="400" height="300"></canvas><img src="http://img.bbs.csdn.net/upload/201406/28/1403921760_116598.jpg" id="img" /><script type="text/javascript">var canvas = document.getElementById("canvasId");var cxt = canvas.getContext("2d");var img = document.getElementById("img");img.onload = function (){ cxt.drawImage(img,0,0);}</script>var imageData = cxt.getImageData(0, 0, 10, 10); console.log(imageData);你在load里面试试看 跨域的图片可以显示 但是不能操作像素 有跨域问题 这要产也有跨域问题?<canvas id="canvasId" width="400" height="300"></canvas><img src="http://img.bbs.csdn.net/upload/201406/28/1403921760_116598.jpg" id="img" /><script type="text/javascript">var canvas = document.getElementById("canvasId");var cxt = canvas.getContext("2d");var img = document.getElementById("img");img.onload = function (){ cxt.drawImage(img,0,0);}</script>var imageData = cxt.getImageData(0, 0, 10, 10); console.log(imageData);你在load里面试试看 跨域的图片可以显示 但是不能操作像素知道了,原来限制在这里 大家来讨论:setTimeout中定义的匿名函数的作用域链问题 关于遍历元素的问题! 右边广告浮动代码!!!!求救 JQUERY 1.3.1 在IE8下无法执行AJAX。FF下正常执行 到底都是什么意思啊? 创建什么object能获得Opera 9.02中显示的文字和URL?? 请教这几段js代码意思和怎么调用?急 JSP中,判断上传文件大小问题!急 很简单的一个问题!在线等待!! 给一个最简单的日历代码来看看? JS模拟触发A标签 打开新的页面~怎么写? 如下的图片功能怎么实现?
这是OCR范畴
<html>
<head>
<!--[if lt IE 9]><script language="javascript" type="text/javascript" src="/jqplot/excanvas.min.js"></script><![endif]-->
<script src=/scripts/jquery-1.8.3.min.js></script>
</head>
<body><canvas id="myCanvas" width="200" height="100" style="border:1px solid #c3c3c3;">
Your browser does not support the canvas element.
</canvas>
<div id=view></div><script type="text/javascript">
$(function() {var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
var img=new Image()
//img.src="http://img.bbs.csdn.net/upload/201406/28/1403921760_116598.jpg"
img.src = '/photo.jpg'; //因涉及跨域,所以用了本地文件
ctx.drawImage(img,0,0);x = 0;
y = 9;
h = 15;
w = 12;
p = ctx.getImageData( x, y, w, h)
ctx.putImageData(p, x, y+20)$('#view').append(p.width + '<br>');
$('#view').append(p.height + '<br>');for(y=0; y<p.height; y++) {
for(x=0; x<p.width; x++) {
i = (y*w+x)*4;
n = (p.data[i] + p.data[i+1] + p.data[i+2]) / 3;
$('#view').append((n>127 ? ' ' : 1)+'');
}
$('#view').append('<br>');}
});
</script></body>
</html>
再配上模式匹配代码,认出数字还是很容易的
但因为由于有跨域问题,所以实际意义并不大
有跨域问题
这要产也有跨域问题?<canvas id="canvasId" width="400" height="300"></canvas>
<img src="http://img.bbs.csdn.net/upload/201406/28/1403921760_116598.jpg" id="img" />
<script type="text/javascript">
var canvas = document.getElementById("canvasId");
var cxt = canvas.getContext("2d");
var img = document.getElementById("img");
img.onload = function ()
{
cxt.drawImage(img,0,0);
}
</script>
有跨域问题
这要产也有跨域问题?<canvas id="canvasId" width="400" height="300"></canvas>
<img src="http://img.bbs.csdn.net/upload/201406/28/1403921760_116598.jpg" id="img" />
<script type="text/javascript">
var canvas = document.getElementById("canvasId");
var cxt = canvas.getContext("2d");
var img = document.getElementById("img");
img.onload = function ()
{
cxt.drawImage(img,0,0);
}
</script>var imageData = cxt.getImageData(0, 0, 10, 10);
console.log(imageData);你在load里面试试看 跨域的图片可以显示 但是不能操作像素
有跨域问题
这要产也有跨域问题?<canvas id="canvasId" width="400" height="300"></canvas>
<img src="http://img.bbs.csdn.net/upload/201406/28/1403921760_116598.jpg" id="img" />
<script type="text/javascript">
var canvas = document.getElementById("canvasId");
var cxt = canvas.getContext("2d");
var img = document.getElementById("img");
img.onload = function ()
{
cxt.drawImage(img,0,0);
}
</script>var imageData = cxt.getImageData(0, 0, 10, 10);
console.log(imageData);你在load里面试试看 跨域的图片可以显示 但是不能操作像素
知道了,原来限制在这里