python放大图片和画方格实现算法


Posted in Python onMarch 30, 2018

本文实例为大家分享了python放大图片和画方格的具体代码,供大家参考,具体内容如下

1、Python 放大图片和画方格算法

#!C:/Python27 
# -*- coding: utf-8 -*-  
import os  
import sys  
from PIL import Image,ImageDraw  
   
 
def make_doc_data(lf): 
   
  #li, ri = make_regalur_image(Image.open(lf)), make_regalur_image(Image.open(rf))#两张图片方法 
  li = Image.open(lf) 
   
  size = (256, 256) 
  #几何转变,全部转化为256*256像素大小 
  li =li.resize(size).convert('RGB') 
   
  li.save(lf + '_regalur.png')#转换图片格式:img.save('file.jpg'),保存临时的 
   
  #ri.save(rf + '_regalur.png')#img对象到硬盘 
   
  fd = open('stat.csv', 'w')#stat模块是做随机变量统计的,stat用来计算随机变量的期望值和方差 
   
  #这句是关键啊,把histogram的结果进行map处理  
  #fd.write('\n'.join(l + ',' + r for l, r in zip(map(str, li.histogram()), map(str, ri.histogram()))))   
  fd.write(','.join(map(str, li.histogram())))  
  fd.close() 
  
  li = li.convert('RGB') #与save对象,这是转换格式 
   
  draw = ImageDraw.Draw(li) 
   
  for i in xrange(0, 256, 64):  
    draw.line((0, i, 256, i), fill = '#ff0000')  
    draw.line((i, 0, i, 256), fill = '#ff0000') 
     
  #从始至终划线!通过把每一列刷成红色,来进行颜色的随机分布划分 
     
  #用法:pygame.draw.line(Surface, color, start_pos, end_pos, width=1) 
     
  li.save(lf + '_lines.png')  
  
   
make_doc_data('testpic/1370.bmp')

 2、放大缩小图片的几种方法

#!C:/Python27 
#coding=utf-8 
 
import pytesseract 
from pytesser import * 
from PIL import Image,ImageEnhance,ImageFilter 
import os 
import fnmatch 
import re,time 
 
import urllib, random 
 
#修改文件名 
#os.rename("E:/pythonScript/Model/font/2.bmp","E:/pythonScript/Model/font/dock2.bmp") 
 
 
def CutImg(): 
   
  img = Image.open('.//6907.jpg').convert('L') 
 
  print img.size 
 
  w, h = img.size 
 
      #rowheight = h // rownum 
      #colwidth = w // colnum 
      #imgry.show() 
  j = 10 
  for i in range(4): 
     
 
    x = 10 + i*24 #验证码的x,y坐标 
 
    y = 6  
 
    img.crop((x-4, y,x+6, y+14)).save("pic/%d.bmp" % j)  
 
    print "j=",j  
 
    j += 1 
  img.close() 
 
 
infile = ('.//testpic//001n.bmp')  
outfile = ('.//testpic//001n.png') 
 
   
def fixed_size(infile): 
   
  """按照固定尺寸处理图片"""  
  im = Image.open(infile) 
 
  size = (256, 256) 
   
  im2 =im.resize(size).convert('RGB') 
  out = im2.resize(size,Image.ANTIALIAS)  
  out.save(outfile) 
  print u"\n按固定尺寸放大图片,处理已完成" 
def resize_by_width(w_divide_h): 
   
  """按照宽度进行所需比例缩小"""  
  im = Image.open(infile) 
  print im.size 
   
  (x, y) = im.size   
  x_s = x 
  print x_s 
  y_s = x/w_divide_h #w_divide_h > x 
  print y_s 
  out = im.resize((x_s, y_s), Image.ANTIALIAS)   
  out.save(outfile)  
  
 
def resize_by_height(w_divide_h): 
   
  """按照高度进行所需比例缩放"""  
  im = Image.open(infile) 
  (x, y) = im.size 
  print im.size 
  x_s = y*w_divide_h  
  y_s = y  
  out = im.resize((x_s, y_s), Image.ANTIALIAS)   
  out.save(outfile,quality = 95,dpi=(72, 72)) 
def cut_by_ratio(width, height):  
    """按照图片长宽比进行分割"""  
    im = Image.open(infile)  
    width = float(width)  
    height = float(height)  
    (x, y) = im.size  
    if width > height:  
      region = (0, int((y-(y * (height / width)))/2), x, int((y+(y * (height / width)))/2))  
    elif width < height:  
      region = (int((x-(x * (width / height)))/2), 0, int((x+(x * (width / height)))/2), y)  
    else:  
      region = (0, 0, x, y)  
  
    #裁切图片  
    crop_img = im.crop(region)  
    #保存裁切后的图片  
    crop_img.save(outfile) 
def Lager(size): 
  im = Image.open(infile) 
  im_resized=im.resize(size, Image.ANTIALIAS) 
  im_resized.save(outfile,quality = 95,dpi=(72, 72)) 
def mohuimg(): 
  """ 
  模糊图片 
  """ 
  im = Image.open(infile) 
  im2 = im.filter(ImageFilter.BLUR) 
  im2.save(outfile) 
""" 
多种尺寸icon的存储 
""" 
image_size = [512,250,144,140,128,120,108,100,88,72,48,32,28] 
def create_icon(): 
   for size in image_size: 
     '''''pri_image = Image.open("icon.png") 
     pri_image.thumbnail((size,size)) 
     image_name = "icon_%d.png"%(size) 
     pri_image.save(image_name)''' 
     pri_image = Image.open(infile) 
     pri_image.resize((size,size),Image.ANTIALIAS ).save("testpic/icom_%d.png"%(size))   
    
fixed_size(infile) 
#resize_by_width(10) 
#resize_by_height(1) 
#cut_by_ratio(50,20) 
#Lager(256)   
#mohuimg() 
#create_icon() 
#CutImg()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中的集合类型知识讲解
Aug 19 Python
Python3中简单的文件操作及两个简单小实例分享
Jun 18 Python
Python实现购物系统(示例讲解)
Sep 13 Python
python中map()函数的使用方法示例
Sep 29 Python
python opencv实现任意角度的透视变换实例代码
Jan 12 Python
Python实现PS滤镜的万花筒效果示例
Jan 23 Python
python执行系统命令后获取返回值的几种方式集合
May 12 Python
CentOS7下python3.7.0安装教程
Jul 30 Python
对python中的six.moves模块的下载函数urlretrieve详解
Dec 19 Python
Python自定义一个类实现字典dict功能的方法
Jan 19 Python
利用Python实现自动扫雷小脚本
Dec 17 Python
python中doctest库实例用法
Dec 31 Python
python实现数独游戏 java简单实现数独游戏
Mar 30 #Python
简单实现python数独游戏
Mar 30 #Python
Python使用MD5加密算法对字符串进行加密操作示例
Mar 30 #Python
windows环境下tensorflow安装过程详解
Mar 30 #Python
Python切片工具pillow用法示例
Mar 30 #Python
Python实现OpenCV的安装与使用示例
Mar 30 #Python
Ubuntu下使用Python实现游戏制作中的切分图片功能
Mar 30 #Python
You might like
php 正则 过滤html 的超链接
2009/06/02 PHP
php数组函数序列之in_array() 查找数组值是否存在
2011/10/29 PHP
深入理解PHP中的global
2014/08/19 PHP
PHP实现视频文件上传完整实例
2014/08/28 PHP
php简单判断文本编码的方法
2015/07/30 PHP
PHP的消息通信机制测试实例
2016/11/10 PHP
PHP安全之register_globals的on和off的区别
2020/07/23 PHP
Jquery多选下拉列表插件jquery multiselect功能介绍及使用
2013/05/24 Javascript
javascript操作select元素实例分析
2015/03/27 Javascript
javascript实现表格增删改操作实例详解
2015/05/15 Javascript
jquery动画效果学习笔记(8种效果)
2015/11/13 Javascript
VUEJS实战之利用laypage插件实现分页(3)
2016/06/13 Javascript
jQuery可见性过滤选择器用法示例
2016/09/09 Javascript
Angularjs分页查询的实现
2017/02/24 Javascript
Vue2 使用 Echarts 创建图表实例代码
2017/05/18 Javascript
vue自定义全局共用函数详解
2018/09/18 Javascript
Vue 3.0 前瞻Vue Function API新特性体验
2019/08/12 Javascript
js实现拖动缓动效果
2020/01/13 Javascript
Vue页面渲染中key的应用实例教程
2021/01/12 Vue.js
python爬取网站数据保存使用的方法
2013/11/20 Python
python 获取网页编码方式实现代码
2017/03/11 Python
Python实现改变与矩形橡胶的线条的颜色代码示例
2018/01/05 Python
Python使用dict.fromkeys()快速生成一个字典示例
2019/04/24 Python
Django models.py应用实现过程详解
2019/07/29 Python
pandas 对group进行聚合的例子
2019/12/27 Python
对Matlab中共轭、转置和共轭装置的区别说明
2020/05/11 Python
使用K.function()调试keras操作
2020/06/17 Python
澳大利亚珠宝商:Shiels
2019/10/06 全球购物
中医专业职业生涯规划书范文
2014/01/04 职场文书
好书伴我成长演讲稿
2014/05/14 职场文书
实习介绍信模板
2015/01/30 职场文书
创先争优活动个人总结
2015/03/04 职场文书
体育委员竞选稿
2015/11/21 职场文书
2016年基层党组织创先争优承诺书
2016/03/25 职场文书
诚信高考倡议书
2019/06/24 职场文书
告诉你一个秘密:富人致富的五大优点
2019/07/11 职场文书