判断图像中有多少行文本(开发中)
Posted caoke
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了判断图像中有多少行文本(开发中)相关的知识,希望对你有一定的参考价值。
const fs = require("fs") const getPixels = require("get-pixels") function getColor(x,y,pixels) return [ pixels.data[x*4+y*4*pixels.shape[0]], pixels.data[x*4+1+y*4*pixels.shape[0]], pixels.data[x*4+2+y*4*pixels.shape[0]], pixels.data[x*4+3+y*4*pixels.shape[0]] ] function isNearColor(color1,color2) if((Math.abs(color1[0]-color2[0])+Math.abs(color1[1]-color2[1])+Math.abs(color1[2]-color2[2])+Math.abs(color1[3]-color2[3]))<40) return 1; return 0; getPixels("1.jpg", function(err, pixels) if(err) console.log("Bad image path") return scanLine(pixels.shape[0],pixels.shape[1],function (curp,prep) return isNearColor(getColor(curp.x,curp.y,pixels),getColor(prep.x,prep.y,pixels)) ,function (),pixels) ) //行扫描函数 line function scanLine(w,h,isOpenFunc,callfunc,pixels) const map= function isOpen(curp,prep) const x,y=curp; if(map[x+‘,‘+y]) return 0 if(x<0||x>=w||y<0||y>=h) return 0; return isOpenFunc(curp,prep) function callback(x,y) map[x+‘,‘+y]=true; return callfunc(x,y) let xline=[]; let yline=[]; function isXLine(x,y) return y===0||xline.indexOf(`$x,$y`)>-1 function isYLine(x,y) return x===w-1||yline.indexOf(`$x,$y`)>-1 for(let i=0;i<h;i++) yline.push(`0,$i`); let index=0; const posArr=[] let state=‘end‘; while(index<yline.length) //发出x射线 let [x,y]=yline[index].split(‘,‘); x=parseInt(x); y=parseInt(y); //state const arr=[]; while(isOpen(x:x+1,y,x,y)) x=x+1; arr.push(x,y) if(x+1==w) if(state!==‘end‘) console.log(yline[index]) state=‘end‘ else if(state!==‘break‘) console.log(yline[index]) state=‘break‘ index++; // scanRound(0,0,100,100,function (x,y) // return 1; // ,function (x,y) // console.log(x,y); // )
https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1561552141135&di=170679fcee4e69499f94b5167c8e474a&imgtype=0&src=http%3A%2F%2Fb-ssl.duitang.com%2Fuploads%2Fitem%2F201208%2F27%2F20120827144059_sijxK.jpeg
以上是关于判断图像中有多少行文本(开发中)的主要内容,如果未能解决你的问题,请参考以下文章
标题中有两行文本的 UIButton (numberOfLines=2)