由于ORC识别,我发现图片格式必须是TIF,才能进行ORC文字识别,然而控制扫描仪之后获取的图片对象
private void _twain_AcquirePage(object sender, TwainAcquirePageEventArgs e)
{
try
{
if (_transferMode != TwainCapabilityValue.TransferMechanismFile)
{
if (e.Image != null)
{
if (_viewer.Image == null)
{
_viewer.Image = e.Image;
}
else
{
_viewer.Image.AddPage(e.Image);
_viewer.Image.Page = _viewer.Image.PageCount;
}
//保存图片
currentScanFilePath = SaveImage();
}
}
else
MessageBox.Show(this, "Acquired page(s) is saved to file(s)", "Acquire to File");
}
catch (Exception ex)
{
//Messager.ShowError(this, ex);
MessageBox.Show(this, ex.Message);
}
}
e.Image并不是tif格式,具体什么格式不清楚,直接用此对象,进行ORC识别会出错,所以我的操作是
利用RasterCodecs.save()方法,先保存成Tif格式图片
RasterCodecs _codecs=new RasterCodecs();
_codecs.Save(_viewer.Image,
_fileName,
RasterImageFormat.Tif
_bitsPerPixel,//色彩比
_viewer.Image.Page,
_viewer.Image.PageCount,
1,
CodecsSavePageMode.Overwrite);
再重新把图片从本地文件重新加载赋值给_viewer.Image,_viewe是ImageViewer控件
这样效率太低,请问有没有代码可以直接转格式
|
|