Labels

Wednesday, October 10, 2012

Linux用montage拼图

想把几张图片垂直地拼成一张,就像微博里经常见到的那样,Google了半天也没找到合适的软件,只有一个命令行工具。工具名叫ImageMagic,是一个程序集合,看介绍很强大的样子。其中的montage命令可以拼图,用montage --help看了一下,参数很多,没有头绪,官方文档也太多,翻了翻,没找到我要的功能。后来找到了一个小的示例。从这里入手再仔细看了官方的帮助(在这个页面里Ctrl+F搜索"geometry"快一些),终于找到了我想要的内容。

示例1:

montage "Screenshot from 2012-10-10 18:23:36.png" "Screenshot from 2012-10-10 18:25:23.png" "Screenshot from 2012-10-10 18:26:11.png" "Screenshot from 2012-10-10 18:26:47.png" -geometry +1+1 n.png

说明:

  • -geometry +1+1 : 指定图片之间的水平竖直空隙大小。
  • geometry只使用+1+1,不指定图像大小,则保持原图像大小不变。


示例2:

montage "Screenshot from 2012-10-10 18:23:36.png" "Screenshot from 2012-10-10 18:25:23.png" "Screenshot from 2012-10-10 18:26:11.png" "Screenshot from 2012-10-10 18:26:47.png" -geometry 400x320+1+1 resize.png

说明:

400x320中的"x"是小写字母x,不是乘法号。我开始就弄错了,还着急怎么输入这个符号,囧。

示例3:

montage "Screenshot from 2012-10-10 18:23:36.png" "Screenshot from 2012-10-10 18:25:23.png" "Screenshot from 2012-10-10 18:26:11.png" "Screenshot from 2012-10-10 18:26:47.png" -tile 1x4 -geometry +1+1 tile.png


更多示例请查看官方帮助。可以看出,对于拼接图片来说,最有用的是-geometry和-tile两个参数,阅读帮助时按Ctrl+F分别输入这两个词,直接跳到示例,这样可以快速地找到需要的内容。如果有其他需要,可顺着这个思路查阅官方文档。

Tuesday, October 9, 2012

我的LaTeX第一次得到认同

数学建模的作业是用LaTeX写的,批阅的助教回复中特别指出了这点。用LaTeX排版应该为这次作业增色不少吧,哈哈。
另外,没有给出参考文献的问题,写作业的时候是给了的。当时用的方法是在section标题上写脚注,但是脚注会跑到正文上去,最后就把参考文献去掉了。没有想到用正规的参考文献格式。毕竟没什么经验,以后注意,一定要细致认真,只要认真做,一定有慧眼看得到。


Thursday, October 4, 2012

Ubuntu12.04下配置Goagent翻墙(Goagent+Chrome/Firefox+Proxy SwitchSharp/AutoProxy)

翻墙对身处墙内的屁民来说是一项基本的生存技能。Goagent支持Windows,Linux,Mac X,Android等平台。是目前翻墙的最佳方案。

  1. 下载安装Goagent
  2. Google一下,很容易找到其项目主页为https://code.google.com/p/goagent/。写作此文时(2012.10.04)最新版本是 goagent 2.0.13 正式版下载 http://goo.gl/sxgfB 。下载后用下面的命令进行解压:
    sudo unzip -d /usr/app/ goagent-goagent-v2.0.13-xxxxxx.zip 
    /usr/app/是我自己建立的文件夹,注意换成你自己的路径,以下出现的/usr/app/也要换成你自己的goagent所在的路径请仔细阅读项目主页上的说明,许多配置问题可以在那里找到答案。

  3. 申请GAE appid
  4. 这一步需要有Google账号。申请地址:https://appengine.google.com/,具体申请过程请自行Google,网上有许多教程,随便挑一个,比如 http://www.baibudu.com/google-app-engine-application-steps/

  5. 配置Goagent(proxy.ini)
  6. 编辑 goagent/local/proxy.ini文件
    sudo vi /usr/app/goagent/local/proxy.ini 
    修改第8行,在appid = 的等于号后面写上上一步申请到的GAE appid,如果申请了多个,用 | 隔开。保存退出。

  7. 上传uploader.zip
  8. cd /usr/app/goagent/server/
    python uploader.zip
    按照提示输入申请appid时使用的Google账户(Gmail邮箱),appid,Gmail账户密码。

  9. 运行goagent代理
  10. python /usr/app/goagent/local/proxy.py
    代理服务器地址:127.0.0.1,端口号:8080 。记下备用。

  11. 设置开机自启动
  12. 点击Ubuntu右上角的设置-startup applications,点击add。command写
    python /usr/app/goagent/local/proxy.py
    如下图所示:

  13. 配置浏览器使用代理自动翻墙
    • Chrome 22
    • Chrome可以使用Proxy SwitchySharp这个Extension实现自动翻墙,在Chrome Web Store里搜索下载这个Extension。

      1. 设置Proxy Profiles,填写代理服务器的信息。如下图:
      2. 设置代理规则实现根据网址自动切换代理。
      3. 勾选On line Rule List,订阅这个列表:
        https://autoproxy-gfwlist.googlecode.com/svn/trunk/gfwlist.txt
        在这个列表中的网址都将使用Goagent,其他网址不使用代理。

      4. 证书问题(访问facebook, twitter, G+等https开头的网址)
      5. Linux下目前可用的方法是使用certutil命令导入goagent提供的CA.crt证书。
        1. 安装libnss3-tools
        2. sudo apt-get install libnss3-tools
        3. 导入证书
        4. certutil -d sql:$HOME/.pki/nssdb -A -t 'C,,' -n goagent -i /usr/app/goagent/local/CA.crt

    • Firefox 15.0.1
    • Firefox我在使用的插件是AutoProxy,设置方法与Chrome下的Proxy SwitchySharp大同小异。
      要订阅gfwList(P.R.China)这个列表,以实现根据网址决定是否翻墙。
      导入证书,访问facebook、twitter等https网址
Edit->Preferences->Advanced->Encryption->View Certificates->Authorities->Import,导入/usr/app/goagent/local/CA.crt这个文件。