numpy & pandas 笔记
numpy & pandas笔记
numpy
直接看例子和注释吧
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919 ...
水下图像智能去雾与色彩还原研究进展
本中文译文为机器翻译!点击下载原文 A Review on Intelligence Dehazing and Color Restoration for Underwater Images
摘要——水下图像处理是一个情报研究领域,具有很大的潜力,可以帮助开发人员更好地探索水下环境。 水下图像处理已在许多领域中使用,例如水下显微镜检测,地形扫描,地雷检测,电信电缆和自动水下车辆。
但是,水下图像会受到强烈的吸收,散射,色彩失真以及来自人造光源的噪声的影响,从而导致图像模糊,模糊,以及偏蓝或偏绿的色调。 因此,水下图像的增强可分为两种方法:1)水下图像除雾和2)水下图像色彩还原。 本文介绍了水下图像退化的原因,研究了深度学习方法在水下图像去雾和恢复中的最新智能算法,展示了水下图像去雾和颜色恢复在不同方法下的性能,介绍了水下图像颜色评估指标, 并概述了主要的水下图像应用。 最后,我们总结了水下图像处理的应用。
关键词:颜色恢复,图像去雾,图像增强,水下图像处理。
引言
在最近的几年中,随着资源的日益短缺以及全球经济和国际关系的不断发展,水下环境已逐渐成为世界的新中心。 包含众多生物资源和 ...
线性回归模型Matlab实现
线性回归算法
线性回归算法是机器学习的入门级别算法 . 算法的基本思想是根据现有的已知数据集 , 试图使用线性模型来对数据进行拟合 , 使用均方误差来衡量拟合的程度 . 假设现有一直数据的输入为 xxx , 真实输出为 yyy , 采用线性模型对其进行拟合需要两个参数θ0\theta _0θ0 和 θ1\theta_1θ1 , 预测输出表示为 y^=θ0+θ1×x\hat{y} = \theta_0 + \theta_1 \times xy^=θ0+θ1×x . 预测输出与真实输出之间的误差可以使用下面的公式来进行衡量 : J=(y^−y)2J = (\hat{y} - y)^2J=(y^−y)2 . 这是一个数据的误差值 , 对于数据集整体来说 , 可以使用每个数据点误差的均值来进行误差大小的衡量 :
J(θ0,θ1,...,θn)=12m∑i=1m(y^−y)2J\left(\theta_{0}, \theta_{1},...,\theta_{n}\right) =\frac{1}{2m} \sum_{i=1}^{m} (\hat{y}-y)^2
J(θ0, ...
报道
2020年9月11日 哈尔滨 晴 大连 雨
一路面壁
提前很长时间就买了火车票 , 由于要做4个多小时 , 肯定得买个靠窗的座啊 , 于是选择了F , 万万没想到给我分了个1F . 就这样 , 我在角落里面壁了4个多小时 . 一路上的风景是一点也没看到啊 . 哭了 .
然而 , 一切还没有结束 . 到了大连外面哗哗的下着大雨 , 我就只有这一双鞋 , 这要是打伞出去找接站车 , 我这下半身都得淋湿 . 既然可以地铁直达 , 那就走地下吧 . 就这样 , 对于大连的城市风貌我也是毛都没看着啊 .
地铁出站之后就是校门 , 觉得这交通实在是太方便了 . 但是这个校门报道不让进 , 穿着制服的弟弟妹妹们让我们在门口等着学校的摆渡车 , 送我们去报道的大门 . 心想这回终于可以透过车窗看窗外风景了 . 等了一会 , 从学校里开出来一个大巴车 , 车上贴着 “大连海事大学欢迎2020级新生报到” 之类的话 . 上了车之后就感觉这车里怎么这么黑呢 , 难道是拉着窗帘呢 ? 找了个靠窗的位置坐下来 , 大致看了一眼 也没有窗帘啊! TMD 原来是外面贴着的横幅 , 这回连最后看风景 ...
python解方程练习
题目
分析
点C 到 点P 的距离 与半径r进行比大小使用两点间的距离公式即可 , 关于 Q1Q_1Q1 和Q2Q_2Q2点的坐标 考虑联立二元二次方程组进行求解 .
利用切线与半径垂直 , 有 : (yq−yc)(xq−xc)⋅(yq−yp)(xq−xp)=−1\frac{(y_q - y_c)}{(x_q - x_c)} \cdot \frac{(y_q - y_p)}{(x_q - x_p)} = -1(xq−xc)(yq−yc)⋅(xq−xp)(yq−yp)=−1
利用切点到圆心的距离等于半径 , 有 : (yq−yc)2+(xq−xc)2=r2(y_q - y_c) ^ 2 + (x_q - x_c) ^ 2 = r ^ 2(yq−yc)2+(xq−xc)2=r2
解此二元方程组即可得出切点坐标 .
Python代码实现
久闻Python中存在各种强大的包 , “后人” 无需重复造轮子, 直接引用包即可实现自己的需求 . 因此 , 对于一个简单的解方程问题 , 解决起来只需两行代码 .
经过搜索引擎的简单搜索 ,发现了许多Pytho ...
迭代器与生成器
迭代器
迭代器是Python中最强大的功能之一 , 是访问集合元素的一种方式 .
迭代器是一个可以记住遍历位置的对象 .
迭代器对象从集合的第一个元素开始访问 , 直到所有元素被访问结束 . 迭代器只能往前不能后退 .
迭代器有两个基本的方法 : iter()和 next()
字符串 , 列表 或元组对象都可用于创建迭代器 .
1234list = [1,2,3,4]it = iter(list)print(next(it)) # 1print(next(it)) # 2
迭代器对象可以使用常规for语句进行遍历 :
1234567list = [1,2,3,4]it = iter(list)for x in it: print(x,end="") # 执行以上程序的输出结果为# 1 2 3 4
也可以使用next()函数 :
12345678910111213141516import syslist = [1,2,3,4]it = iter(list)while True: try: print(next(it)) exce ...
Python--异常和文件
异常
程序在运行过程当中,不可避免的会出现一些错误,比如:使用了没有赋值过的变量 ; 使用了不存在的索引 ; 除0 . . . 这些错误在程序中,我们称其为异常。程序运行过程中,一旦出现异常将会导致程序立即终止,异常以后的代码全部都不会执行!
123print('hello')print(10/0)print(10/2)
输出结果为:
输出了hello, 异常代码和之后的代码不会被执行 .
处理异常
程序运行时出现异常,目的并不是让我们的程序直接终止!Python是希望在出现异常时,我们可以编写代码来对异常进行处理!
12345678910111213# try语句try: 代码块(可能出现错误的语句)except 异常类型 as 异常名: 代码块(出现错误以后的处理方式)except 异常类型 as 异常名: 代码块(出现错误以后的处理方式)except 异常类型 as 异常名: 代码块(出现错误以后的处理方式)else: 代码块(没出错时要执行的语句) finally: 代码块(该代码块总会执行)
可以将可能出错的 ...
Python--对象
什么是对象
对象是内存中专门用来存储数据的一块区域。对象中可以存放各种数据(比如:数字、布尔值、代码)对象由三部分组成:
对象的标识(id)
对象的类型(type)
对象的值(value)
Python是一门面向对象的编程语言 , 所谓的面向对象的语言,简单理解就是语言中的所有操作都是通过对象来进行的 , 面向对象的编程语言,关注的是对象,而不关注过程 , 对于面向对象的语言来说,一切都是对象 . 面向对象的编程思想,将所有的功能统一保存到对应的对象中 , 这种方式编写的代码,比较容易阅读,并且比较易于维护,容易复用。但是这种方式编写,不太符合常规的思维,编写起来稍微麻烦一点 .
类(class)
我们目前所学习的对象都是Python内置的对象 , 但是内置对象并不能满足所有的需求,所以我们在开发中经常需要自定义一些对象 , 类,简单理解它就相当于一个图纸。在程序中我们需要根据类来创建对象 , 类就是对象的图纸!我们也称对象是类的实例(instance), 如果多个对象是通过一个类创建的,我们称这些对象是一类对象 , 像int() float() bool() str() ...
Python--函数
函数简介(function)
函数也是一个对象 , 对象是内存中专门用来存储数据的一块区域 , 函数可以用来保存一些可执行的代码,并且可以在需要时,对这些语句进行多次的调用 . 函数中保存的代码不会立即执行,需要调用函数代码才会执行 .
1234567# 创建函数def 函数名([形参1,形参2,...形参n]) : 代码块# 函数名必须要符号标识符的规范(可以包含字母、数字、下划线、但是不能以数字开头)# 调用函数函数对象()
定义函数一般都是要实现某种功能的 .
12345678910111213141516# 比如有如下三行代码,这三行代码是一个完整的功能# print('Hello')# print('你好')# print('再见')# 于是可以定义一个函数def fn(): print("Hello") print('你好') print("再见") print(fn) # <function fn at 0x03D2 ...
为你的Github Pages申请js.org二级域名
前言
Github 为我们提供了免费的Pages服务的同时 , 附赠了一个免费的二级域名github.io , 这个域名有着明显的缺点和优点 . 其中 , 优点包括免费, 稳定 等等 . 未来是信息时代 , Github被微软收购后后台更加强大, 从私有仓库免费到Actions上线并且免费, 我们这些白嫖党可以更开心的薅羊毛了. 所以相信Github Page也会做的越来越好 , 越来越开放 , 越来越免费. 哈哈哈哈哈 . 但是对于博主来说 , 这个域名也有着明显的缺点 ,百度是否收录且先不提, xxxx.github.io对于普通人来说 , 他根本不知道这是一个网址 , 更别说去访问了, 因此博客流量也只能靠自己了.
这里介绍如何通过项目js.org 申请一个免费的对普通人来说更像是网址的域名.
开始
首先登陆Github , 在搜索框中输入 js.org 并搜索.在搜索结果中, 点击js.org/js.org项目, 在项目页面点击右上角Fork按钮 , 把这这份代码复刻到自己的账户下.
点击完成后 , 页面会跳转到你自己的账户下 , 我的账户是 w-gx, ...