python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python绘制并保存指定大小图像

Python绘制并保存指定大小图像的方法

作者:星夜孤帆

今天小编就为大家分享一篇Python绘制并保存指定大小图像的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

绘制直线,三角形,正方形

import matplotlib.pyplot as plt
def plotLine():
 x = [1,2,3,4,5]
 y = [3,3,3,3,3]
 plt.figure(figsize=(100,100),dpi=1)
 plt.plot(x,y,linewidth=150)
 plt.axis('off')
 plt.savefig('C:\\Users\\Administrator\\Desktop\\分形图\\a.jpg',dpi=1)
 plt.show()
 plt.close()
def plotTriangle():
 x = [1,3,1,1]
 y = [1,1,3,1]
 plt.figure(figsize=(100,100),dpi=1)
 plt.plot(x,y,linewidth=150)
 plt.axis('off')
 plt.savefig('C:\\Users\\Administrator\\Desktop\\分形图\\b.jpg',dpi=1)
 plt.show()
 plt.close()
def plotSquare():
 x = [1,3,3,1,1]
 y = [1,1,3,3,1]
 plt.figure(figsize=(100,100),dpi=1)
 plt.plot(x,y,linewidth=150)
 plt.axis('off')
 plt.savefig('C:\\Users\\Administrator\\Desktop\\分形图\\c.jpg',dpi=1)
 plt.show()
 plt.close()
plotLine()
plotTriangle()
plotSquare()
from datetime import datetime 
import os 
import matplotlib.pyplot as plt 
import numpy as np 
import tensorflow as tf 
from six.moves import xrange 
data = np.load('data/final37.npy') 
data_images = data
data_images = data_images.reshape(-1,3,61)
# data_images = data_images[500:1000,:,:]
for i in range(2000):
 plt.figure(figsize=(100,100),dpi=1)
 plt.plot(data_images[i][0][0:30],data_images[i][0][30:60],color='blue',linewidth=150)
 plt.plot(data_images[i][1][0:30],data_images[i][1][30:60],color='red',linewidth=150)
 plt.plot(data_images[i][2][0:30],data_images[i][2][30:60],color='green',linewidth=150)
 plt.axis('off')
 plt.savefig('C:\\Users\\Administrator\\Desktop\\调整分辨率\\原始图\\resouce%d.jpg' %(i),dpi=1)
 plt.close()
#################################################################################
# 生成随机分叉图
# import random
# import numpy as np
# import operator
# import os
# import copy
# from matplotlib.font_manager import FontProperties
# from scipy.interpolate import lagrange
# import random
# import matplotlib.pyplot as plt
# np.set_printoptions(threshold=np.inf) #输出全部矩阵不带省略号
# # random.seed(10)
# finaldata = []
# for iy in range(100):
#  #固定一个点,尽量使点固定在0-1正方形的中间 #小数点后16位
#  pointx = random.uniform(0.3,0.7)
#  pointy = random.uniform(0.3,0.7)
# #################################################
#  #主分支在上方
#  a1x = random.uniform(pointx,0.8)#使第二个点尽量不那么大
#  a2x = random.uniform(a1x,1)
#  a3x = random.uniform(a2x,1)
#  a1y = random.uniform(pointy,0.8)
#  a2y = random.uniform(a1y,1)
#  a3y = random.uniform(a2y,1)
#  ax = [pointx,a1x,a2x,a3x]
#  ay = [pointy,a1y,a2y,a3y]
# #  print(ax)
# #  print(ay)
#  #对主分支a段进行插值
#  #在ax相同索引直接分别插两个点,最后a段长度由4变成10,既得final_ax
# #  print(ay)
#  final_ax = []
#  final_ay = []
#  for i in range(len(ax)-1):
#   #round(data,8)小数点保留8位四舍五入
#   f = lagrange([round(ax[i],8),round(ax[i+1],8)],[round(ay[i],8),round(ay[i+1],8)])
#   insertax = np.linspace(ax[i],ax[i+1],4)#插入2个点,小数点后8位
#   insertay = f(insertax)
#   for axi in insertax:
#    final_ax.append(axi)
#   for ayi in insertay:
#    final_ay.append(ayi)
#  del final_ax[4]
#  del final_ax[7]
#  del final_ay[4]
#  del final_ay[7]
#  #################################################
# #  #左下分支
#  b1x = random.uniform(0.2,pointx)#使第二个点尽量不那么小
#  b2x = random.uniform(0,b1x)
#  b3x = random.uniform(0,b2x)
#  b1y = random.uniform(0.2,pointy)
#  b2y = random.uniform(0,b1y)
#  b3y = random.uniform(0,b2y)
#  bx = [b3x,b2x,b1x,pointx]
#  by = [b3y,b2y,b1y,pointy]
#  #对左下分支b段进行插值
#  final_bx = []
#  final_by = []
#  for i in range(len(bx)-1):
#   f = lagrange([round(bx[i],8),round(bx[i+1],8)],[round(by[i],8),round(by[i+1],8)])
#   insertbx = np.linspace(bx[i],bx[i+1],4)
#   insertby = f(insertbx)
#   for bxi in insertbx:
#    final_bx.append(bxi)
#   for byi in insertby:
#    final_by.append(byi)
#  del final_bx[4]
#  del final_bx[7]
#  del final_by[4]
#  del final_by[7]
#   
#  ##################################################
#  #右下分支
#  c1x = random.uniform(pointx,0.8)#使第二个点尽量不那么大
#  c2x = random.uniform(c1x,1)
#  c3x = random.uniform(c2x,1)
#  c1y = random.uniform(0.2,pointy)
#  c2y = random.uniform(0,c1y)
#  c3y = random.uniform(0,c2y)
#  cx = [pointx,c1x,c2x,c3x]
#  cy = [pointy,c1y,c2y,c3y]
#  #对右下分支段进行插值
#  final_cx = []
#  final_cy = []
#  for i in range(len(cx)-1):
#   f = lagrange([round(cx[i],8),round(cx[i+1],8)],[round(cy[i],8),round(cy[i+1],8)])
#   insertcx = np.linspace(cx[i],cx[i+1],4)
#   insertcy = f(insertcx)
#   for cxi in insertcx:
#    final_cx.append(cxi)
#   for cyi in insertcy:
#    final_cy.append(cyi)
#  del final_cx[4]
#  del final_cx[7]
#  del final_cy[4]
#  del final_cy[7]
# ####################################################
#  x = [final_ax,final_bx,final_cx]#三分叉,上为a,左下b,右下c
#  y = [final_ay,final_by,final_cy]
#  diameter_a = round(random.uniform(0.2,0.25),8)
#  diameter_b = round(random.uniform(0.1,0.2),8)
#  diameter_c = round(random.uniform(0.1,0.2),8)
#  final_a = []#长度为21前10个x坐标点,后面10个是y坐标点,最后一个是管径
#  for ax in final_ax:
#   final_a.append(ax)
#  for ay in final_ay:
#   final_a.append(ay)
#  final_a.append(diameter_a)
#  final_b = []
#  for bx in final_bx:
#   final_b.append(bx)
#  for by in final_by:
#   final_b.append(by)
#  final_b.append(diameter_b)
#  final_c = []
#  for cx in final_cx:
#   final_c.append(cx)
#  for cy in final_cy:
#   final_c.append(cy)
#  final_c.append(diameter_c)
#  finalabc = [final_a,final_b,final_c]
#  finaldata.append(finalabc)
# finaldata = np.array(finaldata)
# #复制改变a,不改变b
# finaldata1 = finaldata.copy()
# finaldata2 = finaldata.copy()
# finaldata3 = finaldata.copy()
# #以定点为中心,进行镜像处理
# finaldata1[:,:,0:10] = 2 * pointx -finaldata[:,:,0:10]
# finaldata2[:,:,10:20] = 2 * pointx -finaldata[:,:,10:20]
# finaldata3[:,:,0:20] = 2 * pointx -finaldata[:,:,0:20]
# final = np.concatenate((finaldata,finaldata1,finaldata2,finaldata3),axis=0)
# np.random.shuffle(final)#随机打乱数据,若没有次句,将连续输出一个方向
# print(final.shape)
# # np.save('C:\\Users\\Administrator\\Desktop\\第9周\\80000.npy',final)
# ###########################################
# # 单个可视化图像
# for i in range(len(final)):
#  abc = final[i]
#  plt.plot(abc[0][0:10],abc[0][10:20],color='blue',linewidth=1.5)
#  plt.plot(abc[1][0:10],abc[1][10:20],color='red',linewidth=1.5)
#  plt.plot(abc[2][0:10],abc[2][10:20],color='green',linewidth=1.5)
#  plt.axis('off')
#  plt.savefig('C:\\Users\\Administrator\\Desktop\\ttt\\原图2\\random%d.jpg' %i,dpi=100)
#  plt.close()
###########################################
# 分块可视化图像
# data = np.load('C:\\Users\\Administrator\\Desktop\\第8周\\10000.npy')
# print(data.shape)
# rows,cols = 5,5
# fig,axs = plt.subplots(rows,cols)
# cnt = 0
# for i in range(rows):
#  for j in range(cols):
#   xy = final[cnt]#第n个分叉图,有三个分支,每个分支21个数
#   for k in range(len(xy)):
#    x = xy[k][0:10]
#    y = xy[k][10:20]
#    if k == 0 :
#     axs[i,j].plot(x,y,color='blue',linewidth=xy[k][20]*15)
#    if k == 1:
#     axs[i,j].plot(x,y,color='red',linewidth=xy[k][20]*15)
#    if k == 2:
#     axs[i,j].plot(x,y,color='green',linewidth=xy[k][20]*15)
#    axs[i,j].axis('off')
#   cnt +=1
# # plt.savefig('C:\\Users\\Administrator\\Desktop\\第9周\\')
# plt.show()

以上这篇Python绘制并保存指定大小图像的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文