ljt爱喝老猪阿茶
码龄5年
关注
提问 私信
  • 博客:36,015
    社区:37
    动态:40
    36,092
    总访问量
  • 32
    原创
  • 1,023,128
    排名
  • 9
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:美国
  • 加入CSDN时间: 2019-10-06
博客简介:

weixin_45718167的博客

查看详细资料
个人成就
  • 获得25次点赞
  • 内容获得4次评论
  • 获得83次收藏
创作历程
  • 34篇
    2020年
成就勋章
TA的专栏
  • C++笔记
    2篇
  • OpenCV学习笔记
    14篇
  • 《SQL教程》笔记
    4篇
  • 模式识别笔记
    2篇
  • 《利用Python进行数据分析》 笔记
    8篇
兴趣领域 设置
  • 人工智能
    分类
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

342人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

C++指针与const

const指针1常量指针指向变量double val = 3;double *const p1 = &val;一般用上面这种,下面这种也不报错double val = 3;const double *const p1 = &val;2常量指针指向常量const double val = 3;const double *const p1 = &val;在定义指针常量时,如果初始化的对象也是常量,则double前面必需再加一个const,表示指针指向的也是常量,
原创
发布博客 2020.08.03 ·
217 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

C/C++指针的写法和理解

指针两种写法1定义指针时赋值int val = 1;int *p2 = &val;2先定义空指针,后赋值int val = 1;int *p1=0;p1 = &val;我的理解是,*是解引用符,*p2对应的是相应地址内的内容,但在第一种写法int *p2 = &val除外,这里是为了声明p2是指针变量第二种写法需要注意的地方如果用第二种写法定义了空指针,运行如下代码会发生错误。int val = 1;int *p1=0;*p1 = val;我的理解是
原创
发布博客 2020.08.03 ·
2198 阅读 ·
1 点赞 ·
0 评论 ·
5 收藏

12 图像拼接

在进行图像拼接前先了解几个算法和概念1.Brute-Force蛮力匹配直接用两张图的特征进行匹配,有一对一和k对最佳匹配两种方法1.一对一匹配sift = cv2.xfeatures2d.SIFT_create() #注意3.4.15版本以后已经不能用了,可以改用ORB算法kp1, des1 = sift.detectAndCompute(img1, None) #用sift方法提取出两张图的特征点kp2, des2 = sift.detectAndCompute(img2, None)bf
原创
发布博客 2020.05.15 ·
460 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

11 获取图像特征点 sift

原理:1.图像尺度空间一个物体不论是近处人们可以分辨出来,远处也可通过轮廓进行分辨,图像尺度空间就是通过制造模糊程度不同的图像,即不同的尺度,让计算机对不同尺度下的物体有一个统一的认知不同尺度的效果如下:不同σ的高斯函数决定了对图像的平滑程度,越大的σ值对应的图像越模糊。2.多分辨率金字塔由于要在远处,即物体比较小的时候也能分辨出来,只做一个同样大小的尺度远远不够,因此还要做一个多分辨率金字塔。图像的不同尺度是为了在相同的大小下让计算机能够识别出来物体,多分辨率金字塔是为了让计算机能在远近
原创
发布博客 2020.05.14 ·
378 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

10 harris 角点检测

