自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (1)
  • 收藏
  • 关注

原创 在idea中创建scala项目(其实我是来写akka的)

idea中创建java的两种方式在idea中写scala首先要下载scala插件,这个无需多言。一种是基于插件创造的项目,还有一种是基于maven。上面是基于插件创建的项目简单说一下这两个的特点吧:基于插件的方式,好处是简单,而且一上来就对java和scala的版本有所设置(其实这也不算是好处,跟maven的方式对比一下就知道了),好处是应该要手动添加maven什么的来扩展吧(玩的不多);基于maven的方式,好处是自带maven(仅此而已),坏处是要自己改要不也跑不了。下面就是这次的重点如何修

2020-12-05 19:14:18 412

原创 python调用的一些杂谈

main函数python是一门脚本语言,它的命令都是按行解释的。在一般的小程序可能不会用到,类似于其他高级语言的main()函数。但Python中还是有类似于main函数的存在。类似于下面这样的if __name__ == '__main__': ##function先说一下,main函数的意义。如果是直接运行文件的话,加不加main函数都没什么影响(反正都会按行解释的)。但如...

2018-07-27 09:37:14 294

原创 pytorch实战 ----线性回归

虽然大部分内容都是从github上找的。但是里面还是有些我自己的想法的,不喜勿喷,反正我主要是给自己看的。数据准备首先还是要导入一些库,matplotlib是画图的。torch.autograd是为了转换数据类型的,因为pytorch只能处理variable类型的数据,所以就算自己的数据也要转化为variable类型的。import torchimport torch.nn.fu...

2018-07-25 16:37:58 765

原创 pytorch与visdom可视化工具

visdompytorch Visdom可视化,是一个灵活的工具,用于创建,组织和共享实时丰富数据的可视化。支持Torch和Numpy格式。visdom的安装与初始化安装直接利用指令在cmd进行安装pip install visdom成功之后使用指令python -m visdom.server进行调用visdom 然后打开这个网址,visdom是一个web服务,客户...

2018-07-24 17:07:39 3713 5

原创 opencv教程(基于python)----图象的特征与提取

