08 2019 档案

摘要:已启动生成: 项目: test, 配置: Debug x64 1> test.cpp1>e:\vs2015opencv\opencv3.2\opencv\build\include\opencv2\core\mat.hpp(2586): warning C4819: 该文件包含不能在当前代码页(93 阅读全文
posted @ 2019-08-31 09:59 浮沉沉浮 阅读(379) 评论(0) 推荐(0)
摘要:参考:opencv-图像类型、深度、通道 通道表示每个点能存放多少个数,例如RGB彩色图像中每个像素点存放三个值,即3通道的 图像中像素点占得bit位数,就是图像的深度,比如:二值图像:图像的像素点不是0 就是1 (图像不是黑色就是白色),图像像素点占的位数就是 1 位,图像的深度就是1,也称作位图 阅读全文
posted @ 2019-08-30 16:02 浮沉沉浮 阅读(6227) 评论(0) 推荐(0)
摘要:可参考:图像类型 彩色图像、灰度图像、二值图像和索引图像区别 阅读全文
posted @ 2019-08-30 15:39 浮沉沉浮 阅读(1031) 评论(0) 推荐(0)
摘要:图像的数字化就是把一幅图像分割成一个个小的单元区域(叫做像元或者像素),这些单个的像素可以单个的用一个量化的区域来表示,灰度用整数来表示,形成一个阵列式的图像,每个像素的属性包含位置灰度/颜色,数字化包含采样和量化两个过程。 数值图像如何表示的? 黑白图像:每个像素只能是黑白,没有中间的过渡,故又称 阅读全文
posted @ 2019-08-30 15:30 浮沉沉浮 阅读(2969) 评论(0) 推荐(1)
摘要:最近在linux下安装qt;发现主要的问题是qt的版本问题;下面来谈谈各个版本的理解 Qt 的版本是按照不同的图形系统来划分的,目前分为五个版本: qt-everywhere-opensource-src-这个版本应该是最新的embedded-linux版本,我不知道理解的对不对,没有搜索到对应的内 阅读全文
posted @ 2019-08-29 08:50 浮沉沉浮 阅读(672) 评论(0) 推荐(0)
摘要:安装教程网上有很多,可参考:Ubuntu14.04(64位)下gcc-linaro-arm-linux-gnueabihf交叉编译环境搭建 但是我的问题一直是路径搭好了,就是找不到文件;反复查找,花了两个小时,下面简要说明一下相关问题和解决我的解决方法: 第一种:profile中路径错误? 在编译器 阅读全文
posted @ 2019-08-27 20:52 浮沉沉浮 阅读(812) 评论(0) 推荐(0)
摘要:arm-linux-gnueabihf-gcc下载 qt下载 arm-linux下qt + opencv开发环境的搭建(Altera DE1 Soc) Ubuntu 16.04 安装QT arm嵌入式linux qt入门问答,很经典!! 编译器安装位置和查看: qt下载安装: 下载地址:http:/ 阅读全文
posted @ 2019-08-27 10:50 浮沉沉浮 阅读(1062) 评论(0) 推荐(0)
摘要:u盘突然拔出笔记本再次插入时不显示; 解决方法:我的电脑-设备管理器-其他设备(你的U盘驱动)-卸载 再重新插上去,即可显示 阅读全文
posted @ 2019-08-26 19:51 浮沉沉浮 阅读(1032) 评论(0) 推荐(0)
摘要:搭建交叉编译环境,即安装、配置交叉编译工具链。在Ubuntu环境下编译出嵌入式Linux系统所需的操作系统、应用程序等,然后再上传到目标机上。 交叉编译工具链是为了编译、链接、处理和调试跨平台体系结构的程序代码。对于交叉开发的工具链来说,在文件名称上加了一个前缀,用来区别本地的工具链。例如,arm- 阅读全文
posted @ 2019-08-26 18:03 浮沉沉浮 阅读(1070) 评论(0) 推荐(0)
摘要:1、选择:文件->新建->项目->搜索“QT”->Qt GUI Application,输入工程名,下一步…进行新建。 选择依赖的模块:最基础的QtCore、QtGui、QtWidgets还有一些音/视频、网络、数据库、XML、OpenGl相关的模块,需要使用的直接勾选即可。 选择QtGuiAppl 阅读全文
posted @ 2019-08-26 11:30 浮沉沉浮 阅读(1041) 评论(0) 推荐(0)
摘要:下载Qt5.7.0安装包(qt-windows-opensource)与Qt插件(Visual Studio Add-in) 安装完成Visual Studio Add-in之后,Visual Studio就会出现相应的Qt选项! qt安装教程: QT入门安装篇+helloworld 配置开发环境 阅读全文
posted @ 2019-08-26 09:43 浮沉沉浮 阅读(5161) 评论(0) 推荐(0)
摘要:基础的一般实验:01001(现在用的)或10010 马上换linux,做个记录; sd卡启动linux系统时,启动开关0至4位拨至00000 阅读全文
posted @ 2019-08-13 20:28 浮沉沉浮 阅读(182) 评论(0) 推荐(0)
摘要:1.计算Hog的特征得维度: 这是一个很简单的代码; 相关函数可参考:HOG:从理论到OpenCV实践 setSVMDetector 函数 (1)作用:设置线性SVM分类器的系数 (1)作用:设置线性SVM分类器的系数 (2)函数原型:C++: void gpu::HOGDescriptor::se 阅读全文
posted @ 2019-08-13 19:42 浮沉沉浮 阅读(353) 评论(0) 推荐(0)
摘要:#include<opencv2/opencv.hpp>#include<opencv2/highgui.hpp> using namespace cv;using namespace std; int main(){ Mat srcImage1 = imread("E:\\VS2015Opencv 阅读全文
posted @ 2019-08-13 13:31 浮沉沉浮 阅读(1882) 评论(0) 推荐(0)
摘要:Hog模块划分: 首先明确几个概念,下图中: image:整幅图片;win窗体:蓝色部分;block:红色部分;cell:红色部分中的四个绿色部分; Dalal提出的Hog特征提取的过程:把样本图像分割为若干个像素的单元(cell),把梯度方向平均划分为9个区间(bin),在每个单元里面对所有像素的 阅读全文
posted @ 2019-08-13 10:53 浮沉沉浮 阅读(724) 评论(0) 推荐(0)
摘要:我这里用的是已经训练好的haar级联分类器。 眼睛检测 haarcascade_eye_tree_eyeglasses.xml 人脸检测 haarcascade_frontalface_alt2.xml检测思路:先把图片转为灰度,接着将图片直方均匀化,在上面处理后的图片矩阵中检测脸的区域,然后把脸这 阅读全文
posted @ 2019-08-12 20:50 浮沉沉浮 阅读(866) 评论(6) 推荐(0)
摘要:Haar分类器使用AdaBoost算法,但是把它组织为筛选式的级联分类器,每个节点是多个树构成的分类器,且每个节点的正确识别率很高。在任一级计算中,一旦获得“不在类别中”的结论,则计算终止。只有通过分类器中所有级别,才会认为物体被检测到。这样的优点是当目标出现频率较低的时候(即人脸在图像中所占比例小 阅读全文
posted @ 2019-08-12 15:59 浮沉沉浮 阅读(2284) 评论(0) 推荐(0)
摘要:突然出现这个问题,这是麻烦; 网上找了各种办法:什么软件修复,disk等修复,创建新磁盘,新扇到,win自动修复啊:开始 运行框中输入 :convert X: /fs:FAT(X为电脑显示的盘符。。。。)这些浪费时间而且都没有成功 解决办法:下载sd卡量产工具,点击恢复卡就成功了; 软件下载:htt 阅读全文
posted @ 2019-08-12 13:50 浮沉沉浮 阅读(2443) 评论(0) 推荐(0)
摘要:最简单的利用特征区分目标就是使用阈值判决。 那好,先解决什么是Haar特征 上面蓝色背景代表(目标)定义图片,黑白特征是harr特征; 将当前的黑白模板放到图像的任意位置上,假设模板大小为10x10矩阵,覆盖100个像素大小,黑色50个像素点,白色50个像素点; 则:将白色区域在目标图片上所得的50 阅读全文
posted @ 2019-08-12 11:05 浮沉沉浮 阅读(1547) 评论(0) 推荐(0)
摘要:(1)加载视频 (2)读取视频信息 (3)解码视频,拿到单帧信息 帧率:视频每秒钟展示多少张图片;帧率高我们看到的图片才是连续的;帧率低我们看到的图片就相当于非连续的; 宽度;高度 接下来是视频保存成图片;用i计数,保存图片个数; flag,frame=cap.read() 第一个参数flag的值为 阅读全文
posted @ 2019-08-12 10:04 浮沉沉浮 阅读(1524) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2019-08-11 18:04 浮沉沉浮 阅读(6) 评论(0) 推荐(0)
摘要:在图像处理和与计算机视觉领域,兴趣点(interest points),或称作关键点(keypoints)、特征点(feature points) 被大量用于解决物体识别,图像识别、图像匹配、视觉跟踪、三维重建等一系列的问题。我们不再观察整幅图,而是选择某些特殊的点,然后对他们进行局部有的放矢的分析 阅读全文
posted @ 2019-08-10 16:39 浮沉沉浮 阅读(1286) 评论(0) 推荐(0)
摘要:官网:borderInterpolate borderInterpolate 函数原型 int borderInterpolate( int p, int len, int borderType ); 源码在filter.cpp中 功能 根据不同的外插方法(borderType),如 BORDER_ 阅读全文
posted @ 2019-08-10 16:13 浮沉沉浮 阅读(1244) 评论(0) 推荐(0)
摘要:利用cvtColor 进行灰度转换时,不能将 灰度图 转为灰度图,所以在转换前,需对原始图像进行判断。 将这个改成以下 完整代码: 阅读全文
posted @ 2019-08-10 11:21 浮沉沉浮 阅读(4429) 评论(0) 推荐(0)
摘要:首先插入摄像头 在电脑中查看 最开始电脑配置的opencv2.x版本,上述代码打开摄像头没有问题;后来使用opencv3.x版本,重新编译了contrib包,发现摄像头打开后一闪而过。 原因是 waitkey() 如果不按键的时候是返回 oxff,oxff无符号时是255,有符号时是-1。windo 阅读全文
posted @ 2019-08-09 15:25 浮沉沉浮 阅读(755) 评论(0) 推荐(0)
摘要:代码解析: 关于视频读取函数:opencv视频操作基础 VideoCapture类 VideoCapture capture; capture.open("E:\\Workspace\\OpenCV\\test\\video\\video.avi"); 上面代码是读取本地视频,下面代码与上面代码类似 阅读全文
posted @ 2019-08-08 20:59 浮沉沉浮 阅读(822) 评论(0) 推荐(0)
摘要:argc 是 argument count的缩写,表示传入main函数的参数个数; argv 是 argument vector的缩写,表示传入main函数的参数序列或指针,并且第一个参数argv[0]一定是程序的名称,并且包含了程序所在的完整路径,所以确切的说需要我们输入的main函数的参数个数应 阅读全文
posted @ 2019-08-08 20:29 浮沉沉浮 阅读(1219) 评论(0) 推荐(1)
摘要:现在找一个能拍摄视频的设备真是太容易了。结果大家都用视频来代替以前的序列图像。视频可能由两种形式得到,一个是像网络摄像头那样实时视频流,或者由其他设备产生的压缩编码后的视频文件。幸运的是,OpenCV可以使用相同的C++类、用同一种方式处理这些视频信息。在接下来的教程里你将学习如何使用摄像头或者视频 阅读全文
posted @ 2019-08-08 20:01 浮沉沉浮 阅读(5548) 评论(0) 推荐(0)
摘要:需要用opencv对视频的处理,也碰到了一些问题。 最常见的就是视频一闪而过了,在网上查了好久都没解决,就是运行程序不报错;程序“[7560] mode.exe”已退出,返回值为 先说明我用的是vs2015+opencv(),c++编程; 查了接近几个小时;最后终于解决; 大家可以在这个网址上看看视 阅读全文
posted @ 2019-08-08 19:52 浮沉沉浮 阅读(637) 评论(0) 推荐(0)
摘要:我们只分析关于滑动条的那段代码: #.首先, 我们加载了两个图像, 目的是把它们混合显示. src1 = imread("../../images/LinuxLogo.jpg"); src2 = imread("../../images/WindowsLogo.jpg"); src1 = imrea 阅读全文
posted @ 2019-08-08 10:00 浮沉沉浮 阅读(389) 评论(0) 推荐(0)
摘要:严格来讲矩是概率与统计中的一个概念,是随机变量的一种数字特征。设 x 为随机变量,C为常数,则量E[(x−c)^k]称为X关于C点的k阶矩。比较重要的两种情况如下: 1.c=0,这时a_k=E(X^k)称为X的k阶原点矩; 2.c=E(X),这时μ_k=E[(X−EX)^k]称为X的k阶中心矩 一阶 阅读全文
posted @ 2019-08-08 09:30 浮沉沉浮 阅读(9189) 评论(0) 推荐(0)
摘要:凸包跟多边形逼近很像,只不过它是物体最外层的"凸"多边形:集合A内连接任意两个点的直线都在A的内部,则称集合A是凸形的。如下图,红色的部分为手掌的凸包,双箭头部分表示凸缺陷(Convexity Defects),凸缺陷常用来进行手势识别等; 阅读全文
posted @ 2019-08-07 14:50 浮沉沉浮 阅读(510) 评论(0) 推荐(0)
摘要:opencv中提供findContours()函数来寻找图像中物体的轮廓,并结合drawContours()函数将找到的轮廓绘制出。首先看一下findContours(),opencv中提供了两种定义形式 官网:https://docs.opencv.org/3.3.1/d3/dc0/group__ 阅读全文
posted @ 2019-08-07 11:07 浮沉沉浮 阅读(2600) 评论(0) 推荐(0)
摘要:昨天学习力一下模板匹配函数的调用,但是没有细究,今天再看程序时:发现一个问题: 这里g_nMatchMethod是需要与匹配方法作比较,而g_nMatchMethod确是数字,这是输出的结果; 之后转到定义里面: 发现了这个,也就是说0,1,2等数字已经定义好了,代表的各自的方法,具体的传递是怎么做 阅读全文
posted @ 2019-08-07 10:26 浮沉沉浮 阅读(439) 评论(0) 推荐(0)
摘要:模板匹配是一项在一-幅图像中寻找与另一幅模板图像最匹配(相似)部分的技术。在OpenCV2和OpenCV3中,模板匹配由MatchTemplate()函数完成。需要 注意,模板匹配不是基于直方图的,而是通过在输入图像上滑动图像块,对实际的图像块和输入图像进行匹配的一种匹配方法。 模板匹配的工作方式 阅读全文
posted @ 2019-08-06 21:24 浮沉沉浮 阅读(3332) 评论(0) 推荐(0)
摘要:直方图 直方图是对数据的集合 统计 ,并将统计结果分布于一系列预定义的 bins 中。 这里的 数据 不仅仅指的是灰度值 , 统计数据可能是任何能有效描述图像的特征。 先看一个例子吧。 假设有一个矩阵包含一张图像的信息 (灰度值 ): 直方图对比可查看:直方图对比¶ #include "opencv 阅读全文
posted @ 2019-08-06 14:38 浮沉沉浮 阅读(1363) 评论(0) 推荐(0)
摘要:什么是反向投影? 反向投影是一种记录给定图像中的像素点如何适应直方图模型像素分布的方式。 简单的讲, 所谓反向投影就是首先计算某一特征的直方图模型,然后使用模型去寻找图像中存在的该特征。 例如, 你有一个肤色直方图 ( Hue-Saturation 直方图 ),你可以用它来寻找图像中的肤色区域: 实 阅读全文
posted @ 2019-08-06 14:21 浮沉沉浮 阅读(1018) 评论(0) 推荐(0)
摘要:OpenCV实践之路——使用imread()函数读取图片的六种正确姿势 opencv里的argv[1]指向的文件在哪里 测试 阅读全文
posted @ 2019-08-06 10:38 浮沉沉浮 阅读(4946) 评论(0) 推荐(0)
摘要:使用OpenCV函数 findContours 使用OpenCV函数 drawContours 阅读全文
posted @ 2019-08-05 21:02 浮沉沉浮 阅读(288) 评论(0) 推荐(0)
摘要:什么是仿射变换? 一个任意的仿射变换都能表示为 乘以一个矩阵 (线性变换) 接着再 加上一个向量 (平移). 综上所述, 我们能够用仿射变换来表示: 你现在可以知道, 事实上, 仿射变换代表的是两幅图之间的 关系 . 我们通常使用 矩阵来表示仿射变换. 考虑到我们要使用矩阵 和 对二维向量 做变换, 阅读全文
posted @ 2019-08-05 20:55 浮沉沉浮 阅读(822) 评论(0) 推荐(0)
摘要:重映射是什么意思? 把一个图像中一个位置的像素放置到另一个图片指定位置的过程. 为了完成映射过程, 有必要获得一些插值为非整数像素坐标,因为源图像与目标图像的像素坐标不是一一对应的. 我们通过重映射来表达每个像素的位置 : 这里 是目标图像, 是源图像, 是作用于 的映射方法函数. 把一个图像中一个 阅读全文
posted @ 2019-08-05 20:27 浮沉沉浮 阅读(381) 评论(0) 推荐(0)
摘要:上篇博客:霍夫变换(直线检测、圆检测)中谈到关于霍夫变换的原理,但是没有谈到具体实现; 具体的实现如下图: 如下图,假定在一个8*8的平面像素中有一条直线,并且从左上角(1,8)像素点开始分别计算θ为0°、45°、90°、135°、180°时的ρ,图中可以看出ρ分别为1、(9√2)/2、8、(7√2 阅读全文
posted @ 2019-08-05 19:36 浮沉沉浮 阅读(5139) 评论(0) 推荐(2)
摘要:可以看出如果笛卡尔坐标系的点共线,这些点在霍夫空间对应的直线交于一点:这也是必然,共线只有一种取值可能。 如果不止一条直线呢?再看看多个点的情况(有两条直线): 在opencv中步骤解读: 具体步骤: 1. 彩色图像->灰度图 2. 去噪(高斯核) 3. 边缘提取(梯度算子、拉普拉斯算子、canny 阅读全文
posted @ 2019-08-05 15:58 浮沉沉浮 阅读(8006) 评论(0) 推荐(1)
摘要:给出梯度的一些参考博客 导数、梯度和极值 图像梯度的基本原理:https://blog.csdn.net/saltriver/article/details/78987096 数字图像的梯度概念(the gradient of the image):https://blog.csdn.net/su_ 阅读全文
posted @ 2019-08-04 21:23 浮沉沉浮 阅读(745) 评论(0) 推荐(0)
摘要:函数原型 具体参数解析 加入噪声 参考博文:https://blog.csdn.net/i_chaoren/article/details/54562502 阅读全文
posted @ 2019-08-04 16:59 浮沉沉浮 阅读(421) 评论(0) 推荐(0)
摘要:本编博客会谈谈图像滤波,会分别写出滤波过程和原理; 主要可分为以下两大类: 一、线性滤波 1、均值滤波blur() 2、方框滤波 boxFilter() 3、高斯滤波GaussianBlur() 二、非线性滤波 1、中值滤波medianBlur()--当滤波核尺寸大于5时,输入图像只能是CV_8U格 阅读全文
posted @ 2019-08-04 14:58 浮沉沉浮 阅读(2741) 评论(0) 推荐(0)
摘要:最近几天都在学习边缘检测,然后又学习了一些常见的算子,这里就不一一推导了,可以从前面博文中找到,也可以参考下面博文; https://blog.csdn.net/limengjuhanxin/article/details/88781774 现在主要谈谈数学知识和图像知识的总结; 上面是拉普拉斯算子 阅读全文
posted @ 2019-08-03 16:53 浮沉沉浮 阅读(705) 评论(0) 推荐(0)
摘要:在前面博客结尾,我们简要谈了一下二阶微分算子;对于图像; 从上面可以看出 图(a)表示离散拉普拉斯算子的模板,图(b)表示其扩展模板,图(c)(d)则分别表示其他两种拉普拉斯的实现模板。从模板形式容易看出,如果在图像中一个较暗的区域中出现了一个亮点,那么用拉普拉斯运算就会使这个亮点变得更亮。因为图像 阅读全文
posted @ 2019-08-03 15:04 浮沉沉浮 阅读(10306) 评论(0) 推荐(1)
摘要:上篇博客说到不同图像灰度不同,边界处一般会有明显的边缘,利用此特征可以分割图像。需要说明的是:边缘和物体间的边界并不等同,边缘指的是图像中像素的值有突变的地方,而物体间的边界指的是现实场景中的存在于物体之间的边界。有可能有边缘的地方并非边界,也有可能边界的地方并无边缘,因为现实世界中的物体是三维的, 阅读全文
posted @ 2019-08-02 17:05 浮沉沉浮 阅读(2618) 评论(0) 推荐(0)
摘要:边缘:两个具有不同灰度值的相邻区域之间总存在边缘,边缘是灰度值不连续的结果,这种不连续常可利用求导数来检测到,一般常用一阶和二阶导数来检测边缘。 如图,对于边缘检测,一般一阶导数的峰值或者二阶导数的过零点就可以找到图像灰度值变化的边界。 我们知道求导公式 但是图像是离散的,那如何求导呢? 根据上面的 阅读全文
posted @ 2019-08-02 10:09 浮沉沉浮 阅读(383) 评论(0) 推荐(0)
摘要:blur()函数可以用标准化的盒式过滤器来平滑图像。 C++ API: 相关官网资料: https://docs.opencv.org/3.4.1/d4/d86/group__imgproc__filter.html#gad533230ebf2d42509547d514f7d3fbc3 代码: 阅读全文
posted @ 2019-08-01 14:45 浮沉沉浮 阅读(400) 评论(0) 推荐(0)
摘要:边缘检测的相关原理和步骤 阅读全文
posted @ 2019-08-01 14:36 浮沉沉浮 阅读(315) 评论(0) 推荐(0)