1.harris 角点检测原理R的取值为多少的时候认为是角点,还要自行设定阈值通过额外的代码来进行判断,在后面的代码有显示。有时候在角点周围的一小片区域算出来的R值可能都比较大,这时候最后还要进行非极大值抑制2.opencv函数调用求出每个点的角分数ksize一般取(3,3)k的取值对应的前面角点相应R值里面的aimport cv2 import numpy as npimg = cv2.imread('test_1.jpg')print ('img.shape:',i
原创
发布博客 2020.05.13 ·
133 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

08 傅里叶变化

1.傅里叶变换对图片进行频域上的处理opencv中主要就是cv2.dft()和cv2.idft(),输入图像需要先转换成np.float32 格式。得到的结果中频率为0的部分会在左上角,通常要转换到中心位置,可以通过shift变换来实现。cv2.dft()返回的结果是双通道的(实部,虚部),通常还需要转换成图像格式才能展示(0,255)。import numpy as npimpor...
原创
发布博客 2020.05.07 ·
226 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

08 图像直方图

1.图像直方图统计一张图片每个像素或不同范围内的像素点个数可以用与比较两张图是否一样,相似度问题cv.calcHist(images, channels, mask, histSize, ranges)images:图像格式应为uint8或float32,传入时以[image]格式channels:以[]表示统计的通道,灰度图就是[0],彩色图可以是[0][1][2],一次只能一个通道...
原创
发布博客 2020.05.07 ·
169 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

07 轮廓绘制的一些应用

1.绘制外接矩形cv.boundingRect(cnt)输入一个轮廓信息,会返回一个x,y坐标和矩形的宽和高cv.rectangle(img,(x,y),(x+w,y+h),(0,255,0),2)输入起点的(x,y)坐标,以右下角为起点,利用给定的宽高来绘制出一个矩形img = cv2.imread('contours.png')gray = cv2.cvtColor(img, cv...
原创
发布博客 2020.04.18 ·
154 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

07 轮廓检测

1.轮廓提取函数:cv.findContours(img,mode,method)1.mode:轮廓检索模式RETR_EXTERNAL :只检索最外面的轮廓;RETR_LIST:检索所有的轮廓,并将其保存到一条链表当中;RETR_CCOMP:检索所有的轮廓,并将他们组织为两层:顶层是各部分的外部边界,第二层是空洞的边界;RETR_TREE:检索所有的轮廓,并重构嵌套轮廓的整个层次;一...
原创
发布博客 2020.04.17 ·
270 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

06 图像金字塔

图像金字塔有高斯金字塔和拉普拉斯金字塔,简单来说就是图像进行缩放。高斯金字塔有下采样和上采样。下采样是从最大的那层即最底层不断以1/2的形式缩小,可以把金字塔看成是倒立的。上采样反之。同时,要想进行金字塔操作,图像的大小必须是2的倍数,金子塔的层数直接由图像的大小是2的多少倍决定1.高斯金字塔高斯金字塔有上采样和下采样:下采样: PyrUp(image)1.先经过高斯卷积核进行平...
原创
发布博客 2020.04.17 ·
167 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

cmd进行MySQL无法连接 问题解决

问题:解决方法:输入 mysql -h localhost -P 1003(这是端口号)-u root -p成功
原创
发布博客 2020.04.17 ·
837 阅读 ·
3 点赞 ·
0 评论 ·
1 收藏

05 Canny边缘检测

Canny算子Canny算子对边缘处理的会比Sobel等算子更加细致,他的边缘细致到单个像素的层面为什么通过比较梯度的大小就可以判断边缘:梯度往往会比周围的点更加明亮,所以在求导后即梯度较其他点大。流程:转灰度图 —> 平滑处理(高斯滤波) —> 计算每点的梯度和梯度方向(Sobel算子等)—>非极大值抑制(筛选边缘)—>双阈值进一步筛选边缘1.非极大值抑制在用S...
原创
发布博客 2020.04.17 ·
190 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

04 图像梯度处理 Scharr算子和Laplacian算子

可见Scharr算子和Sobel原理类似,只是他将差异进一步放大,对差异更加敏感Laplacian算子对变化更敏感,同时对噪音也会敏感,所以单独使用效果并不好,一般和其他处理配合下面看几种算子的效果对比img = cv2.imread('lena.jpg',cv2.IMREAD_GRAYSCALE)sobelx = cv2.Sobel(img,cv2.CV_64F,1,0,ksize=3...
原创
发布博客 2020.04.15 ·
216 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

04 图像梯度处理 Sobel算子

Sobel算子先来看看sobel算子矩阵的构造,称作卷积核更合适,这就是卷积运算以3*3卷积核为例可以看出Gx卷积核会增强垂直方向两边的差异,而Gy卷积核会增强水平方向上下的差异。同时可以看到,离中间越近代表的权重越大,同时差异会更加明显,类似高斯分布函数:dst = cv2.Sobel(src, ddepth, dx, dy, ksize)ddepth:图像的深度dx和dy分别表...
原创
发布博客 2020.04.15 ·
1751 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

03 图像形态学处理 (腐蚀、膨胀操作、开闭运算、梯度运算、礼帽黑帽)

1.腐蚀操作'''腐蚀原理:在一个卷积核内,如果存在不同的像素值,则某些像素会被另一部分腐蚀掉,即将其值修改为其他的像素值当然,如果卷积核内像素值都一样则不会发生腐蚀,所以边界处腐蚀效果会更明显'''kernel = np.ones((3,3),np.uint8) #设置卷积核大小erosion = cv2.erode(img,kernel,iterations = 1) #腐蚀操作...
原创
发布博客 2020.04.15 ·
1043 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

02 图像处理(阈值分割、平滑处理)

1.图像阈值ret, dst = cv2.threshold(src, thresh, maxval, type)src: 输入图,只能输入单通道图像,通常来说为灰度图dst: 输出图thresh: 阈值maxval: 当像素值超过了阈值(或者小于阈值,根据type来决定),所赋予的值type:二值化操作的类型,包含以下5种类型: cv2.THRESH_BINARY; cv2.THR...
原创
发布博客 2020.04.14 ·
913 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

01基本操作(边界填充,图片融合)

1.图片读取cv.imread(‘path’, cv.IMREAD_GRAYSCALE / cv.IMREAD_COLOR)cv.cvtColor(image, cv.COLOR_BGR2GRAY) 彩色空间转换,第二个参数选择很多cv.waitKey()cv.imshow(‘name’, image)cv.destoryAllWindows()2.视频读取vc = cv.Vide...
原创
发布博客 2020.04.14 ·
605 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

《SQL基础教程》笔记 CASE

CASE相当于IF语句假设有这样一张表现在我想根据第一张图的要求得到第二张图的结果用CASE实现如下:这里注意,ELSE不是必要的,但是建议每次都写上同时CASE的位置也是不固定的,比如我想把转换成用CASE实现如下...
原创
发布博客 2020.04.11 ·
149 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

《SQL基础教程》笔记 谓词

LIKE 模糊查询WHERE (列名) LIKE 'DDD%' #取出开头是DDD的字符串所在行WHERE (列名) LIKE '%DDD' #取出结尾是DDD的字符串所在行WHERE (列名) LIKE '%DDD%' #取出含有DDD的字符换所在行WHERE (列名) LIKE 'DDD_' #1个下划线,以DDD开头且DDD后只有1个字符 一个下划线代表一个字符BETWE...
原创
发布博客 2020.04.11 ·
281 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

《SQL教程》笔记 视图

1.什么是视图在SQL来看,视图就是一张表视图和表的区别在于 视图存放的是SELECT语句,没有存放实际数据;而表中存放着实际数据创建视图的语句:CREATE VIEW (视图名称) (列1,列2,...)AS(SELECT 语句)举例:CREATE VIEW new_product (product_profit, product_date)ASSELECT purchas...
原创
发布博客 2020.04.09 ·
204 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多