自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (2)
  • 收藏
  • 关注

原创 git使用

使用git进行clone、提交

2022-06-01 15:37:31 122

原创 计算图像模糊量

1、模糊量判断从频率角度来看,图像中低频信息越多越模糊,图像高频信息提取相当于进行边缘提取,这里使用拉普拉斯mask,然后计算方差;如果图片具有较高方差,那么它就有较广的频响范围,代表着正常,聚焦准确的图片。但是如果图片具有有较小方差,那么它就有较窄的频响范围,意味着图片中的边缘数量很少。正如我们所知道的,图片越模糊,其边缘就越少。2、PaperAnalysis of focus measure operators for shape-from-focus3、codeimport cv2def

2022-05-16 12:36:15 894

原创 利用傅里叶变换获取低频和高频部分图像

1、高频、低频图像的获取步骤:图像转换为单通道、浮点数傅里叶变换傅里叶平移:使低分集中在中间制作mask,过滤出低频、高频逆傅里叶平移逆傅里叶变换计算绝对值,恢复至[0,255],uint82、滤波器(mask)的选择振铃效应在时域中使用矩形函数的滤波器会导致在频域中的涟波,其原因就如同Sinc滤波器(在频域中为矩形函数)在时域中产生的涟波一样;在这两个例子中,矩形函数的傅立叶变换就是Sinc函数。3、code# -*- coding: utf-8 -*-import c

2022-05-16 12:13:10 4189 4

原创 ubuntu上安装微信

1/基本操作情况如下链接2/微信下载位置如下链接

2022-04-06 18:45:54 895

原创 如何删除需要管理员权限才能删除的文件夹

制作一个管理员授权的文件,把这个文件加入注册表步骤:①打开记事本②复制下面代码至记事本③修改文本后缀名为.reg④右键需要删除的文件,选择管理员运行,成功之后,可以直接删除。Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT*\shell\runas]@=“管理员授权”“NoWorkingDirectory”=""[HKEY_CLASSES_ROOT*\shell\runas\command]@=“cmd.exe /c take

2020-11-03 20:50:44 1224 1

原创 电脑快速复制粘贴大文件

方法:利用系统命令符快速复制大文件的方法,打开cmd系统命令符: copy 磁盘盘符:\文件名称.后缀名

2020-10-08 15:46:23 1776

原创 二维码定位

参考链接:https://www.cnblogs.com/yuanchenhui/p/opencv_qr.htmlhttps://blog.csdn.net/weixin_41585327/article/details/84438290?utm_medium=distribute.pc_relevant.none-task-blog-utm_term-1&spm=1001.2101.3001.4242https://www.cnblogs.com/stq054188/p/11963517.h

2020-09-15 11:42:22 267

原创 codeblocks+opencv4.3.0+opencv_contrib4.3.0+cmake3.17.3编译

避免编译报错流程:1、注释掉下载程序,避免网速不稳定造成的报错①打开opencv-4.3.0\sources\3rdparty\ffmpeg\ ffmpeg.cmake文档,注释以下下载程序内容。打开opencv-4.3.0\sources\3rdparty\ippicv\ ippicv.cmake文档,注释下载程序内容。打开opencv_contrib-4.3.0\modules\xfeatures2d\cmake\ download_boostdesc.cmake文档,注释下载程序内容。打开

2020-08-18 22:12:05 263 1

原创 通过命令行参数argc、argv减少程序build-run的重复过程

问题:在调试程序时,经常会因为要修改某个参数而重复的编译执行程序观测结果?解决方法:步骤1:按Win+R键,输入 cmd 进入控制台;步骤2:通过命令行模式进入包含 .exe应用程序的文件夹;例如该文件路径为F:\template\bin\Release\template.exe步骤3:在本文中template.exe后面填写要输入修改的参数,用空格隔开,有些参数本身需要带空格的使用双引号表示,防止空格被系统误读。步骤4:按回车,即可执行程序。本文测试代码:#include <io

2020-07-21 00:02:48 91

原创 QT creator+opencv+opencv_contrib编译配置和使用

