Python高级--scipy图片处理+积分

pytorch学习日记(二)——之cv2,matplotlib,PIL比较及与Tensor的转换 用python进行图像处理中分别用到过matplotlib.pyplot、PIL、cv2三种库,这三种库图像读取和保存方法各异,并且图像读取时顺序也有差异,如plt.imread和PIL.Image.open读入的都是RGB顺序,而cv2.imread读入的是BGR顺序。使用时需要倍加注意。 1. cv2,matplotlib,PIL比较 读取图像 1.cv2.imread opencv读进... 阅读详情

导包

import numpy as np
import matplotlib.pyplot as plt
import scipy.misc as misc         # 图片处理库 miscellaneous 乱七八糟

一、黑白图片和彩色图片的区别

RGB图片

一般彩色图片由 plt.imread() 加载出来后是一个三维数组,一般最外维度是图片像素的行,中间维度是图片像素的列,最内层维度是图片的像素点(RGB)

nd_color = np.array(
    [                                    
        [[255,1,0],[0,255,0],[0,0,255]] #最内层的RGB可以控制颜色
    ]
)
plt.imshow(nd_color)

这里写图片描述

黑白图片

黑白图片由 plt.imread() 加载出来后是一个二维数组,没有最内层的像素点(RGB),只有从色到灰色。

a = list(np.arange(0,255))
#这里a为 [1,2,3,....,253,254,255]
nd_gray = np.array(
    [
        a[::20]  
    ]
)
plt.imshow(nd_gray,cmap='gray')

这里写图片描述

导入图片
彩色图

cat = plt.imread('./cat.jpg')
cat.shape
(456, 730, 3)     #可以看出彩色图片是三维数组

黑白图

moon = plt.imread('./moonlanding.png')
moon.shape
(474, 630)       #可以看出黑白图片是二维数组

由此可见,彩色图片与黑白图片的差异是因为少一维度数据

图片的灰度处理

将彩色图片通过算法处理将最内层维度的[R,G,B]转换为一个值图片就成为了黑白图。

导入图片

cat = plt.imread('./cat.jpg')  #将彩色图片加载为多维数组
cat
array([[[231, 186, 131],    #此时是一个三维数组
        [232, 187, 132],
        ...,
        [188,  95,  62],
        [188,  95,  62]]], dtype=uint8)
plt.imshow(cat)          #将小猫的多维数组渲染展示

这里写图片描述

1.取[R,G,B]的最大值

取小猫原始数据的最内层维度的最大值

cat.max(axis=-1)
array([[231, 232, 233, ..., 100,  92,  85],    #转换后的数组是一个二维数组
       [232, 232, 233, ..., 100,  92,  84],    
       ...,      
       [199, 199, 199, ..., 188, 186, 188],
       [199, 199, 199, ..., 188, 188, 188]], dtype=uint8)

plt.imshow(cat.max(axis=-1),cmap='gray')   #将转换后的数组渲染出来

cmap

cmap #colormap 颜色映射 matplotlib会自动将黑白图片作渲染,cmap=“gray”可以将默认的彩色渲染屏蔽掉,还原真实的黑白图片
cmap 还可以设置其他值,可以按Shift+Tab在map的参数里查看

这里写图片描述

2.取[R,G,B]的平均值

cat.mean(axis=-1)
array([[182.66666667, 183.66666667, 184.66666667, ...,  69.33333333,
         62.33333333,  57.33333333],
         ..., 
        114.66666667, 115.        ],
       [133.33333333, 133.33333333, 133.33333333, ..., 116.66666667,
        115.        , 115.        ]])

plt.imshow(cat.mean(axis=-1),cmap='gray')  #将转换后的数组渲染出来

这里写图片描述

3.取[R,G,B]的加权平均值(32:16:1)

根据人眼对光谱的敏锐程度来设置权重 [r:g:b] [0.64:0.35:0.01]

weight = np.array([0.64,0.35,0.01])
cat2 = np.dot(cat,weight)   #对两个数组进行乘积就可以进行计算
plt.imshow(cat2,cmap="gray")  #将转换好的数组渲染出来

