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

本文实例为大家分享了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+tkinter编写电脑桌面放大镜程序实例代码
  • 教你使用python画一朵花送女朋友
  • Python使用matplotlib绘制动画的方法
  • 使用Python编写简单的画图板程序的示例教程
  • python使用reportlab画图示例(含中文汉字)
  • Python使用matplotlib实现在坐标系中画一个矩形的方法
  • Python实现在matplotlib中两个坐标轴之间画一条直线光标的方法
  • python计算圆周长、面积、球体体积并画出圆
  • 利用Python画ROC曲线和AUC值计算
  • 从零学python系列之教你如何根据图片生成字符画
(0)

相关推荐

  • python+tkinter编写电脑桌面放大镜程序实例代码

    本文讲述的是通过python+tkinter编写一个简单桌面放大镜的代码示例,具体如下. 代码思路:首先全屏截图,然后在鼠标当前位置以小窗口进行二次截图,放大后再显示到鼠标左上角. 主要技术:全屏截图,指定区域截图,绑定鼠标事件,绘制图像. 建议大家照着代码敲一遍,然后运行试试.代码有一点点小瑕疵,试着发现并尝试解决. 总结 以上就是本文关于Python+tkinter编写电脑桌面放大镜程序实例代码的全部内容,希望对大家有所帮助.感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指

  • Python使用matplotlib实现在坐标系中画一个矩形的方法

    本文实例讲述了Python使用matplotlib实现在坐标系中画一个矩形的方法.分享给大家供大家参考.具体实现方法如下: import matplotlib.pyplot as plt from matplotlib.patches import Rectangle class Annotate(object): def __init__(self): self.ax = plt.gca() self.rect = Rectangle((0,0), 1, 1) self.x0 = None s

  • python使用reportlab画图示例(含中文汉字)

    准备工作 开发环境:python2.6,reportlab 准备中文字体文件:simsun.ttc 代码: 复制代码 代码如下: #!/usr/bin/env python2.6#coding:utf-8 import traceback from reportlab.graphics.shapes import Drawingfrom reportlab.graphics.charts.lineplots import LinePlotfrom reportlab.graphics.chart

  • 教你使用python画一朵花送女朋友

    本文实例为大家分享了用python画一朵花的具体代码,供大家参考,具体内容如下 第一种,画法 from turtle import * import time setup(600,800,0,0) speed(0) penup() seth(90) fd(340) seth(0) pendown() speed(5) begin_fill() fillcolor('red') circle(50,30) for i in range(10): fd(1) left(10) circle(40,4

  • 利用Python画ROC曲线和AUC值计算

    前言 ROC(Receiver Operating Characteristic)曲线和AUC常被用来评价一个二值分类器(binary classifier)的优劣.这篇文章将先简单的介绍ROC和AUC,而后用实例演示如何python作出ROC曲线图以及计算AUC. AUC介绍 AUC(Area Under Curve)是机器学习二分类模型中非常常用的评估指标,相比于F1-Score对项目的不平衡有更大的容忍性,目前常见的机器学习库中(比如scikit-learn)一般也都是集成该指标的计算,但

  • 从零学python系列之教你如何根据图片生成字符画

    说下思路吧: 原图->灰度->根据像素亮度-映射到指定的字符序列中->输出.字符越多,字符变化稠密.效果会更好.如果根据灰度图的像素亮度范围制作字符画,效果会更好.如果再使用调色板,对字符进行改色,就更像原图了. 这是原图: 这是生成的字符画: 废话不多说,直接上代码: 复制代码 代码如下: import Imagechars =" ...',;:clodxkLO0DGEKNWMM"fn=r'c:\users\liabc\desktop\jianbing.png'f1

  • Python使用matplotlib绘制动画的方法

    本文实例讲述了Python使用matplotlib绘制动画的方法.分享给大家供大家参考.具体分析如下: matplotlib从1.1.0版本以后就开始支持绘制动画 下面是几个的示例: 第一个例子使用generator,每隔两秒,就运行函数data_gen: # -*- coding: utf-8 -*- import numpy as np import matplotlib.pyplot as plt import matplotlib.animation as animation fig =

  • Python实现在matplotlib中两个坐标轴之间画一条直线光标的方法

    本文实例讲述了Python实现在matplotlib中两个坐标轴之间画一条直线光标的方法.分享给大家供大家参考.具体如下: 看看下面的例子和效果吧 # -*- coding: utf-8 -*- from matplotlib.widgets import MultiCursor from pylab import figure, show, np t = np.arange(0.0, 2.0, 0.01) s1 = np.sin(2*np.pi*t) s2 = np.sin(4*np.pi*t

  • python计算圆周长、面积、球体体积并画出圆

    输入半径,计算圆的周长.面积.球体体积,并画出这个圆.拖动条.输入框和图像控件的数据保持一致! Fedora下测试通过 复制代码 代码如下: #https://github.com/RobberPhex/GTK-Example-CalcAreafrom gi.repository import Gtk, Gdk, GdkPixbuffrom PIL import Image, ImageDrawfrom io import BytesIOfrom math import pi class Mod

  • 使用Python编写简单的画图板程序的示例教程

    从这次开始,我会由简单到困难(其实也不会困难到哪里去)讲几个例程,每一个例程都是我自己写(或者修改,那样的话我会提供原始出处)的,都具有一定的操作性和娱乐性.例程中汇尽量覆盖到以前所讲的pygame中方方面面,如果看到哪一步不明白,那就再回去复习复习,基本没有人会看一遍什么都记住什么都掌握的,重复是学习之母,实践是掌握一门技艺的最好手段! 这次就先从一个最简单的程序开始,说实话有些太简单我都不好意思拿出手了,不过从简单的开始,容易建立自信培养兴趣.兴趣是学习之母嘛.我们这次做一个画板,类似Win

随机推荐