如何将图像转换成文本和图像到wpf + c#

问题描述:

我想开发一个可以将图像转换为文本格式(一些ASCII格式)和文本转换为图像格式的应用程序。我想要这个,因为我需要减小图像文件的大小。 任何建议plz。 在此先感谢,易卜拉欣 。如何将图像转换成文本和图像到wpf + c#

+1

为什么不压缩图像,然后在需要时解压缩它们? – RCIX 2009-06-11 06:56:47

+0

当你说转换和图像为文本格式,你在说光学字符识别(OCR)? – 2009-06-11 09:05:40

当您说您希望缩小图像大小时,是否表示您希望缩小图像文件大小或减小显示屏上显示的尺寸?

如果您希望缩小文件大小,那么将其转换为ASCII文件将无济于事。相反,你需要压缩它。 (说通过转换位图为JPEG)。

编辑基于您的评论

。我建议您查看JpegBitmapDecoder和JpegBitmapEncoder类,将jpeg文件解码为位图,然后从一开始就用不同的valkues编码位图。

Microsoft info

也看看这里的更多信息,包括如何覆盖的75%的默认压缩 More info

其实,当你将图像转换为文本,你会增加的大小,而不是降低它!原因很简单:如果您以二进制格式存储图像,则可以使用一个字节的完整值范围来存储图像。当使用文本格式时,值范围限制为26个大写字符,26个小写字符,10个数字和一堆特殊字符,但它将远远小于二进制模式下的256个值。

通常使用UUEncoding来完成二进制转换为文本并返回。这是一个编码系统,仍然能够生成合理的小文本流,这是一个很好的标准,已经在很多地方使用过,并且拥有大量用于数十种语言的库。 UUEncoding使用64个不同的字符,因此每3个字节的二进制数据被转换为4个字符。 (增加三分之一)

要使您的二进制图像更小,请使用不同的图像格式,如JPG或PNG。 JPG是建议照片的质量损失不是一个大问题。当图像质量必须很高或图像具有一些透明部分时,通常会使用PNG。如果您的原始图像是BMP,那么将其转换为PNG,然后对PNG文件进行UUE编码将导致文件大小显着缩小。 (但是这是因为PNG压缩,而不是编码。)

如果您要识别图像中的字母并将其转换为文本,那么OCR libraries之一怎么样?