这里写图片描述

二、通过傅里叶变换实现图片降噪

1、傅里叶变换

傅里叶变换简单解释:把描述值的值 变成描述变化的值

导包

from scipy.fftpack import fft2,ifft2
'''
fft:first transform 快速傅里叶变换
fft2:把描述值的值  变成描述变化的值
ifft2:反傅里叶变化,将转换后的傅里叶变换指比较大的处理之后再变为描述值的值
'''

数据:很久以前的月球表面照片
图片上的噪点是因为噪点的值与周围值变化太大展现出来的

moon = plt.imread('./moonlanding.png')
plt.imshow(moon,cmap='gray')  

这里写图片描述
傅里叶变换

# 傅里叶变换  把描述值的值 变成描述变化的值
fft2(moon)      #j 复数我们只关注实数部分就行     # 值越大,说明变化越大
array([[126598.45      +0.j       ,  -4608.5796 -1892.4688j   ,
          -322.093    -20.27744j  , ...,   -906.1585 +1539.3081j   ,
          -322.093    +20.27744j  ,  -4608.5796 +1892.4688j   ],
       [ -9421.1    -5242.1133j   ,   1965.366  +2188.0593j   ,
           354.6247 +1003.8348j   , ...,   1190.5856 -1431.9937j   ,
          1607.9927 -1269.4243j   ,   5224.016  +3171.7434j   ]],
      dtype=complex64)

傅里叶变化处理噪声:
这里将变化(绝对值)大于2000的取出来让其归零
这里的2000的值可以依此来试进而得到最好的效果

fft_moon = fft2(moon)                  # 把描述值的值变成 描述变化的值
fft_moon[np.abs(fft_moon) > 2000] = 0  # 把变化大的 找出来 然后让变化归零
fft_moon

array([[    0.        +0.j       ,     0.        +0.j       ,
         -322.093    -20.27744j  , ...,  -906.1585 +1539.3081j   ,
         -322.093    +20.27744j  ,     0.        +0.j       ],
       [    0.        +0.j       ,     0.        +0.j       ,
            0.        +0.j       , ...,  -677.34503 -936.16174j  ,
          354.6247 -1003.8348j   ,     0.        +0.j       ],
          ,,,
       [    0.        +0.j       ,     0.        +0.j       ,
          354.6247 +1003.8348j   , ...,  1190.5856 -1431.9937j   ,
            0.        +0.j       ,     0.        +0.j       ]],
      dtype=complex64)

我们要将拿到的图片数据渲染出来

1)np.real(val)

功能:将数据中的复数过滤掉,只返回实数

2)plt.figure(num=None, figsize=None,)

功能:改变图片大小

figsize:(12,9)
    设置渲染出来图片的尺寸

3)plt.imsave(*args, **kwargs)

功能:保存渲染出来的图片

默认保存到当前目录
ifft_moon = np.real(ifft2(fft_moon))    # 处理之后 把描述变化的值 再恢复成描述值的值   #np.real取实数部分
plt.figure(figsize=(12,9))          #改变图片大小
plt.imshow(ifft_moon,cmap='gray')        #渲染图片
plt.imsave('after.png',ifft_moon,cmap='gray')    #保存图片 

这里写图片描述

三、添加噪声

导入scipy.misc的自带图片

import matplotlib.pyplot as plt
import scipy.misc as misc          #导包,重命名
face = misc.face(gray=True)        #使用scipy自带的图片 gray=True使图片为灰度图
plt.imshow(face,cmap='gray')       渲染出来

这里写图片描述

添加噪声

原理:噪点的产生是因为原图片区域的数值变化过大产生的不规则的点,所以只要将原图片的数据进行不规则修改就可以产生噪点

face.shape   #查看图片的形状
(768, 1024)
noise = np.random.randint(0,100,size=face.shape)
array([[54, 67,  5, ..., 53,  0, 21],
       [95, 79,  5, ..., 34, 88, 94],
       [92, 90, 18, ..., 64, 53,  0],
       ...,
       [83, 81, 86, ..., 99,  6, 24],
       [68, 83, 73, ..., 46, 13, 38],
       [61, 64, 38, ..., 73, 35,  1]])

