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中MySQLdb的事务处理功能
Sep 21 Python
使用Python写一个贪吃蛇游戏实例代码
Aug 21 Python
django实现同一个ip十分钟内只能注册一次的实例
Nov 03 Python
python实现百万答题自动百度搜索答案
Jan 16 Python
Python中生成器和迭代器的区别详解
Feb 10 Python
Pythony运维入门之Socket网络编程详解
Apr 15 Python
Python3 requests文件下载 期间显示文件信息和下载进度代码实例
Aug 16 Python
Python实现名片管理系统
Feb 14 Python
python 已知三条边求三角形的角度案例
Apr 12 Python
python用700行代码实现http客户端
Jan 14 Python
python 实现的车牌识别项目
Jan 25 Python
Python+Appium新手教程
Apr 17 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
php2html php生成静态页函数
2008/12/08 PHP
php中理解print EOT分界符和echo EOT的用法区别小结
2010/02/21 PHP
ThinkPHP表单自动验证实例
2014/10/13 PHP
php单链表实现代码分享
2016/07/04 PHP
PHP中Notice错误常见解决方法
2017/04/28 PHP
JQuery中的$.getJSON 使用说明
2011/03/10 Javascript
Three.js源码阅读笔记(Object3D类)
2012/12/27 Javascript
js onclick事件传参讲解
2013/11/06 Javascript
JS使用for循环遍历Table的所有单元格内容
2014/08/21 Javascript
实现无刷新联动例子汇总
2015/05/20 Javascript
JS实现弹出居中的模式窗口示例
2016/06/20 Javascript
BootStrap树状图显示功能
2016/11/24 Javascript
jQuery操作之效果详解
2017/05/19 jQuery
微信小程序三级联动地址选择器的实例代码
2017/07/12 Javascript
javascript cookie的基本操作(添加和删除)
2017/07/24 Javascript
Vuejs 单文件组件实例详解
2018/02/09 Javascript
对vuex中store和$store的区别说明
2020/07/24 Javascript
Vue封装全局过滤器Filters的步骤
2020/09/16 Javascript
Vue + ts实现轮播插件的示例
2020/11/10 Javascript
[28:07]完美世界DOTA2联赛PWL S3 Phoenix vs INK ICE 第二场 12.13
2020/12/17 DOTA
PyQT5 QTableView显示绑定数据的实例详解
2019/06/25 Python
Python3.7安装keras和TensorFlow的教程图解
2020/06/18 Python
python实现门限回归方式
2020/02/29 Python
keras中的卷积层&amp;池化层的用法
2020/05/22 Python
Python:__eq__和__str__函数的使用示例
2020/09/26 Python
四年的个人工作自我评价
2013/12/10 职场文书
精彩的广告词
2014/03/19 职场文书
小学生国旗下演讲稿
2014/04/25 职场文书
乡镇安全生产目标责任书
2014/07/23 职场文书
2014年安全生产目标责任书
2014/07/23 职场文书
2015年外联部工作总结
2015/04/03 职场文书
学校食堂食品安全承诺书
2015/04/29 职场文书
2015年母亲节活动策划方案
2015/05/04 职场文书
学困生转化工作总结
2015/08/13 职场文书
关于考试抄袭的检讨书
2019/11/02 职场文书
python开发的自动化运维工具ansible详解
2021/08/07 Python