我使用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);
但是我没有得到正确的结果..我该怎么办?我在Delphi-OpenCV https://github.com/Laex/Delphi-OpenCV中使用deplhi6
发布于 2018-08-17 03:27:33
您可以按如下方式处理此图像:
for jy:= 0 to bm.Height do
for ix := 0 to bm.Width do
begin
cor:=bm.Canvas.Pixels[ix,jy];
R:=GetRValue(Cor);
G:=GetGValue(Cor);
B:=GetBValue(Cor);
if g>38 then
bm.Canvas.Pixels[ix,jy]:=clWhite
else
bm.Canvas.Pixels[ix,jy]:=clBlack;
end;
作为输出,我得到了以下图像:
希望这能有所帮助。
https://stackoverflow.com/questions/47450223
复制相似问题