查看噪音
这里写图片描述

将噪声添加到图片

noise_face = face + noise    #将随机生成的数据与原图片的数据相加就可以将噪点附加到原图片上。
plt.imshow(noise_face,cmap='gray')

这里写图片描述

四、scipy.ndimage(图像处理)处理噪声

原理:在图片数据中取一个范围,计算这个范围中的某些值(不同的滤波选取值的方式不同),平均值再和原来的值进行算法叠加,时原来的值向平均值趋近,使变化平缓,减小噪声
导入图像处理包:

import scipy.ndimage as ndimage   #中值滤波,高斯滤波的包
from scipy.signal import wiener   #维也纳滤波的包

这里我们使用我们刚添加过噪声的浣熊图片做处理 noise_face

median中值滤波降噪

ndimage.median_filter(input,size=None)

'''
input:传入要处理的图片
size:设定了选取范围的大小(在实际处理的过程中对这个值要进行测试,来达到最好的效果)
'''
mf_data = ndimage.median_filter(noise_face,size=5)

这里写图片描述

gaussian高斯滤波降噪

ndimage.gaussian_filter(input, sigma)

gf_data = ndimage.gaussian_filter(noise_face,sigma=2)
plt.imshow(gf_data,cmap='gray')

这里写图片描述

signal维也纳滤波降噪

原理:在图片数据中取一个范围,计算这个范围中的平均值(不同的滤波选取值的方式不同),平均值再和原来的值进行方差计算,让方差尽量小,使变化平缓,减小噪声

from scipy.signal import wiener
w_data = wiener(noise_face,mysize=5)
plt.imshow(w_data,cmap='gray')

这里写图片描述

图片处理效果总结

均值滤波 < 高斯滤波
高斯滤波(近景好) 维也纳滤波(远景好)

五、scipy.ndimage图片形状处理

处理数据:我们还是使用这个库自带的浣熊图片

import scipy.ndimage as ndimage
import scipy.misc
face = scipy.misc.face(gray=True)
face
plt.imshow(face,cmap='gray')

这里写图片描述

1.shift移动坐标

ndimage.shift(input,shift,output=None,order=3,mode=’constant’,cval=0.0,prefilter=True)
功能:将图片从原来的位置向制定的方向移动

'''
input:要处理的图片
shift:沿着坐标轴的位移
    shift=100 先右,先下移动100像素
    shift=[-100,200] 向上移动100,先右移动200
    先上下,后左右
    正数为 右下,负数为左上
mode:移动后填充的内容
    {'reflect', 'constant', 'nearest', 'mirror', 'wrap'}
    reflect:镜像填充
    constant:由cval指定的值填充
    nearest:有原图边缘的值填充
    mirror:与reflect相同,镜像
    wrap:输入通过绕到相反的边来扩展(折叠)
'''

这里写图片描述

2.rotate旋转图片

ndimage.rotate(input,angle,axes=1,0),reshape=True,output=None,order=3,mode=’constant’,cval=0.0,prefilter=True)

'''
input:要旋转的矩阵
angle:旋转的角度
'''

这里写图片描述

3.zoom缩放图片

ndimage.zoom(input,zoom,output=None,order=3,mode=’constant’,cval=0.0,prefilter=True)

'''
input:要缩放的矩阵
zoom:放大的倍数
    zoom=2 矩阵放大一倍
    zoom=[0.5,1]  上下缩小一倍,左右不变
    zoom=[500/768,500/1024] 按比例缩放,缩放完之后的像素为500,500
mode:控制如何输入
'''

这里写图片描述

4.切割图片(索引切片)

获取形状后对索引进行切片

'''
先行(先对样本切),后列(后对特征切)
'''
plt.imshow(face[:500,400:900],cmap='gray')

这里写图片描述

图片练习