当我们进行目标追踪目标分割的时候一个基础的问题是:我们要找到吐下那个的特征,这些特征要易于被追踪比较。通俗的来说就是找到图象中的一些区域,无论你想向那个方向移动这些区域变化都很大,这个找到图象特征的技术被称为特征检测。harris角点检测原理。此外简单说一句这个算法的主要思想是计算像素的某个值,当其大于某个阈值时就认为该像素是角点(特征点)。 cv2.cornerHarris(...

2018-03-10 16:14:13 7318 2

原创 opencv教程(基于python)----grabcut前景提取

grabcut算法是微软的一个研究院提出的。算法在提取前景的操作中需要很少的人机交互,结果非常好。 通俗的说,一开始用户用户需要用一个矩形将前景区域框住。然后使用算法迭代分割。但有时分割的结构不够理想,会把前景和背景弄错,这时需要我们人为的修正了。 具体的原理用户输入一个矩形,矩形外的区域一定是背景,矩形内的东西是未知的计算机会对我们数据的图像做一个初始化的标记,她会标记前景和背景像素...

2018-03-04 10:17:14 11666 4

原创 opencv教程(基于python)----霍夫变换

不说废话了,感谢大神的文章霍夫变换。我还是重点说一下关于程序的部分吧关于直线先说的是函数HoughLines。 cv2.HoughLines(image, rho, theta, threshold[, lines[, srn[, stn]]]) image是输入的图像 rho是以像素为单位的累加器的距离分辨率 theta是在弧度内的蓄能器的角度分辨率 ...

2018-03-01 15:52:47 1540

原创 opencv教程(基于python)----模板匹配

模板匹配日是在一幅大图中寻找莫版图位置的方法,是不是觉得很有用啊。和2d卷积一样,它是模板图下大图上滑动,并在每一个位置对模板图象和其对应的输入图象的子区域进行比较。 这里主要介绍两个函数,cv2.matchTemplate,cv2.minMaxLoc。matchTemplate函数是关于图象匹配的,返回的结果是一个灰度图象,每一个像素值显示了此区域与模板的匹配程度,越亮说明相似程度越大。min...

2018-02-08 10:13:10 615

原创 opencv教程(基于python)----图象傅里叶变换

首先说的是关于图象的傅里叶变化,这个数学概念只有部分工科的专业才学,大家可以自己上网看一下。 傅里叶变化通常用来分析不同滤波器的频率特征,我们使用离散傅里叶变换来分析图形的频域特征。实现DFT的一个快速算法被称为快速傅里叶变换(FFT)。 对于之歌正选信号(那种最普通的,scdn弄不出来公式,大家脑补吧。)她频率为f,如果把这个信号转到它的频域表示,我们会在频率f中看到一个峰值。如果我们的信号

2018-02-07 15:46:08 6172 1

原创 opencv教程(基于python)----直方图反射投影

这一节了解的直方图的反射投影。这个是由两个大牛提出来的(然而我并不了解他们)。它可以用来干什么呢?图象分割或者在图象中搜索我们感兴趣的部分。简单来说说,它会输出与输入图象同样大小的图像,其中的每个像素值代表了输入图象上对应点属于目标的概率。更简单来说输出图像的像素值越高的点就越可能代表我们要搜索的目标。这个算法通常和camshift算法一起使用。 通常的使用情况是,我们有一张小的图片,我们要在

2018-02-06 10:33:28 1810

原创 opencv教程(基于python)----直方图(二)

一维直方图(续)本小节了解一下直方图均化的概念,以及如何用它改善图片的对比。 一幅高质量的图片像素值得分布应该很广泛,对于质量较差的图来说它的大部分像素通常集中在一定的范围里。所以我们要做的就是把它的直方图横向拉伸依稀,来改善图象的对比度。 下面是opencv中直方图拒还函数cv2.equalizeHist() cv2.equalizeHist(src, dst=None)输

2018-02-05 10:22:55 466

原创 opencv教程(基于python)----直方图

通过直方图你可以对政府图象的灰度分布有一个整体的了解。直方图其实也是对图象的另一种解释,我们可以对图象的对比度,亮度和灰度分布有一个直观的认识。 那么我们可以从opencv和numpy的函数得到图象的灰度直方图。先说opencv的函数cv2.calcHist()。 cv2.calcHist(images, channels, mask, histSize, ranges, hist=No

2018-02-04 10:09:20 392

原创 pytorch中文文档----pytorch概述。

关于pytorch我就不多说了,它也是著名的深度学习框架。网上的风评也是倾向于pytorch的(相比于tensorflow),初学的haul编译器还是推荐pycharm或者jupyter。 首先来了解一下pytorch的基本单位Tensor。from __future__ import print_functionimport torchx = torch.Tensor(5, 3)

2018-02-03 11:41:30 995

原创 opencv教程(基于python)----图象轮廓(三)

接下来了解更多关于轮廓的函数。轮廓的更多函数前面我们学习了轮廓的凸包,对象上的人设凹陷都被称为凸缺陷。opencv里的convexityDefects()函数可以找到凸缺陷。 cv2.convexityDefects(contour, convexhull, convexityDefects=None)第一个参数是轮廓,第二个参数是凸包上对应轮廓的点。函数会返回一个数组,

2018-02-03 10:15:01 840

原创 opencv教程(基于python)----图象轮廓(二)

这一节继续上面的内容。轮廓特征轮廓近似轮廓近似是用更少的点组成轮廓的方法,特别是在已知轮廓不规则的情况下,用他来近似。新轮廓的点数由我们设定的精确度来确定。具体使用的是Douglas—Peucker算法。这里的效果是cv2.areLength()函数和cv2.approxPolyDP()函数。 cv2.approxPolyDP(curve, epsilon, close

2018-02-02 11:45:41 1157

原创 opencv教程(基于python)----图象轮廓(一)

轮廓可以简单的看做连续的点(包括边界)连成的曲线,他们具有相同的颜色或者灰度。主要应用在形状分析和物体的检测与识别。处识轮廓一般来说为了更加准确,要使用二值化图象,在寻找轮廓之前,进行阈值化处理或者Canny边缘检测;查找轮廓的函数会更改原始图象,如果后期还想使用原始图像的话最好找另一个变量储存;一般物体是白色而背景是黑色。 这里哟两个函数cv2.findContours()和cv2.d

2018-02-01 10:51:52 450

原创 opencv教程(基于python)----图象金字塔

图象金字塔是我们创建一组图象,这些图象是具有不同分辨率的原始图像,如果把分辨率最大的放在底部,最小的放在上面,看起来就像一个金字塔,这也是他名字的由来。一般来说具体的应用是,不同的设备显示图像需要不同的分辨率,建立一个金字塔可以快速适应不同的设备;还用一个应用是图形分割方面的(基于区域)。 有两类金字塔:高斯金字塔和拉普拉斯金字塔。高斯金字塔高斯金字塔的顶部是通过将底部图像中的连续

2018-01-31 10:11:51 418

原创 opencv教程(基于python)----边缘检测

这一节主要讲的是关于图象的边缘检测。先说一下一个基本的概念图象梯度:可以把图象看成关于像素的离散二元函数,所谓梯度其实就是图象的导数。由于图象在边界的像素变化剧烈所以,在导数上格外明显了。图象梯度梯度简单来说就是求导,而opencv提供理论三种梯度滤波器:Sobel,Scharr,和Laplacian。 前两个是求一阶或者二阶导数,scharr是对sobel的优化。laplacian

2018-01-30 09:22:12 763

原创 opencv教程(基于python)----图象形态学转换

形态学造作是根据图象形状进行的简单操作。一般情况下对二值化图象进行的操作,需要输入两个参数,一个是原始图像,第二个是被称为结构化元素或和,它是用来决定操作性质的两个基本操作是腐蚀和膨胀。腐蚀腐蚀会把物体的边界腐蚀掉,卷积核沿着图象滑动,如果卷积核对应的原图的所有像素值为1,那么中心元素就保持原来的值,否则变为零。主要应用在去除白噪声,也可以断开连在一起的物体。主要的函数是cv2.ero

2018-01-29 10:04:04 563

原创 opencv教程(基于python)----图象平滑处理

图象平滑处理其实就是用滤波器对图象进行模糊,也可以看成一种去噪的方式。平均这里的原理是用卷积框覆盖区域所有像素的平均值代替中心元素,这里用到的主要函数是cv2.blur() cv2.blur(src, ksize, dst=None, anchor=None, borderType=None)src是图象,ksize是框的大小,剩下的元素可以忽略了。import

2018-01-28 11:16:09 1572

原创 opencv教程(基于python)----图象阈值

关于图象阈值有简单阈值,自适应阈值,二值化

2018-01-27 10:47:57 468

原创 opencv教程(基于python)----几何变换

几何变换的几个操作其实就是缩放,移动,旋转,放射变换。先看缩放,主要函数是resize,形式为resize(img,(x,y),interpolation=)。img是原图像;第二个参数是缩放的规模,可以自定义;interpolation是变换方法,默认的是interpolation=CV2.INTER_LINEAR,此外还有CV2.INTER_NN,CV2.INTER_AREA像素关系重采样

2018-01-26 09:32:48 635

原创 opencv教程(基于python)----图象运算

图象的运算主要有加减,位运算等。对于图象的加减来说注意图象的大小和数据类型一样。图象混合主要是addWeighted函数,形式为cv2.addWeighted(src1, alpha, src2, beta, gamma[, dst[, dtype]])scr1是第一个图片,alpha是透明度;src2是第二个图片,beta是透明度。两个通名都加起来是1.后面的gamma有点玄学默认为0就

2018-01-24 11:48:09 746

原创 opencv教程(基于python)----关于滑条

其实关于调色板就两个主要的函数CV2.getTrackbarPos和CV2.createTrackbar函数。分别看一下这两个函数的作用吧,getTrackbarPos是得到滑动条的位置并返回,具体的格式为cv2.getTrackbarPos('G','image')第一个参数是轨迹条的名称,第二个参数是画板的名称。createTrackbar函数是创建一个轨迹条可以附加在

2018-01-22 10:31:34 1156

原创 opencv教程(基于python)----关于调用鼠标

关于鼠标操作最重要的是setMousecallback函数,这是鼠标操作的核心函数。下面看一下具体的用法:cv2.setMouseCallback('image',draw_circle,[img,a])第一个参数是窗口的名称,第二个参数是被传值的函数,第三个参数是你要传递的参数(可以被省略。。)这里的被传值的draw_circle函数也不是你自己随便DIY的函数,也是有具体的

2018-01-21 10:37:52 761

原创 opencv教程(基于python)----关于绘图

毫无疑问,python的绘图功能可不是c++可以比的,接下来我们来看看一些基本的opencv的绘图函数。有基本的画直线,矩形,圆椭圆,还有添加文字。import cv2import numpy as npimport matplotlib.pyplot as pltimg=np.zeros((512,512,3),np.uint8)#画直线cv2.line(img,(0,0),(

2018-01-20 11:00:16 420

原创 opencv教程(基于python)----关于视频

以后争取每天一更,估计写完的时候,我们可以达到写出一个目标追踪的程序,或者微信跳一跳的刷分程序(这个失败了,亲身试过分数提交失败)。接下来进行关于视频的基本操作。这里重点介绍两个函数CV2.VideoCapture()和CV2.VideoRead()函数,看出来了吧,一个是读视频一个是写函数。下面具体介绍一下用法。import cv2import numpy as npcap=cv2.

2018-01-17 10:36:14 1968 2

原创 基于python的opencv教程

第一次写博客,学习是要有输入与输出的,所谓教学相长。所以我想试着自己写一份教程,算是对自己的学习总结吧,博客的排版比较直男,请凑合看吧。首先建议的IDE是pycharm,opencv的库直接pip安装就好,最好大家有一定的python基础。第一部分是关于图象读取和保存。import cv2import numpy as np#导入图象img=cv2.imread('C:/U

2018-01-12 15:24:10 1085

tensorflow(斯坦福大学的资源)

斯坦福大学tensorflow深度学习的课件,内容绝对通俗易懂,可以b站可能也有配套的视频,不过看这些就够了

2018-01-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除