一、材料1、系统Win7 64位2、qt-opensource-windows-x86-5.9.5.exe  下载地址3、opencv3.4.0  下载地址  选择下载source code(zip)格式4、opencv_contrib3.4.0  下载地址  选择下载zip格式5、cmake-3.13.0-rc3-win64-x64.msi  下载地址注:文章使用opencv3...

2020-01-08 14:46:13 2023 3

原创 opencv角点检测

一、简介1.1 什么是角点?通常我们认为三角形有3个角点,矩形有4个角点,角点是两条边的交点;在图像中,角点是有某些特征的图像点,有坐标,代表着一些局部极值。1.2 图像上的像素点?1、边缘点 2、角点 3、平坦区域1.3 原理: 在图像上某一点在任意方向的一个微小变动都会引起很大的灰度变化,这就是角点。二、常见的角点检测算法—Harris角点检测2.1 Harris函数API...

2019-12-12 16:30:50 403

原创 opencv模板匹配

一、模板匹配简介1.1 模板匹配就是在整个图像区域发现与给定子图像匹配的小块区域。1.2 条件: 模板匹配首先要有一个模板(给定的子图像),需要一个待检测的原图像。1.3 工作方法: 在待检测图像上,从左到右,从上到下,计算模板图像与重叠子图像的匹配度,匹配度越大,两者相同的可能性越大。二、匹配算法六种常见算法: 其中(x′,y′)({x}&#x27;,{y}&#x27;...

2019-12-05 17:32:31 133

原创 opencv学习笔记:归一化normalize()、深度转换convertTo()、找最大最小值及其坐标minMaxLoc()

一、归一化介绍–normalize()1、API介绍void normalize( InputArray src, InputOutputArray dst, double alpha = 1, double beta = 0, int norm_type = NORM_L2, int dtype = -1, InputArray mask = noArray(...

2019-12-05 17:31:52 1500

原创 opencv学习笔记:直方图(histogram)

一、直方图的理解  直方图就是对数据的统计图,比如最常使用的灰度图像直方图就是对灰度图像的像素值进行频率统计,按照一定的顺序绘制的图,横坐标是像素值,纵坐标是像素值出现的频率。缺点是会丢失像素的位置信息。  通常对图像的亮度、梯度、像素值、方向等都可以进行直方图绘制。二、直方图均衡化----equalizeHist()2.1 介绍  直方图均衡化是通过拉伸像素强度分布范围来增强图像对比...

2019-12-05 17:02:35 993

原创 opencv学习笔记:多通道分离与混合split()、merge()以及其他通道处理方法

一、作用  在图像处理过程中需要对图像某一个通道进行单独处理时可以使用split()、merge()函数。二、API介绍2.1 split()函数两种函数原型:void split(const Mat& src, Mat* mvbegin);void split(InputArray m, OutputArrayOfArrays mv); (常用)参数介绍:参数1:填多...

2019-12-03 16:55:40 721

原创 UltraISO软碟通制作U盘启动盘

UltraISO安装过程:一直确认就行UltraISO注册信息:简体中文版专用注册名:Guanjiu 注册码:A06C-83A7-701D-6CFC多语言版本专用Name:Home key:4BA9-0D54-214A-C938制作U盘启动盘:1、双击软件,选择文件----打开2、选中系统.ios安装包文件加载进去后的样子:3、将U盘插入,选择启动----写入硬盘映像,再...

2019-09-28 22:42:42 224

原创 win7去掉桌面快捷方式小箭头

操作步骤:1、在桌面右键新建一个文本文档2、复制一下代码到新建的文本文档中(注意格式一致)reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Icons" /v 29 /d "%systemroot%\system32\imageres.dll,196" /t reg_sz ...

2019-08-29 14:32:59 371

原创 opencv边界处理

一、简介  图像卷积或者相关操作的时候,边界像素不能计算,因为没有完全和内核模板完全重合,所以当是3*3的模板时,最外的一层边界没被处理;5*5的模板有两层边界没被处理,可以通过在开始前增加边界外层的像素,卷积处理了边界像素后再去除多的像素。二、函数API2.1 copyMakeBorder()函数: void copyMakeBorder(InputArray src, OutputA...

2019-07-12 17:13:31 562

原创 opencv腐蚀与膨胀及高级形态转换

一、腐蚀与膨胀原理都是只对图像中的高亮区域(白色)作用1.1、腐蚀原理:模板系数均为1,进行最小值滤波,就是将模板对应的最小值设置为中心点的值。1.2、膨胀原理:模板系数均为1,进行最大值滤波,就是将模板对应的最大值设置为中心点的值1.3、作用:消除噪声;分割出独立的图像元素,或者在图像中连接相邻元素;寻找图像中明显的极大值或极小值区域;求出图像梯度二、函数API均支持就地操作2.1...

2019-07-11 17:30:06 502

原创 opencv关于图像深度转换的一点理解

常用图像深度如下:图像类型数据类型字节取值范围显示范围CV_8Uunsigned char10~2550~255CV_8Schar1-128~127-128~128CV_16Uunsigned short20~655350~65535CV_16Sshort2-32768~32767-32768~32767CV_32...

2019-07-09 18:48:27 2103

原创 opencv非线性滤波--中值、双边滤波

一、中值滤波的原理中值滤波的内核系数全是1,通过对模板系数对应的图像像素进行统计排序,找到中值,能够很好地排除掉较大或较小的噪声,例如椒盐噪声(形象的说就是在图像中的一些黑、白点),脉冲噪声等。缺点:统计排序时间较长二、中值滤波APIvoid medianBlur( InputArray src, OutputArray dst, int ksize );参数src:当ksize为3...

2019-07-04 11:32:36 250

原创 opencv高斯滤波原理

一.高斯滤波原理1、一维高斯分布:2、二维高斯分布:3、高斯滤波一般使用的*二维零均值*的高斯分布函数,通过高斯分布函数求出模板系数,例如一个3*3的模板:以模板的中心位置为坐标原点进行取样,其中模板各个坐标位置如下图,x轴水平向右,y轴垂直向下,(x,y)表示4、将各个位置的坐标代入二维零均值高斯分布函数,计算出来的模板有两种形式:整数模板和小数模板,可以使用二维数组来存放计算出...

2019-07-03 10:00:54 1455

原创 opencv霍夫直线检测

一.直线与极坐标的关系直线:y = (- cosθ / sinθ) * x + (r / cosθ)极坐标:r = x₁ * cosθ + y₁ * sinθ每一个直角坐标系上的点对应一个极坐标方程,将这个点映射到由 r–θ表示的霍夫空间,每个点对应一条曲线,在霍夫空间中当多条曲线相交于一点(r, θ)时,说明直角坐标系上的这些点都经过了由(r, θ)所表示的这条直线,所以属于同一条直线上...

2019-06-30 16:16:43 350

原创 opencv阈值化处理

一.图像阈值化作用:1.对图像中的像素做一个取舍,剔除一些高于或低于阈值的像素,可实现噪声滤波处理。2.阈值作为最简单的图像分割方法,是基于图像中物体与背景的灰度差异;通过阈值与图像中的每一个像素值相比较,一旦找到要分割的物体,可以将物体与背景设置成一些特定值来增强图像的对比度效果。(比如将物体像素设置成0,背景设置成255)二. 固定阈值化操作:threshlod()函数对单通道图像进行...

2019-06-28 14:34:10 490

原创 opencv计算特征值和特征向量用于角点检测

void cornerEigenValsAndVecs( InputArray src, OutputArray dst, int blockSize, int ksize, int borderType = BORDER_DEFA...

2019-06-21 20:24:06 498

原创 opencv中 inputarray,outputarray,inputarrayofarrays的关系

opencv源码的定义:typedef const _InputArray& InputArray;typedef InputArray InputArrayOfArrays;typedef const _OutputArray& OutputArray;typedef OutputArray OutputArrayOfArrays;typedef const _Inpu...

2019-06-20 18:35:00 1839

原创 opencv寻找轮廓--绘制轮廓---轮廓层级原理

流程:原图转灰度图—灰度图转二值图—(滤波)—找轮廓void findContours( InputOutputArray image, OutputArrayOfArrays contours, OutputArray hierarchy, int mode, int met...

2019-06-20 10:58:02 1882 1

原创 opencv中图像模糊--线性滤波

三种线性滤波:1.方框滤波void boxFilter( InputArray src, OutputArray dst, int ddepth, Size ksize, Point anchor = Point(-1,-1), bool normalize = true, ...

2019-06-18 11:23:58 224

原创 opecv绘制多边形

1.绘制填充凸多边形① void fillConvexPoly(InputOutputArray img, InputArray points, const Scalar& color, int lineType = LINE_8, int shift = 0...

2019-06-17 22:44:48 146

原创 opencv给图像添加文字

void putText( InputOutputArray img, const String& text, Point org, int fontFace, double fontScale, Scalar color, int thickness = 1, int lineType =...

2019-06-17 21:04:25 4864

原创 opencv绘制几何形状

1.绘制线void line(InputOutputArray img, Point pt1, Point pt2, const Scalar& color, int thickness = 1, int lineType = LINE_8, int shift = 0);参数shift:表示坐标缩小倍数,当shift = 1,缩小一倍;sh...

2019-06-17 18:13:50 110

原创 opencv中的加减乘除运算

参数介绍: src1与src2要有相同的大小和通道数,当深度不一致时,输出图像要明确指定深度 参数mask都是在计算完成后最后进行计算的, 参数dtype可以自己设置深度,当dtype = -1,表示输出图像的深度与原图相同;1.加法void add(InputArray src1, InputArray src2, OutputArray dst, ...

2019-06-17 16:42:39 1888

原创 opencv中src.copyTo(dst, mask)和mask的原理

模板只需要和原图有相同的大小,在位置(x,y)时,如果mask的像素值不等于0,则dst(x,y) = src(x,y);如果mask的像素值等于0,则dst(x,y) = 0;(对于三通道的彩色图也适用)src.copyTo(dst, mask)是原图与模板进行运算后得到的结果拷贝给dst...

2019-06-17 11:08:28 2740

原创 opencv中的按位(bitwise)运算及模板(mask)理解

bitwise的四种运算:按位与,按位或,按位异或,按位非比如:128 = 1000 0000 ,按位非之后是0111 1111 = 127,图像上这个位置的像素值就从128变成了127void bitwise_and(InputArray src1, InputArray src2,OutputArray dst, InputArray mask = noArray());void bi...

2019-06-17 10:58:42 3843

原创 函数传参数时,const string&和 const string 的区别

const string 是值传递const string& 是引用传递值传递:是将要传递的值复制一遍传过来,也就是将实参拷贝到形参处,形成实参的副本,在修改副本的时候实参是不会有任何变化的,如果实参数据过大,那么对时间和空间的消耗会很大引用传递:是将实参的地址拷贝到形参处,像指针一样,修改形参的内容,实参也会改变,地址所用占得内存较小,资源消耗较小一般使用引用传递比较快捷方便...

2019-06-14 17:06:59 13965

原创 opencv中BGR2GRAY的转换原理以及GRAY2BGR显示灰色原理

RGB是三通道彩色图,在矩阵(图像)中的顺序是B,G,R;GRAY是单通道灰度图COLOR_BGR2GRAY的原理:GRAY = B * 0.114 + G * 0.587 + R * 0.299COLOR_GRAY2BGR的原理:R = G = B = GRAY; A = 0;而R,G,B相等时,图像会显示为灰值,不相等时颜色会偏向于较大的基色;...

2019-06-14 13:26:14 24436

原创 opencv中的浅拷贝和深拷贝

赋值操作和拷贝构造函数是浅拷贝,仅复制矩阵头部分,指向同一块矩阵数据clone(),copyTo()为深拷贝,同时复制矩阵头和矩阵数据

2019-06-11 10:53:01 178

原创 opencv 通过指针访问图像像素值,控制台输出为空的问题

由于控制台输出时将像素值当作字符型输出,只要进行类型强制转换就可以输出正确的数值

2019-06-10 17:52:37 391

11十分非常好用的源码

11十分非常好用的源码

2022-03-24

office2013卸载工具

这个工具主要用来安全的卸载office2013,轻松扫除电脑卸载垃圾,主要适合于联想电脑使用。

2019-01-08

空空如也

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

TA关注的人

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