实现结果为
实现原理:截取小浣熊图片,并修改图片比例再将 金 图头像的位置替换为小浣熊比例转换后的图片
这里写图片描述
图片参数:
小浣熊使用scipy库中的图片
这里写图片描述

这里写图片描述

操作过程:

1.将小浣熊的头切割为 500*500像素的
head = face[:500,400:900]
plt.imshow(head)

这里写图片描述

2.将切割后的图片按比例缩小
headz = ndimage.zoom(head,[0.2,0.2,1])
plt.imshow(headz)

这里写图片描述
可以看到多小后的浣熊头像的大小为 100*100像素

3.将切割后的图片替换掉 金图片上的头

因为浣熊图片的值为0-255 所以要将其转换为0-1的

jin[50:150,175:275]=headz/255
plt.imshow(jin)

这里写图片描述
这样就完成了头像的替换

利用积分求圆周率

积分原理:
这里写图片描述
将要求的面积沿X轴分为n个小份,求处n小份的面积,最后将n个小面积加起来就近似为整个图形的面积

1. 推导并画出原

导包

import numpy as np
import pandas as pd
from pandas import Series,DataFrame
import matplotlib.pyplot as plt    #pyplot 快速绘图工具
#直径为1的圆的公式的推导
# x**2 + y**2 = 1
# y**2 = 1 - x**2
# y = (1-x**2)**0.5
f = lambda x:(1-x**2)**0.5
x = np.linspace(-1,1,100)       #生成一组 -1到1 等差值数据
y = f(x)
plt.figure(figsize=(2,2))      #在终端显示的大小及比例
plt.plot(x,y)                #画出y和x的直线和/或标记。
plt.plot(x,-y)             #可以同时显示两个图像

这里写图片描述

2.使用scipy.integrate的quad()方法进行积分

导包

import scipy.integrate as integrate   #integrate 求积分

integrate.quad(func,a,b)

func: 对应关系(函数)
a,b:  a是x轴的起始值, b是x轴的终止值
返回两个参数(运算结果,误差)
res,error = integrate.quad(f,-1,1) 
print('圆周率是:',res*2,'误差是:',error*2)

圆周率是: 3.141592653589797 误差是: 2.000471344132393e-09
S32K344 Bootloader实战:一个按键实现从Boot到App的无缝跳转(附完整代码) 本文详细介绍了基于NXP S32K344微控制器的Bootloader开发实战,重点解析如何通过一个硬件按键实现从Boot到App的可靠跳转。内容涵盖内存分区规划、中断向量表重映射、外设初始状态管理等核心要素,并提供了完整的代码示例和调试技巧,适用于汽车电子和工业控制等高可靠性应用场景。 阅读详情

相关推荐

AXI_IIC调试实战:从失败到成功的读写操作经验分享

本文分享了调试Xilinx AXI_IIC IP核从失败到成功的实战经验。文章详细解析了IP核以FIFO和状态机为核心的工作机制,强调了状态寄存器查询与延时等待的关键作用,并提供了针对EEPROM的单字节读写操作完整代码与避坑指南,帮助开发者高效完成AXI_IIC读写操作。

weixin_29169505的博客 370

Python: matplotlib.pyplot.imread函数介绍

matplotlib.pyplot.imread(path)用于读取一张图片,将图像数据变成数组array. 参数: 要读取的图像文件路径。 返回值: 如果是灰度图:返回(M,N)形状的数组,M表示高度,N表示宽度。 如果是RGB图像,返回(M, N, 3) 形状的数组,M表示高度,N表示宽度。 如果是RGBA图像,返回(M, N, 4) 形状的数组,M表示高度,N表示宽度。 此外,PNG 图像以浮点数组 (0-1) 的形式返回,所有其他格式都作为 int 型数组返回,位深由具体图像决定。

道纪书生的博客 1万+

C#与西门子PLC通讯——新手快速入门

