在使用文本识别的时候,发现如果文本离图片边界太近,就会导致调用第三方识别时,出现一行文本只识别了一部分的情况,这是因为第三方本身也会对文本做一次检测,检测边框大于图片中文本与图片边界的距离时,就会导致识别出错,所以我的想法就是,把本身的图片给他加一些边框,为第三方留有足够的检测距离
我采用的方法是,构造一个更大的图,然后把当前的图放置于大图中间,这也就和加边框一样了
public static BufferedImage cutTextArea(BufferedImage srcImage, List<Integer> textLoc) {
//使用四个点表示不规则四边形的顶点,就是要切下的文本图形
int[][] points = new int[4][2];
points[0][0] = textLoc.get(0);
points[0][1] = textLoc.get(1);
points[1][0] = textLoc.get(2);
points[1][1] = textLoc.get(3);
points[2][0] = textLoc.get(4);
points[2][1] = textLoc.get(5);
points[3][0] = textLoc.get(6);
points[3][1] = textLoc.get(7);
BufferedImage img = null;
BufferedImage bigBackground = null;
try {
GeneralPath clip = new Gene