关于数据区间变换及numpy数组转图片数据的python实现
python实现区间转换、numpy图片数据转换
需求:
客户的需求是永无止境的,这不?前几天,用户提出了一个需求,需要将一组数据从一个区间缩放到另一区间?
思路:
先将数据归一化,再乘以对应区间的差加上对于区间下限。
数据归一化的公式:
- # 区间变换
- def unification_interval(data,interval_min,interval_max):
- # data :需要变换的数据或矩阵
- # interval_min :变换区间下限。
- # interval_max :变换区间上限。
- import numpy as np
- data = np.array(data)
- n,m = data.shape
- minval = np.min(np.min(data))
- maxval = np.max(np.max(data))
- for i in range(n):
- for j in range(m):
- data[i,j] = (data[i,j]-minval)/(maxval-minval)
- return data*(interval_max-interval_min)+interval_min
- # 整形的转换
def Inter(data):- import numpy as np
- data = np.array(data)
- n,m = data.shape
- for i in range(n):
- for j in range(m):
- data[i,j] = int(data[i,j])
- return data
- # coding:utf-8
- import pandas as pd
- import numpy as np
- import matplotlib.pyplot as plt
- from scipy.misc import imresize
- # 区间变换
- def unification_interval(data,interval_min,interval_max):
- # data :需要变换的数据或矩阵
- # interval_min :变换区间下限。
- # interval_max :变换区间上限。
- import numpy as np
- data = np.array(data)
- n,m = data.shape
- minval = np.min(np.min(data))
- maxval = np.max(np.max(data))
- for i in range(n):
- for j in range(m):
- data[i,j] = (data[i,j]-minval)/(maxval-minval)
- return data*(interval_max-interval_min)+interval_min
- def Inter(data):
- import numpy as np
- data = np.array(data)
- n,m = data.shape
- for i in range(n):
- for j in range(m):
- data[i,j] = int(data[i,j])
- return data
- # 图片读入
- img_data = pd.read_csv('./data/milliq.csv',header=0,index_col=0,sep=',')
- # print(np.max(np.max(img_data)))
- # print(np.min(np.min(img_data)))
- data = Inter(img_data)
- imgData = unification_interval(data,0,255)
- # print(np.max(np.max(imgData)),np.min(np.min(imgData)))
- data = imresize(data,[200,200])
- plt.imshow(data,cmap='gray')
- plt.show()
关于数据区间变换及numpy数组转图片数据的python实现的更多相关文章
- Python+OpenCV图像处理(三)—— Numpy数组操作图片
一.改变图片每个像素点每个通道的灰度值 (一) 代码如下: #遍历访问图片每个像素点,并修改相应的RGB import cv2 as cv def access_pixels(image): prin ...
- delphi中如何将string类型的字符串数据转化成byte[]字节数组类型的数据
var S:String; P:PChar; B:array of Byte;begin S:='Hello'; SetLength(B,Length(S)+1); P:=PChar(S) ...
- Python numpy 中常用的数据运算
Numpy 精通面向数组编程和思维方式是成为Python科学计算大牛的一大关键步骤.——<利用Python进行数据分析> Numpy(Numerical Python)是Python科学计 ...
- Numpy入门(二):Numpy数组索引切片和运算
在Numpy中建立了数组或者矩阵后,需要访问数组里的成员,改变元素,并对数组进行切分和计算. 索引和切片 Numpy数组的访问模式和python中的list相似,在多维的数组中使用, 进行区分: 在p ...
- matplotlib数组转图片的一些坑
最近用matplotlib遇到了一些坑,记录一下. 图片转数组 import matplotlib.pyplot as plt im_file='test_image.jpg' img=plt.imr ...
- numpy 中的reshape,flatten,ravel 数据平展,多维数组变成一维数组
numpy 中的reshape,flatten,ravel 数据平展,多维数组变成一维数组 import numpy as np 使用array对象 arr1=np.arange(12).reshap ...
- NumPy 基于已有数据创建数组
原文:Python Numpy 教程 章节 Numpy 介绍 Numpy 安装 NumPy ndarray NumPy 数据类型 NumPy 数组创建 NumPy 基于已有数据创建数组 NumPy 基 ...
- python : 将txt文件中的数据读为numpy数组或列表
很多时候,我们将数据存在txt或者csv格式的文件里,最后再用python读取出来,存到数组或者列表里,再做相应计算.本文首先介绍写入txt的方法,再根据不同的需求(存为数组还是list),介绍从tx ...
- NumPy-快速处理数据--ndarray对象--多维数组的存取、结构体数组存取、内存对齐、Numpy内存结构
本文摘自<用Python做科学计算>,版权归原作者所有. 上一篇讲到:NumPy-快速处理数据--ndarray对象--数组的创建和存取 接下来接着介绍多维数组的存取.结构体数组存取.内存 ...
随机推荐
- [转帖] Linux buffer 和 cache相关内容
Linux中Buffer/Cache清理 Lentil2018年9月6日 Linux中的buff/cache可以被手动释放,释放缓存的代码如下: https://lentil1016.cn/linux ...
- Qt之美(一):d指针/p指针详解(解释二进制兼容,以及没有D指针就会崩溃的例子。有了D指针,所使用的对象大小永远不会改变,它就是该指针的大小。这个指针就被称作D指针)good
Translated by mznewfacer 2011.11.16 首先,看了Xizhi Zhu 的这篇Qt之美(一):D指针/私有实现,对于很多批评不美的同路人,暂且不去评论,只是想支持 ...
- iframe & cors
iframe & cors <!DOCTYPE html> <html lang="zh-Hans"> <head> <meta ...
- static关键字的总结
C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static.前者应用于普通变量和函数,不涉及类:后者主要说明static在类中的作用. 1.面向过程设计中的st ...
- Qt——数据库编程
一.概述 Qt提供了一个类似JDBC的数据库接口,需要为每个可以连接的特定数据库提供驱动程序,可以通过 QStringList QSqlDatabase::drivers() 知道当前版本的Qt哪些驱 ...
- Hive权限管理
最近遇到一个hive权限的问题,先简单记录一下,目前自己的理解不一定对,后续根据自己的理解程度更新 一.hive用户的概念 hive本身没有创建用户的命令,hive的用户就是Linux用户,若当前是用 ...
- 【转载】dfs序七个经典问题
作者:weeping 出处:www.cnblogs.com/weeping/ 原文链接 https://www.cnblogs.com/weeping/p/6847112.html 参考自:<数 ...
- linux内核分析 第六周 分析Linux内核创建一个新进程的过程
进程的描述 操作系统的三大管理功能:进程管理.内存管理.文件系统 为了管理进程,内核必须对每个进程进行清晰的描述,进程描述符提供了内核所需了解的进程信息. 进程控制块PCB task_struct:进 ...
- echarts彩虹柱状图 每个bar显示不同颜色, 标题在不同位置 ,工具中有可以直接保存为图片下载,平均线的添加
可以参考: https://echarts.baidu.com/echarts2/doc/example.html https://echarts.baidu.com/echarts2/doc/doc ...
- ab输出信息解释以及Failed requests原因分析
ab是apache自带的压力测试工具.ab进行的一切测试本质上是基于HTTP的.下面是对ab输出项信息的解释和出现Failed requests原因分析.测试实例:1. ab输出信息说明: 1 2 ...