2011-04-22 157 views
1

我有一个定制的Web服务器运行,用于扫描文档。要激活扫描仪和加载屏幕上的影像,我有一个扫描按钮链接到一个网页,下面的图片标签:管道图像压缩

<img src="http://myserver/archive/location/name.jpg?scan" /> 

当服务器接收到一个扫描文件的请求它流的输出以下命令,并将其写入到请求位置的磁盘。

scanimage --resolution 150 --mode Color | convert - jpg:- 

这很好,我很高兴这个简单的设置。问题在于convert(ImageMagick)缓存scanimage的输出,并且只有在扫描完成时才将jpeg图像吐出。这样做的结果是网页长时间加载并有超时风险。它也使我无法看到图像被扫描,否则应该是可能的,因为它正是基准编码的jpeg图像在缓慢连接上显示的方式。

我的问题是:有没有可能在不缓冲图像的情况下进行jpeg编码,或者操作本身是全局的?如果可能的话,我可以使用哪些工具?我以为有一个想法是分别编码八条线,但我不知道如何把这些块放在一起。如果这是不可能的,是否有另一种压缩格式允许这种流水线编码?我唯一的限制是该格式应该被主流浏览器所支持。

谢谢!

回答

1

您想用空间填充曲线细分图像。 sfc recursivley将表面划分为更小的图块,并且由于它的分形维度将2d复杂度降低到1d复杂度。当您细分图像时,您可以使用此曲线连续扫描图像。或者您可以使用BFS和某种图像低频细节滤镜来连续扫描图像的更高分辨率。你想寻找尼克的空间索引希尔伯特曲线四叉树的博客,但我不认为你可以把拼贴与JPG格式(猫?)。或者你可以不断降低分辨率?

scanimage --resolution [1-150] --mode Color | convert - jpg:-