正文:有一些图片形如[|]中间带一直线,但是有点倾斜。手工摆正有点费时。这是个很特殊的例子,有下面几个特点:
a 图片近中间的区域有一直线。
b 直线倾角(距Y轴)不超过1度,但比较长。
c 线宽有3至4个像素。
于是采取下面措施,用机器解决问题。先在网上找些PIL例子天天向上,然后用使用crop和rotate函数。还有一个获取像素值的函数foo,忘记了名字。
a 取X轴上中间一小部分区域
b 取Y轴绝大部分区域(去掉空白的边缘部分)
c 在ab构成的区域内寻找倾角不超过1度的直线
d 返回直线の倾角。若无直线,则适当调整范围。
e 倾角相反の方向旋转图片。
f 保存图片
总结: 一开始用box的对边任意两点x坐标捕捉直线,速度很慢。后来,根据本问题域的特征,只在直线与box一边有交点的地方(颜色决定)捕捉直线,速度快多了。



