scipy之定积分计算和简单图像处理

一、定积分计算

'''
    积分:
        对于一个给定的正实值函数,在一个实数区间上的定积分可以理解为坐标平面上由曲线、直线、轴围城的曲边梯形的面积(一个确定的值)
    scipy中模块integrate提供的相关API为:
            area = scipy.integrate.quad(f,a,b)
                ---返回值:元组,第一个元素为定积分值,第二个为值的误差,平时计算时可以忽略,只取第一个
                ---f:待求定积分函数
                ---a,b:分别为定积分的区间
    案例:在[-5,5]区间求函数:y = 2x^2+3x+4函数的定积分
'''
import scipy.integrate as si


def f(x):
    return 2 * x ** 2 + 3 * x + 4


a = -5
b = 5

area = si.quad(f, a, b)[0]
print(area)


运行结果:
206.66666666666669

二、图像简单处理

  

'''
    图像处理:
        scipy.ndimage模块提供了一些简单的图像处理---高斯模糊、角度旋转、边缘识别等功能(如果要对图片进行高级处理,可以使用openCV)
        ---sn.median_filter(img,val)-->其中val为模糊程度值,值越大越模糊
        ---sn.rotate(img,val)-->其中val为逆时针旋转的角度值
        ---sn.prewitt(img)


    案例:测试图像简单处理
'''

import numpy as np
import scipy.misc as sm
import scipy.ndimage as sn
import matplotlib.pyplot as mp
import warnings

warnings.filterwarnings('ignore')

# 原始图片
image = sm.imread('./da_data/1.jpg', True)

# 高斯模糊---第二个参数是模糊程度的阈值,值越大模糊程度越高
median = sn.median_filter(image, 15)
# 角度旋转---第二个参数是旋转角度
rotate = sn.rotate(image, 45)
# 边缘识别
prewitt = sn.prewitt(image)

mp.figure('NDImage')
mp.subplot(221)
mp.xticks([])
mp.yticks([])
mp.imshow(image, cmap='gray')

mp.subplot(222)
mp.xticks([])
mp.yticks([])
mp.imshow(median, cmap='gray')

mp.subplot(223)
mp.xticks([])
mp.yticks([])
mp.imshow(rotate, cmap='gray')

mp.subplot(224)
mp.xticks([])
mp.yticks([])
mp.imshow(prewitt, cmap='gray')

mp.tight_layout()
mp.show()

  

原文地址:https://www.cnblogs.com/yuxiangyang/p/11176582.html