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实现xml与数据库读取转换的方法
Jun 17 Python
Python实现MySQL操作的方法小结【安装,连接,增删改查等】
Jul 12 Python
Linux-ubuntu16.04 Python3.5配置OpenCV3.2的方法
Apr 02 Python
使用pycharm生成代码模板的实例
May 23 Python
对python中Matplotlib的坐标轴的坐标区间的设定实例讲解
May 25 Python
python抓取网页内容并进行语音播报的方法
Dec 24 Python
Django 重写用户模型的实现
Jul 29 Python
python中利用matplotlib读取灰度图的例子
Dec 07 Python
Pycharm及python安装详细步骤及PyCharm配置整理(推荐)
Jul 31 Python
Python Switch Case三种实现方法代码实例
Jun 18 Python
Python爬虫爬取新闻资讯案例详解
Jul 14 Python
python制作抽奖程序代码详解
Jan 15 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文件时顶部出现空白影响布局分析原因及解决办法
2013/01/11 PHP
PHP简单获取多个checkbox值的方法
2016/06/13 PHP
关于Laravel参数验证的一些疑与惑
2019/11/19 PHP
出现“不能执行已释放的Script代码”错误的原因及解决办法
2007/08/29 Javascript
JavaScript CSS 修改学习第四章 透明度设置
2010/02/19 Javascript
jQuery EasyUI API 中文文档 - Calendar日历使用
2011/10/19 Javascript
基于JavaScript代码实现pc与手机之间的跳转
2015/12/23 Javascript
实例详解Nodejs 保存 payload 发送过来的文件
2016/01/14 NodeJs
AngularJS使用指令增强标准表单元素功能
2016/07/01 Javascript
jQuery中fadein与fadeout方法用法示例
2016/09/16 Javascript
js记录点击某个按钮的次数-刷新次数为初始状态的实例
2017/02/15 Javascript
jsonp跨域请求详解
2017/07/13 Javascript
微信小程序自定义键盘 内部虚拟支付
2018/12/20 Javascript
JavaScript多种页面刷新方法小结
2019/04/04 Javascript
浏览器事件循环与vue nextTicket的实现
2019/04/16 Javascript
Nautil 中使用双向数据绑定的实现
2019/10/02 Javascript
基于JS实现快速读取TXT文件
2020/08/25 Javascript
返回上一个url并刷新界面的js代码
2020/09/12 Javascript
[01:44]Ti10举办地公布
2019/08/25 DOTA
深入理解Python 关于supper 的 用法和原理
2018/02/28 Python
Python 字符串与二进制串的相互转换示例
2018/07/23 Python
matplotlib.pyplot绘图显示控制方法
2019/01/15 Python
python3实现斐波那契数列(4种方法)
2019/07/15 Python
Pandas中两个dataframe的交集和差集的示例代码
2020/12/13 Python
优衣库台湾官网:UNIQLO台湾
2019/02/01 全球购物
CAT鞋加拿大官网:CAT Footwear加拿大
2020/08/05 全球购物
应聘医学检验人员自荐信
2013/09/27 职场文书
电厂厂长岗位职责
2014/01/02 职场文书
渡河少年教学反思
2014/02/12 职场文书
工作年限证明模板
2014/11/01 职场文书
2014年妇幼保健工作总结
2014/12/08 职场文书
2016年清明节红领巾广播稿
2015/12/17 职场文书
python四个坐标点对图片区域最小外接矩形进行裁剪
2021/06/04 Python
Python语言规范之Pylint的详细用法
2021/06/24 Python
Html5同时支持多端sdk的小技巧
2021/11/17 HTML / CSS
python神经网络 tf.name_scope 和 tf.variable_scope 的区别
2022/05/04 Python