我想將.flv視頻文件分割爲分辨率良好的.jpg/png幀&,然後想要使用Tess4J工具(JNA包裹在Tesseract周圍)。無法使用Tess4J以100%的準確率識別jpg文件中的文本
目前我試過ffmpeg的命令行工具來分割。FLV視頻文件爲JPG images.The ffmpeg的命令我使用的是:
的ffmpeg -i myinput.flv MyOutput中%D.JPG
它是給我輸出圖像具有細節:
圖片尺寸:1280 * 696
水平分辨率:96 DPI
垂直分辨率:96 dpi的
位深度:24
我的問題是: 我嘗試使用以下代碼段使用Tess4J來識別所述視頻幀中的字符(我分裂JPG圖像文件),它識別字符,但不能100%準確地識別。它還添加了一些垃圾字符,這些字符在圖像中不存在。
我使用Java代碼片斷:
import java.io.BufferedWriter
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import net.sourceforge.tess4j.Tesseract;
import net.sourceforge.tess4j.TesseractException;
public class TesseractDemo {
public static void main(String[] args) {
File imageFile = new File("D:\\myinput1.jpg");
Tesseract instance = Tesseract.getInstance();
// Tesseract1 instance = new Tesseract1();
try {
String result = instance.doOCR(imageFile);
System.out.println(result);
// write in a file
try {
File file = new File("D:\\myoutput1.txt");
BufferedWriter out = new BufferedWriter(new FileWriter(file));
out.write(result);
out.close();
} catch (IOException ex) {
}
} catch (TesseractException ep) {
System.err.println(ep.getMessage());
}
}
}
注:在Tess4J網站,他們已經告訴您正在使用做OCR圖像應該超過200 dpi的每(點英寸)。如何使用ffmpeg獲得超過200 dpi的jpg圖像?
任何有任何Java代碼片段或任何建議,在這方面的機構請幫助。
如果您必須使用jpg輸出,請考慮添加'-qscale:v 2'作爲輸出選項以增加輸出文件質量。默認設置可能不夠用。 – LordNeckbeard 2013-02-19 19:00:00
感謝您的建議。我當然會這樣做。 – 2013-02-20 06:07:44
你能否給我一個確切的命令語法的例子。 – 2013-02-20 06:26:48