本文基于C# .Net Core和西门子博图TIA Portal V17搭建。由于手边没有西门子PLC实物,所以采用S7-PLCSIM Advanced V4.0作为模拟PLC,以实现0成本完成通讯测试实例。这篇入门笔记解决了新手第一次上手实践时遇到的坑,并且有意忽略了实际项目中会遇到的逻辑交互和更多的数据格式问题。

吾家有猫名探花的博客 2万+

Python对图像的读取及处理

一 读取: (1) skimage.io.imread的存储格式是RGB (2) cv2.imread的存储格式是BGR import cv2 as cv (3) matplotlib: 读取的是 RGB 图 import matplotlib.pyplot as plt #plt 用于显示图片 import matplotlib.image as mpimg #mpimg 用于读取图片 ...

Jessica__Chan的博客 1335

Obsidian与GPT协作:数学公式从KaTeX到MathJax的无缝转换实践

本文针对Obsidian用户从GPT等AI助手复制数学公式时遇到的KaTeX与MathJax格式不兼容问题,提供了高效的解决方案。重点介绍了KaTeX to MathJax插件的核心作用,它能自动将AI生成的KaTeX格式公式(如\(...\))无缝转换为Obsidian默认支持的MathJax格式($...$),实现复制粘贴后公式即时渲染,极大提升了数学笔记与AI协作的效率和流畅度。

weixin_29209825的博客 136

华为云Stack的学习(三)

LVS是四层负载均衡,建立在OSI模型的传输层之上,所以效率非常高。NAT模式的转发主要通过修改IP地址(位于OSI模型的第三层网络层)实现转发。DR模式的转发主要通过修改MAC地址(位于OSI模型的第二层数据链路层)实现转发。云服务框架中使用的DR模式。域名解析服务器分为管理侧(OM)和租户侧(Tenant)**DNS-OM:**作为云服务的本地DNS服务器,为云服务提供域名解析服务,并代理公网域名的解析。

Ciyaso的博客 8562

Matplotlib imread() 函数详解

imread()函数位于 Matplotlib 的模块中,其主要功能是从文件中读取图像,并返回一个表示该图像的 NumPy 数组。这个数组可以用于图像处理、分析和可视化。Matplotlib 的imread()函数是一个实用的工具,用于将图像文件转换为 NumPy 数组,以便进行各种图像处理和分析任务。通过本文的介绍,您应该已经了解了如何使用这个函数以及它在不同场景中的应用。

lsx202406的博客 1112

【ROS2】手眼标定:moveit2_handeye_calib使用详解

moveit2_handeye_calib MoveIt2 官方的 手眼标定功能包,包含标定插件、图形化界面和示例程序。提供基于 ArUco/ChArUco 标定板的采集与求解功能。标定板下载aruco在线生成器。

郭老二 246

python中imread用法_Python matplotlib.pyplot.imread()用法及代码示例

