Delphi 如何准备好用tesseract OCR识别的图像

Delphi 如何准备好用tesseract OCR识别的图像,delphi,image-processing,tesseract,Delphi,Image Processing,Tesseract,我用Tesseract OCR提取电表读数。。。tesseract需要识别正确的白色背景和黑色数字。。我试着给图像设置阈值 src := cvLoadImage(filename,CV_LOAD_IMAGE_GRAYSCALE); dst := cvCreateImage(cvGetSize(src), IPL_DEPTH_8U, 1); cvThreshold(src, dst, 50, 250, CV_THRESH_BINARY); 但是我没有得到正确的结果。。我该怎么办? 我将d

我用Tesseract OCR提取电表读数。。。tesseract需要识别正确的白色背景和黑色数字。。我试着给图像设置阈值

src := cvLoadImage(filename,CV_LOAD_IMAGE_GRAYSCALE);


dst := cvCreateImage(cvGetSize(src), IPL_DEPTH_8U, 1);


cvThreshold(src, dst, 50, 250, CV_THRESH_BINARY);
但是我没有得到正确的结果。。我该怎么办? 我将deplhi6与Delphi OpenCV结合使用


您可以按如下方式处理此图像:

jy的
值:=0到bm.高度do
对于ix:=0到bm.宽度do
开始
cor:=bm.Canvas.Pixels[ix,jy];
R:=GetRValue(Cor);
G:=GetGValue(Cor);
B:=GetBValue(Cor);
如果g>38,则
bm.Canvas.Pixels[ix,jy]:=clWhite
其他的
像素[ix,jy]:=clBlack;

结束您可以按如下方式处理此图像:

jy的
值:=0到bm.高度do
对于ix:=0到bm.宽度do
开始
cor:=bm.Canvas.Pixels[ix,jy];
R:=GetRValue(Cor);
G:=GetGValue(Cor);
B:=GetBValue(Cor);
如果g>38,则
bm.Canvas.Pixels[ix,jy]:=clWhite
其他的
像素[ix,jy]:=clBlack;

结束请花一些时间学习图像处理的基础知识。除此之外,全局阈值不会给你这个图像带来好的结果。你的阈值50没有任何意义。你尝试过这个答案吗?请花些时间学习图像处理的基础知识。除此之外,全局阈值不会给你这个图像带来好的结果。你的阈值50没有任何意义。你尝试过这个答案吗?