- 博客(24)
- 收藏
- 关注
原创 基于pytorch的简单回归问题之波士顿房价预测
数据背景介绍波士顿房价数据集housing.data是统计的20世纪70年代期波士顿郊区房价的中位数,统计了当时犯罪率,房产税等13个指标。本例子属于回归模型的案例,在数据集中包含506个数据,其中划分训练集和测试集分别为496和10。数据每行的前13个是属性,最后MEDV代表房价(单位1000美元)数据集下载在pycharm中打开的数据集...
2022-04-29 17:19:54
4050
原创 pytorch中关于梯度计算
关于Autogrand的几个概念:叶子张量 :可以理解为是一个初始变量,如下图所示,只有x为叶子节点,y和z都是结果节点。pytorch中只能计算叶子节点的梯度(x)。grand VS grand_fngrand : 该Tensor的梯度值,每次在计算backward时需要将前一时刻的梯度归零,否则梯度值会累加。grand_fn :叶子节点通常为None,只有结果节点的grand_fn 才有效,用于指示梯度函数是哪种类型。梯度函数:torch.autograd.backward (tens
2022-04-29 16:49:33
2330
原创 pytorch基础知识之Tensor(1)
pytorch中关于Tensor的一些基础操作以下是创建一些张量代码实例import torch#传数据(FlotTensor类型)a = torch.Tensor( [ [1,2],[3,4] ] )#基础构造函数a = torch.Tensor(2,3)#几种特殊b = torch.zeros(3,5)b = torch.ones(2,2)b = torch.eye(3,3)c = torch.zeros_like(a)
2022-04-18 08:05:46
1541
原创 OpenCV之图像轮廓
什么是图像轮廓?具有相同颜色(在彩色图片中)或强度(灰度图像要转变为二值化图像)的连续点的曲线图像轮廓的作用:1.可以用于图形分析2.物体的识别与检测
2022-03-05 16:10:42
7055
2
原创 OpenCV之高通滤波
高通滤波最主要的作用是检测边缘Sobel(索贝尔)(高斯):对噪音适用性很强,在内部首先使用了高斯滤波对噪音进行过滤,之后再通过一阶导求得图像边缘。【若卷积核size设置为-1,则自动使用的是沙尔滤波算法】Scharr(沙尔) :卷积核不可改变的一个3x3大小卷积核,可以检测出比较细小的边缘线(不常用,索贝尔可以代替沙尔)【 索贝尔和沙尔的缺陷是只能检测一个方向的边缘,要么横轴,要么纵轴,所以调用 完后还需要自己把横轴和纵轴检测到的边缘线加起来才是最终结果】Laplacian(拉普拉斯):
2022-03-02 12:30:40
5155
原创 OpenCV中的滤波器(1)
方盒滤波和均值滤波当normalize = true,a = 1/w*h, w和h分别为卷积核的宽和高,这时就相当于是均值滤波。当normalize = flase,a=1两个滤波apiboxFilter(src, ddpeth, ksize, anchor, normalize, boderType)blur(src, ksize, anchor, boderType)ksize表示卷积核大小,(5,5)表示5x5的卷积核normalize 默认为 true,所以大部分情况下这两个api
2022-03-01 16:48:07
774
原创 OpenCV之图像滤波基本概念
什么是图像滤波?一幅图像通过滤波器得到另一幅图像,其中滤波器又称为卷积核,滤波的过程称为卷积。图像卷积的效果如下所示卷积的几个基本概念卷积核的大小 :卷积核一般为奇数,如33,55,77等,一方面是增加边界扩充的原因,另一方面是保证锚点在在中间。在深度学习中,卷积核越大,看到的信息(感受野)越多,提取的特征越好,同时计算量也越大,所以很多时候用几个小的卷积核代替大的卷积核。锚点 :就是卷积核最中心的那个点,如上图9就是那个锚点。边界扩充 :一般输入的图像要比输出后的图像大,所以想要
2022-03-01 09:48:25
1342
原创 OpenCV之图像透视变换
什么是透视变换?就是将一种坐标系转换为另一种坐标系,如下所示透视apiwarpPespective(img, M, dsize,…),省略号表示后面参数不用管,使用默认img :原图像M :3*3变换矩阵dsize :输出后变换图像大小获取透视变换矩阵apigetPespectiveTransform(src, dst)src :原图中需要切割的四个角的坐标点dst :变换后的图片中四个角的坐标点import cv2from cv2 import warpPerspecti
2022-02-28 16:01:42
1168
原创 OpenCV之图像基本变换
图像的缩放new = cv2.resize(img, (dsize), fx, fy, interporation)img: 原始图片(desize):目的像素大小,描述时是(x,y)fx: 沿着x轴缩放比例fy:沿着y轴缩放比例interporation:插值算法,即采用哪种算法对图像进行缩放【注:dsize和fx,fy只需设置一个就行。new = cv2.resize(dog, None,fx = 2,fy = 2,interpolation=cv2.INTER_AREA)】缩放算法有
2022-02-25 18:27:58
714
原创 OpenCV之图像的运算
图片相加cv2.add(img1, img2) 注:图像相加就是矩阵的相加,所以两张图大小必须要一样,相加后的图片会更亮图片相减cv2.subtract(a, b), 得到的结果是a-b,相减后图片会更暗图片相乘cv2.mutiply(a,b),效果和相加差不多图片相除cv2.divide(a,b),效果和相减差不多图像溶合cv2.addWeighted(img1, alpha, img2, bate, gamma)alpha: 代表img1占的权重bate: 代表img2 占的权重
2022-02-24 17:10:10
1455
原创 openCV之基本图形绘制
直线的绘制line(img,开始点,结束点,颜色,线宽,线型,…)一般线型用默认的,线型的值有-1,4,8,12,16需要注意的是,画线的开始点与结束点是(x,y)型,而创建图片是(y,x)import cv2import numpy as npimg = np.zeros((480,640,3),np.uint8)#画线,坐标点为(x,y)cv2.line(img, (10,20),(300,400),(0,0,255),5,16)cv2.imshow('img',img)cv2.wa
2022-02-21 11:40:55
1872
原创 【无标题】OpenCV基础理论知识
Matmat是一个结构体,表示一个矩阵,可以是一个通道的,也可以是3个通道。它有头部和底部之分,头部代表这个矩阵的属性,底部代表的是数据。Mat的拷贝浅拷贝 只是把mat的头部复制了一份,数据还是指向同一块,Mat a = imread(file, IMREAD_COLOR)Mat B(a) 把a复制给B,这是浅拷贝如下图所示Mat的深拷贝 把属性和数据全部拷贝出来,方法有CV::Mat::clone()CV::Mat::copyTo()copy()以下代码验证浅拷贝与深拷
2022-02-20 17:06:48
847
原创 openCV色彩空间转换
RGB 人眼的色彩空间BGR opencv默认使用的色彩空间他们的最大差别是R,B排列顺序不一样,若是把RGB直接放入opencv系统中会造成颜色有差异。给opencv的数据是要BGR的,电脑内部会自动转换成RGB的数据再去点亮硬件发光源。windows系统下的图片都是BGR,内部会自动转换成RGB.HSV在opencv中利用HSV比RGB更容易对图像色彩的分辨。Hue: 色相即色彩,如红色,蓝色Saturation: 饱和度,即颜色的纯度Value:明度,即黑色或者明暗的部分占多少HS
2022-01-16 15:30:23
2890
3
原创 openCV_python自学(3)之将视频数据录制成多媒体文件
VideoWriter():视频文件等格式规定,有三个参数。参数一:输出文件路径,名字和格式参数二:多媒体文件编码格式(VideoWriter_fourcc()),下图是针对不同系统可以采用的编码格式参数三:帧率(即每秒多少帧)通常是25参数四:摄像头分辨率大小 ,一定要去仔细核对自己的摄像头分辨率,要不然不一样会保存不了视频write():参数为mat类型,即一帧一帧数据写入文件当中release():最后一定要释放资源以下代码是从摄像头中录制视频保存成多媒体文件import cv2
2022-01-16 11:10:16
2243
原创 openCV之trackbar控件
createTrackbar(trackbarname , winname , value , count , callback):创建控件,有五个参数trackbarname :控件名字winname :所在窗口名字value :控件当前值count :控件最大值callback:移动控件的回调函数,一般不需要getTrackbarPos(trackbarname ,winname )获取控件当前值以下代码展示利用R,G,B三个控件改变黑色背景图颜色,按‘q’退出import cv2i
2021-12-30 16:50:45
1963
原创 opencv控制鼠标
openCV控制鼠标SetMouseCallback(winname,callback,userdata): 设置鼠标回调函数winname:窗口名字callback:自定义回调函数userdata:在设置回调函数时可以给函数callback传参,不传参数也可以设置为nullcallback(exent,x,y,flags,userdata):自定义的回调函数,但是参数必须一致exent:鼠标点击事件,比如点左键,点右键或者中间键(看下图官方文档,下列值从0-11)x,y:鼠标所在位置坐标f
2021-12-30 15:33:24
2368
原创 openCV_python自学笔记(2)
利用opencv保存图片函数:imwrite(name,img)name:图片保存路径以及文件名和格式img:mat类型,要保存加载的哪张图片以下代码功能:建立窗口并显示一张图片,键盘按a则退出,按b则把图片另存为png格式,按其他打印otherimport cv2cv2.namedWindow('image',cv2.WINDOW_NORMAL)img = cv2.imread('d:\\STUDY_OPENCV\\img\\2.jpg')cv2.resizeWindow('image',
2021-12-29 14:09:26
1602
原创 openCV_python自学笔记(1)
利用opencv_python显示窗口加载图片使用到的函数;namedWindow( winname, windowFlage) 创建一个窗口,常用flage有: WINDOW_AUTOSIZE:用户不能改变窗口大小,窗口大小根据图片尺寸来显示WINDOW_NORMAL: 可以随意拖拉窗口大小,可以给窗口大小设置默认尺寸resizeWindow( winname, with, high)设置窗口大小imread( path, imreadFlage)加载图片,该函数返回一个mat类
2021-12-28 23:09:00
671
原创 字节与位的关系
一个字节 = 八位n位 的范围为 0 到 2的n次方减1 比如 1111 = 2^3 + 2^2 + 2^1 + 2^0 可以利用等比公式计算最后可得出 2^4 - 1
2018-11-09 21:00:10
7426
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人