Matplotlib是Python中的一个库,它是数字的-NumPy库的数学扩展。 Pyplot是Matplotlib模块的基于状态的接口,该模块提供了MATLAB-like接口。matplotlib.pyplot.imread()功能:matplotlib库的pyplot模块中的imread()函数用于将文件中的图像读取到数组中。用法: matplotlib.pyplot.imread(fnam...

weixin_39815310的博客 7430

14、深入解析Sigma - Delta调制算法:从原理到应用

本博客深入解析了Sigma-Delta调制(SDM)算法的原理与应用,特别是在Super Audio CD(SA-CD)音频编码中的作用。文章探讨了传统SDM的局限性,并介绍了一系列改进型前瞻式SDM技术,如Trellis Sigma-Delta调制、高效网格Sigma-Delta调制和修剪树Sigma-Delta调制。这些技术通过降低计算复杂度和提升信号转换质量,在音频处理和无损数据压缩领域展现出巨大潜力。此外,博客还对不同SDM技术进行了性能比较,并分析了如何实现最大信噪比(SNR),为未来音频技术和数

tgb34567890的博客 421

【Mode】FDE 求解器工作流程

Lumerical---FDE(Finite Difference Eigenmode) Solver

u011699626的博客 4941

python scipy库基础学习(图片消噪, 求解圆周率, Scipy文件输入/输出, scipy矩阵)

文章目录1、登月图片消噪1.1、导入图片1.2、查看图片信息1.3、进行傅里叶变换1.4、计算平均值并过滤大的值1.5、反转变换1.6、显示该图片1.7、把图片变白2、数值积分,求解圆周率2.1、首先画一个圆2.2、求圆的面积3、Scipy文件输入/输出3.1、使用io.savemat保存数据3.2、使用io.loadmat()读取数据3.3、读写图片3.4、图片处理3.5、图片进行过滤4、sci...

阿优乐扬的博客 1070

4D毫米波雷达:高度信息与微多普勒效应

4D毫米波雷达:高度信息与微多普勒效应​ ,人工智能,计算机视觉,大模型,AI,本文深入解析4D毫米波雷达的高度信息获取与微多普勒效应。4D毫米波雷达通过MIMO技术、垂直天线布局及相位差计算等获取高度信息,相较传统雷达更精准。微多普勒效应由目标微运动引发,可用于目标识别、分类和运动监测。文中结合自动驾驶、安防监控案例,分析技术挑战与未来趋势,如信号干扰、数据处理复杂,未来将向高精度、与其他传感器融合发展,展现出在多领域的巨大应用潜力。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 9万+

《Python数据分析与挖掘实战》一2.3 Python数据分析工具

本节书摘来自华章出版社《Python数据分析与挖掘实战》一书中的第2章,第2.3节,作者 张良均 王路 谭立云 苏剑林,更多章节内容可以访问云栖社区“华章计算机”公众号查看 2.3 Python数据分析工具 Python本身的数据分析功能不强,需要安装一些第三方扩展库来增强它的能力。本书用到的库有Numpy、Scipy、Matplotlib、Panda...

weixin_33853794的博客 422

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

数据可视化总结

数据可视化工具整理(一)、Python数据挖掘相关扩展库 Numpy 提供数组支持,以及相应的高效的处理函数 Scipy 提供矩阵支持,以及矩阵相关的数值计算模块 Matplotlib 数据可视化工具,作图库 Pandas 强大、灵活的数据分析和探索工具 StatsModels 设计建模,统计模型估计,描述统计等 Scikit-Learn 支持回归、分类、聚类等的

你是谁笔下的少年,在风中辗转成歌 7582

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

数学建模竞赛实战:MATLAB从入门到精通的完整指南

数学建模是将实际问题抽象为数学模型,并通过计算求解以指导决策的关键技术。其核心原理在于利用数学语言描述系统行为,通过算法实现模型求解。在工程实践与科研中,数学建模的价值在于提供定量分析框架,广泛应用于优化设计、预测分析、资源分配等场景。对于初学者和竞赛参与者而言,选择高效、集成的工具至关重要。MATLAB作为专为矩阵运算和科学计算设计的平台,提供了从数据预处理、模型建立到结果可视化的完整工具箱,实现了“开箱即用”的便捷性。例如,其内置的优化工具箱和统计工具箱能直接求解线性规划问题或执行t检验,极大提升了建模

weixin_34405557的博客 360

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

维纳滤波原理极其Python实现

从信号与系统的角度出发,有一部分噪声是系统的固有噪声,另一部分,则是对信号的某种响应,换言之,这部分噪声可以理解为一个噪声系统。所以滤除后者,可以理解为去除噪声系统的影响,换言之,就是针对噪声系统做反卷积。考虑到求比证难,不妨把这个问题再简化一下,如果找到了一组值,那么如何确定这组值是对的?如果噪声系统可以测量,那么反卷积自然可以顺利执行,否则那就要对这个噪声系统进行估计,维纳滤波履行的就是这个思路。,然后找到这个误差量的某个统计值的极值,考虑到正负号的问题,这个统计量有可能是方差。为系统的噪声,如果为。

微小冷的学习笔记 5981

python读取、显示图片及灰度转换的方法

目录matplotlibPILopencv中文路径问题灰度转换 python常用的图片操作库有matplotlib、PIL以及opencv,我用jupyter notebook对这三种方法进行了尝试和比较。 matplotlib %matplotlib inline import numpy as np import matplotlib.image as mpimg import matplotlib.pyplot as plt img = mpimg.imread('videos/中文/image09

Alex的博客 5832

python的scipy库做积分和图像处理

积分 import scipy.interpolate as si def f(x): return 2*x**2 + 3*x +4 # f: 函数名 # -5: 积分下限 # 5: 积分上限 # area: 定积分的结果 area = si.quad(f, -5, 5)[0] 简单图像处理 scipy.ndimage提供了一些简单的图像处理.如:高斯模糊, 图像旋转, 边缘识别等功能.这里说一下后续做图像处理常用的库是opencv和pillow,至于scipy这里只是介绍一下,我平时也是不用的

weixin_45081640的博客 513

【图像处理】积分图像及其应用

本文主要参考: http://blog.csdn.net/u010839382/article/details/46383423 然后结合自己的理解,在手机上做对应的对比测试。积分图积分图,integral image,是在图像处理中常用于加速计算的一种方法。 在积分图中,某一点的数据S(x,y)S(x,y)表示图像左上角到该点坐标所围成的区域的总和。在积分图中,我们需要做两个操作: 1)构

Image 5990

卷积和积分运算

先看到卷积运算,知道了卷积就是把模版与图像对应点相乘再相加,把最后的结果代替模版中心点的值的一种运算。但是,近来又看到了积分图像的定义,立马晕菜,于是整理一番,追根溯源一下吧。 1 卷积图像 1.1 源头 首先找到了一篇讲解特别好的博文,原文为:卷积 贴过正文来看: ------------------------------------------------------------...

weixin_34419321的博客 1567

在pytorch的深度学习中,imgplt.imread()与cv2.imread()读取图片,并且如何使用class类和定义def函数

在pytorch1.11中进行图像的深度学习时,数据增强这块记录一下。主要通过“旋转”变换来学习class类的使用和def函数的写法。 import random import scipy.ndimage as ndi import cv2 import numpy as np import matplotlib.pyplot as plt import matplotlib.image as imgplt def transform_matrix_offset_center(matrix, x, y)

明德zhuang 6425

【Python】Scipy处理图片(ndimage shift rotate zoom)

例图 一、灰度图处理(二维) 可采用Scipy自带图片,亦可读入本地图片。misc.imread()方式读入失败,故这里采用cv2.imread()读入。 #图片处理 import numpy as np import scipy.misc as misc import scipy.ndimage as ndimage #黑白图 #face =misc.face(gray =True) #face = misc.imread('handsome.jpg') import cv2 face = cv2.i

○( ^皿^)っHiahiahia…的博客 2438

Python学习笔记第七十二天(Matplotlib imread)

Python学习笔记第七十二天讲解Matplotlib imread中的读取图像数据、修改图像、裁剪图像、图像颜色的用法。

qq_54129105的博客 638

处理opencv里用plt显示imread读取图像偏色问题

处理opencv里用plt显示imread读取图像偏色问题摘要代码看看结果:原因:解决方法:看看结果 摘要 使用opecv过程中经常需要使用plt输出图片作为前后对比,方便观察。 但是会出现plt显示时,颜色偏差严重的情况。 这是因为plt和imread二者颜色通道不同导致。 先看看图片 代码 首先通过imread读入源图并显示。 import cv2 as cv import numpy...

CSPhD-winston的博客 3344

python使用imread和imshow的读取和显示图片

该程序需要numpy,scipy和matplot.pyplpot三个模块。使用的imread,subplot,imshow和show函数。 import numpy as np from scipy.misc import imread, imresize import matplotlib.pyplot as plt img = imread("D:\\Profile\\Desktop\\cat.jpg") img_tinted = img * [1, 0.95, 0.9] # Show the

re_call的博客 4775
上一篇: python高级--美国人口分析(Numpy,Pandas)
下一篇: Python高级--数据分析(pandas + matplotlib 绘图)
PyRookie
博客等级 码龄8年 89粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值