免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2066 | 回复: 3
打印 上一主题 下一主题

发一个图像处理源码 [复制链接]

论坛徽章:
2
季节之章:冬
日期:2015-01-20 17:08:47IT运维版块每日发帖之星
日期:2016-02-24 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-08-21 22:21 |只看该作者 |倒序浏览
本帖最后由 大邪神 于 2012-08-21 22:22 编辑

自己写的,真的没用过Py,网上找找改改,就成了。

功能:把某个目录下的大图片缩小并按比例填充,因为我的系统一则不需要那么大的图片,二则比较老,只支持4:3的比例。

Ps:由于PIL只支持2.X,所以.....

大家看看,改进一下

-------------------------CODE-----------------------------

# -*- coding: cp936 -*-   
  
import Image,ImageEnhance   
import glob, os   
  
# tianchong:函数中:w9, h9 指宽高比例;w, h 指实际宽高; w0, h0 指按照比例应该的宽高;pw, ph 指开始绘图的坐标;
def T_adjimg(im, wh, bg = (0xff,0xff,0xff,0xff),mode = "RGBA"):
        if(im is None):
                return None

        w9,h9=wh
        w,h= im.size

        if( w9*h > h9*w ):
                w0=w9*h/h9
                h0=h
                pw=(w0-w)/2
                ph=0
        else:
                h0=h9*w/w9
                w0=w
                ph=(h0-h)/2
                pw=0

        nb_im = Image.new(mode,(w0,h0),bg)
        nb_im.paste(im,(pw,ph))
        return nb_im


# 图片缩放:

def T_sfim(im,wh = (240,320)):
        if(im is None):
                return None

        w2,h2 = w,h = im.size  
        w0,h0 = wh
        # if(h!>h0 )
        if(h>h0):
                h2 = h0
                w2 = w*h0/h
               
        return im.resize((w2, h2),Image.ANTIALIAS)

# 图片处理: 由于图片多为高比例过大,所以以高为标准,按比例调整宽。   
def timage():   
    for files in glob.glob('F:\\KSZP-1\\*.JPG'):   
        filepath,filename = os.path.split(files)   
        filterame,exts = os.path.splitext(filename)   
        #输出路径   
        opfile = r'F:\\TT\\'   
        #判断opfile是否存在,不存在则创建   
        if (os.path.isdir(opfile)==False):   
            os.mkdir(opfile)   
        im = Image.open(files)
        w,h = im.size
        if(h>320):
                im=T_sfim(im,(240,320))
        im_nb = T_adjimg(im,(3,4))
        if(not(im_nb  is None)):
                im_nb.save(opfile+filterame+'.jpg')
        else:
                print "Error Open File:"+filename



      
  
if __name__=='__main__':   
        timage()   
  
        print '哈哈,OK啦!'   

论坛徽章:
4
金牛座
日期:2013-10-11 16:12:50卯兔
日期:2014-07-31 09:17:19辰龙
日期:2014-08-08 09:28:02狮子座
日期:2014-09-14 20:32:05
2 [报告]
发表于 2012-08-22 08:56 |只看该作者
http://liquibits.bitbucket.org/
楼主,这里有一个新的图像处理模块,支持py3.x。
但是我却装不上。
最近正需要图像处理模块,楼主能不能帮忙看看是怎么回事。

论坛徽章:
2
季节之章:冬
日期:2015-01-20 17:08:47IT运维版块每日发帖之星
日期:2016-02-24 06:20:00
3 [报告]
发表于 2012-08-22 13:53 |只看该作者
回复 2# ssfjhh


    如何装不上?具体情况呢?!

论坛徽章:
4
金牛座
日期:2013-10-11 16:12:50卯兔
日期:2014-07-31 09:17:19辰龙
日期:2014-08-08 09:28:02狮子座
日期:2014-09-14 20:32:05
4 [报告]
发表于 2012-08-23 09:21 |只看该作者
回复 3# 大邪神

提示未找到setuptools模块
但是我去装setuptools模块的时候,发现setuptools好像只能安装在py2.x下,因为我看了下那个安装脚本,是用py2.x写的,没有找到用py3.x写的setuptools
setuptools的下载页面在这儿
http://pypi.python.org/pypi/setuptools#files
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP