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使用装饰器和线程限制函数执行时间的方法
Apr 18 Python
Python使用matplotlib绘图无法显示中文问题的解决方法
Mar 14 Python
Python实现获取系统临时目录及临时文件的方法示例
Jun 26 Python
python 计算平均平方误差(MSE)的实例
Jun 29 Python
python多线程共享变量的使用和效率方法
Jul 16 Python
django创建最简单HTML页面跳转方法
Aug 16 Python
pytorch torch.expand和torch.repeat的区别详解
Nov 05 Python
pytorch绘制并显示loss曲线和acc曲线,LeNet5识别图像准确率
Jan 02 Python
Python netmiko模块的使用
Feb 14 Python
python实现梯度下降算法的实例详解
Aug 17 Python
python UDF 实现对csv批量md5加密操作
Jan 01 Python
浅析python中特殊文件和特殊函数
Feb 24 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简单处理表单输入的特殊字符的方法
2016/02/03 PHP
浅析PHP7的多进程及实例源码
2019/04/14 PHP
php实现JWT(json web token)鉴权实例详解
2019/11/05 PHP
Javascript中call的两种用法实例
2013/12/13 Javascript
javascript中HTMLDOM操作详解
2014/12/11 Javascript
jQuery实现当前页面标签高亮显示的方法
2015/03/10 Javascript
jQuery插件jcrop+Fileapi完美实现图片上传+裁剪+预览的代码分享
2015/04/22 Javascript
JS获取时间的相关函数及时间戳与时间日期之间的转换
2016/02/04 Javascript
JS组件Bootstrap Select2使用方法解析
2016/05/30 Javascript
jQuery实现底部浮动窗口效果
2016/09/07 Javascript
JavaScript正则替换HTML标签功能示例
2017/03/02 Javascript
JS如何设置元素样式的方法示例
2017/08/28 Javascript
浅谈Vue-cli单文件组件引入less,sass,css样式的不同方法
2018/03/13 Javascript
如何给element添加一个抽屉组件的方法步骤
2019/07/14 Javascript
基于node+websocket+html实现腾讯课堂聊天室聊天功能
2020/03/04 Javascript
js实现贪吃蛇小游戏(加墙)
2020/07/31 Javascript
nuxt 路由、过渡特效、中间件的实现代码
2020/11/06 Javascript
Vue 数据响应式相关总结
2021/01/28 Vue.js
python3实现ftp服务功能(客户端)
2017/03/24 Python
django做form表单的数据验证过程详解
2019/07/26 Python
详解Python3 pickle模块用法
2019/09/16 Python
Python常用库大全及简要说明
2020/01/17 Python
Python argparse模块使用方法解析
2020/02/20 Python
利用Python脚本批量生成SQL语句
2020/03/04 Python
Auguste The Label官网:澳大利亚一家精品女装时尚品牌
2020/06/14 全球购物
财务会计专业毕业生自荐信
2013/10/19 职场文书
应届生求职信写作技巧
2013/10/24 职场文书
酒店端午节促销方案
2014/02/18 职场文书
爱耳日活动总结
2014/04/30 职场文书
超市开店计划书
2014/09/15 职场文书
实习指导教师评语
2014/12/30 职场文书
春风化雨观后感
2015/06/11 职场文书
2015年入党积极分子培养考察意见
2015/08/12 职场文书
小学教师教学反思
2016/02/24 职场文书
2019求职信:应届生求职信范文
2019/04/24 职场文书
MySQL系列之开篇 MySQL关系型数据库基础概念
2021/07/02 MySQL