修改电子地图一把抓,制作更清晰、文件更小的图
首先非常感谢电子地图一把抓1.0版的作者kenchang,一把抓为大家提供了很大帮助。在使用一把抓过程中,也感觉有些值得改进之处。一是一把抓先把整个图抓到内存,然后存盘,当图很大时,物理内存不足,系统自动使用虚拟内存,会导致抓图前申请内存及抓图后存盘费较长的时间,也限制了抓超大的图。感觉可以改进为采用无压缩BMP格式存盘,这样就可以一边抓图一边存盘,占用内存较少,图的大小也就不受内存限制了。
二是关于压缩格式的问题。一把抓支持1、4、8、24位的像素,1和4位的因受颜色数的限制,只能用于特殊情况。8位抓图对内存需求是24位的四分之一,能抓更大的图,但要一边抓图一边做24位到8位颜色的转换,不能等到全部抓取完后再做这一转换,因此转换质量较低,抓取的图大量使用了仿色(dither),即使原图颜色数不足256也要使用仿色。因此试过几次8位抓图质量不满意后,总是用24位抓图,然后在ps中转为8位的(不使用仿色),这样质量高多了。
一把抓24位图的.tif文件采用了有损jpeg压缩,这在抓本来是真彩色的卫图时合适,但对主要由线条、文字、色块组成的图(矢量图光栅化后),jpeg压缩会导致线条及文字边沿出现一些噪点,既影响了边缘清晰度,也影响了转换到256色后的文件压缩率。
重新编个类似一把抓的程序有点费事,笔者偷懒直接修改了MapCap.exe,把24位抓图存tif文件时采用jpeg压缩改为ZIP或LZW。修改方法如下:
用UltraEdit打开MapCap.exe,在地址00021F1Ch处原数值为07,此处07代表24位图为jpeg压缩,将其改为08存盘后是ZIP压缩,若改为05是LZW压缩。按照ps里提示的说法,ZIP压缩在老的程序里可能不认,笔者实验的结果是ZIP压缩率比LZW略高。ZIP及LZW均为无损压缩。
好了,用修改后的一把抓采用24位抓图,在ps中转换成8位索引模式(注意转换时别用仿色),存为8位的png或gif文件,看看是不是文件比用原来的一把抓下来的小了不少,而且放大后也没有噪点了呢。
[color=Blue]已把lzw、zip、无压缩及原版的jpg压缩上传到了:
ftp://gpsuser2020:[toniegps]@61.132.87.163:2100/incoming/18 --- GPS 导航相关/电子地图一把抓V1.0修改.rar[/color]
[[i] 本帖最后由 ace919 于 2008-9-14 07:35 编辑 [/i]]
楼主太强了!晚上去试试!
这样存下来后还是tif格式吧?其实只要抓下来时无损,也不用PS转换了吧?直接img2ozf应该能转换成同样高效的地图了吧?我刚下载的img2ozf v3.03, 生成的是ozfx3文件。 格式倒是其次,关键说LZ说的第一条,把图先放内存里然后一起存盘,我觉得是现在版本的最大问题回复 #2 Guidance 的帖子
还是tif文件,只是把24位tif文件的压缩格式改为无损的。ps转换用于24位抓图后制作8位地图,当然用img2ozf可以转换,个人喜欢先用ps转换其实是缘于对ps的迷信,因为据说24到8位的转换并没有最佳方案(事先限定调色板除外),觉得ps强,就认为ps在这方面也一定不差,呵呵。再就是有时抓的图有logo,需要ps掉,以及裁剪大小等,就顺便在ps里转格式了。不过话又说回来了,其实地图的颜色不像风景人物照片要求那么严格,色彩与原图有点差别也没事。
[[i] 本帖最后由 ace919 于 2007-11-13 06:27 编辑 [/i]] w:o w:o 我按搂住的方法改了!可是试抓10000 x 10000的图片下来比较两者都是90多M!何解呢!难道是我未改好“一把抓”!麻烦兄弟发一个主程序上来试试p:b LZ强人一个,回去偶也试试。
回复 #5 ljd33837 的帖子
我说的文件更小指最后制作的地图文件,而不是抓下来的图。若抓google earth卫图,无损压缩肯定不如jpeg压缩率高。不知你抓的是什么地图,像mapbar、mapabc等图片,无损压缩率也挺高,但与jpeg比谁高谁低需要看具体情况。对于GPS应用,最终大多要生成ozf2/ogf2文件,因为无损压缩没有了jpeg压缩产生的噪点,抓下来图制作的ozf2/ogf2通常要小,而且没有边缘噪点。
只要你改程序时在那个地址处看到07,就应该不会改错吧。另外可以用像irfanview等看图软件查看压缩编码格式的。
[[i] 本帖最后由 ace919 于 2007-11-13 18:41 编辑 [/i]]
太棒了!
完全没有粉红色的噪点了!万分感谢楼主!好强啊!我只是看出来原程序应该是用VB编的,楼主居然还能直接修改!有一个问题,改之前也是:我选24位存下来的图是黑白的,只能选8位,不知其他人是否也是?
再问一下,当前是哪个地图/卫片最新?我看google earth 或 maps.google.com至少有一年左右的滞后,其他地图呢?
回复 #7 ace919 的帖子
p:b p:b 原来是这样!谢谢楼主的详细解答,我抓了LT2007的图片!我试试抓其它图片看看先。 拭了拭楼主的方法,真的不错!p:b p:bPS是什么东东啊?;) ;)
回复 #8 Guidance 的帖子
你是想说选4位存下来的图是黑白的吧?我也遇到过,不知何原因 dingyige 受益改了ZIP压缩后确实画质好了。但是ZIP压缩的tif,OZI和IMG2OZI是不认的。
好在我们一般不会直接一次性只抓一张全部的详细图
我选择在大地图内做切片,分批下载。尽量保持每张切片图在1wX1w左右,文件不会太大,然后用PS改成256色的索引,这样文件尺寸就又减小下来了
PS对内存的需求也小了。
最后把所有的256色切片在PS中内合并,超大地图就不难产生了。 受益
改了ZIP压缩后确实画质好了。但是ZIP压缩的tif,OZI和IMG2OZI是不认的。
好在我们一般不会直接一次性只抓一张全部的详细图
我选择在大地图内做切片,分批下载。尽量保持每张切片图在1wX1w左右,文件不会太大,然后用PS改成256色的索引,这样文件尺寸就又减小下来了
PS对内存的需求也小了。
最后把所有的256色切片在PS中内合并,超大地图就不难产生了。
回复 14楼 的帖子
看来应该优先用LZW压缩,tif文件用ZIP压缩是有兼容问题。 楼主能放个修改图上来吗? 我没装UltraEdit ,只用HEDIT。地址表达方式不一样,只能参考前后内容定位。望楼主能上图看看回复 16楼 的帖子
搜索:00 00 EB 13 BE 05 80 00 00 EB 0C BE 07 00 00 00改为:00 00 EB 13 BE 05 80 00 00 EB 0C BE 05 00 00 00 是LZW压缩 先用前辈的地图,等我不够用的时候再自己抓,呵呵
回复 17楼 的帖子
多谢楼主的回复:D找不到修改的地方
您好!我怎么找不到在地址00021F1Ch,以及修改的地方
[img]C:\Documents and Settings\Administrator\My Documents\My Pictures\1[/img]
请贴图告之!
谢谢!
页:
[1]
2