趁着之前新浪微博还没有关闭basic auth的时候,在一个图片分享微博上下了很多图。图美则美矣,可惜播放幻灯片时候这种长条图就看上去不大清爽了。
所以打算写个程序把这些图用编程手段自动分离了。
虽然上过图像处理课,但真学得一桶浆糊,脑袋里好像有边界算法这个概念,到底是怎么样的根本就没影了。只能用点笨办法了。
因为水平方向没有多图,现只考虑垂直方向的切割。思路是找出4张图的边界,即垂直方向的5个点,用红笔标出。
垂直分界点的显著特征
- 其所在水平方向的像素值都是相同的;
- 垂直分界点所在行与内容图的像素行不同。
从图左上开始查找分界点,根据上述两规则,找到所有分界点。
先安装Python PIL (Python包安装也太ugly了)。
上代码:
import Image #only check the color in horizontal direction def SplitImage(image,im_points,im_width,imFileName): if __name__ == '__main__':
|
结果: