关于数据区间变换及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对象--数组的创建和存取 接下来接着介绍多维数组的存取.结构体数组存取.内存 ...
随机推荐
- .NET 切面编程 PostSharp
目录 概念 实现方式 .Net平台的切面实现 PostSharp示例 概念 Aspect-Oriented Programming(AOP):想想OOP是不是有些熟悉,AOP翻译过来的意思就是面向切面 ...
- [OS] 内核态和用户态的区别
http://blog.csdn.net/fatsandwich/article/details/2131707# http://jakielong.iteye.com/blog/771663 当一个 ...
- iOS 数组和字典排序
一.数组排序 数组排序方式1: //初始化可变数组 NSMutableArray *arr1=[NSMutableArray arrayWithObjects:@"giu",@&q ...
- Musical Theme POJ - 1743(后缀数组+二分)
求不可重叠最长重复子串 对于height[i]定义为sa[i]和 sa[i-1]的最长公共前缀 这个最长公共前缀的值肯定是最大的 证明: 设rank[j] < rank[k], 则不难证明后缀j ...
- 【刷题】洛谷 P3613 睡觉困难综合征
题目背景 刚立完Flag我就挂了WC和THUWC... 时间限制0.5s,空间限制128MB 因为Claris大佬帮助一周目由乃通过了Deus的题,所以一周目的由乃前往二周目世界找雪辉去了 由于二周目 ...
- 聊聊flink的NetworkEnvironmentConfiguration
本文主要研究一下flink的NetworkEnvironmentConfiguration NetworkEnvironmentConfiguration flink-1.7.2/flink-runt ...
- PHP是什么?
PHP是什么? PHP是一门后端动态解释型计算机高级语言,一般用来编写或者生成动态网页,主要负责数据的处理与渲染.(这里是指用PHP嵌入网页里面的形式,现在可以直接用一些JS的框架去渲染网页数据了,P ...
- 【BZOJ1046】上升序列(动态规划,贪心)
[BZOJ1046]上升序列(动态规划,贪心) 题面 BZOJ 洛谷 题解 我一开始看错题了,一度以为是字典序最小的序列. 最后发现它要求的字典序是位置的字典序最小. 那就很好办了. 设\(f[i]\ ...
- USACO Section 1.5 Prime Palindromes 解题报告
题目 题目描述 题目就是给定一个区间[a,b]((5 <= a < b <= 100,000,000)),我们需要找到这个区间内所有既是回文串又是素数的数字. 输入样例 5 500 ...
- 20135239 益西拉姆 linux内核分析 读书笔记之第四章
chapter 4 进程调度 4.1 多任务 多任务操作系统就是能同时并发的交互执行多个进程的操作系统. 多任务系统可以划分为两类: - 非抢占式多任务: - 进程会一直执行直到自己主动停止运行(这一 ...