C++
文章平均质量分 67
番茄土豆牛肉煲
一个新手,正在处于学习的阶段
展开
-
MFC记录
MFC Cstring转stringUSES_CONVERSION;string str(W2A(filePath)); //CStrig -> string原创 2020-12-21 14:20:18 · 430 阅读 · 0 评论 -
Qt Designer黑屏问题
问题提出:使用VS2015+QT5.9进行开发双击.ui文件进入Qt Designer,准备使用OpenGL Widget控件来显示图像当拖动OpenGL Widget控件到界面时,Qt Designer黑屏,如下图:之前放的好按钮等控件以及旁边的工具栏、控件栏全部被遮挡,运行代码不报错,运行完之后显示一个主窗口黑屏的界面。尝试把QT5.9换成5.12、重装vs里QT的插件依然无法解决问题。解决办法:进入nvidia控制面板将运行vs程序从集显切换成独显,问题解决.原创 2020-07-01 14:54:00 · 1473 阅读 · 1 评论 -
K-means算法
偶然接触到了K-means,在理解之后写下博客记录。首先,K-means是一种无监督学习的聚类算法。什么是聚类算法,聚类就是对大量未标注的数据集,按数据存在的内部特征特征划分为多个不同的类别。K-means算法接受参数k,然后将事先输入的n个数据划分为k个聚类。其中满足条件:同一聚类对象相似度高,不同聚类对象相似度较小。算法思想k个点为中心聚类,对靠近的对象类归类,通过迭代,逐...原创 2019-09-17 21:54:57 · 1243 阅读 · 0 评论 -
opencv学习——轮廓分析寻找近似圆
这是一张经过处理后的红灯的图像,我们需要找到其中的红灯,可以看到是两个圆,用霍夫圆之后发现其中调参非常麻烦,于是写了一个根据轮廓来分析圆的算法。算法思想:findContours()找到图像的轮廓,使用minEnclosingCircle()找到轮廓的最小包围矩形,计算轮廓上的每个点到圆心的距离和半径的差值,进行累加(简单来说就是求轮廓中每个点到圆心距离和半径的方差),当累加和小于某个值时...原创 2019-06-03 02:25:47 · 5573 阅读 · 4 评论 -
STL学习——vector的erase()
由于需要删除vector里的指定元素,所以接触到了erase()方法,写下记录#include<iostream>#include<vector>using namespace std;int main(){ int a[4] = { 1,1 ,2,3 }; //初始化向量 vector<int>vec_a(a, a + 4); //...原创 2019-05-26 22:06:31 · 315 阅读 · 0 评论 -
opencv滑动窗口createTrackbar
今天用到了createTrackbar,发现其中的回调函数onChange的两个参数(int , void*) 有点不太理解,于是查了官方文档简单描述一下什么是回调函数: 用户把一个函数指针作为参数传递给其他函数,后者将“回调”用户的函数。如果函数可以再不同的时间执行不同类型的工作或者执行只能由函数调用者定义的工作,都可以使用回调函数。回调函数无法知道比较的值的类型,所以参数的类型被声...原创 2019-04-23 16:13:31 · 575 阅读 · 1 评论 -
QT学习——QString转char*
void QStringToChar (QString qStr){ //QString 转 char* 先转成QByteArray类型 再转char* char *str = qStr.toUtf8().data();}原创 2019-01-23 11:06:48 · 363 阅读 · 0 评论 -
图像边缘理论知识
什么是图像的边缘通常,边缘上的灰度变化平缓,边缘两侧的灰度变化较快,图像的边缘一般指局部不连续的的图像特征(某个小局部不连续了,不连续就是不一致了,打个比方,比如说是蓝的,突然变白了,这时候就产生边缘了)。一般是局部亮度变化最显著的部分,所以说边缘就是变化最显著的部分,灰度值的变化,颜色分量的突变以及纹理结构的突变都可构成边缘信息。如何寻找边缘要找边缘就要找他的变化量,数据的变化量,在...原创 2018-08-17 14:47:38 · 14736 阅读 · 0 评论 -
C与C++的区别(1)
1.namespace 命名空间所谓namespace是指各种标识符可见<iostream>和<iostream.h>格式不一样,前者没有前缀,实际上,在你的编译器里include可以看到这是两个文件,打开文件发现里面的代码是不一样的,后缀.h在C++编译器中已经明确提出不支持了,C++标准为了与C区分开,为了了正确使用命名空间,规定头文件不允许后缀.h使用&l...原创 2018-08-13 13:27:51 · 217 阅读 · 0 评论 -
VS2015下文件生成动态链接库以及使用(二)
上一篇发布了.c的动态链接库生成与调用 接下来介绍一下.cpp的动态链接库生成与使用生成动态链接库1.把上篇文章创建的第一个工程里的.c重命名为.cpp 然后在__declspec(dllexport)前面加上extern "C"2. dm01.h文件同上修改,__declspec(dllexport)前面加上extern "C"3.编译后把生成的dll和lib拷贝到我...原创 2018-08-02 16:37:35 · 1140 阅读 · 0 评论 -
opencv投影分析
两个函数,一个垂直投影分析,一个水平投影分析,输入src为要分析的图像,输出dst为投影分析的结果图,返回值vector<Mat>为根据波峰波谷切割出的图形//垂直投影分析vector<Mat> GetVerticalProjection(Mat src,Mat &dst){ vector<Mat> rois; dst = Mat::ze...原创 2018-08-10 00:21:50 · 3801 阅读 · 0 评论 -
tesseract+opencv进行验证码识别
有幸接触到了tesseract,然后上网找了张验证码,直接扔给tesseract识别,发现识别不了,如下图于是使用opencv进行处理之后再用tesseract识别,结果如下图首先读入图片 Mat src = imread("test.png"); if (src.empty()) return -1; imshow("src", src);灰度转换...原创 2018-08-10 00:05:28 · 10140 阅读 · 3 评论 -
数组转Mat遇到的小问题
int b ={9558 , 3469 ,3114 ,1418, 577 , 340 , 106 ,186}; Mat B(8,1,CV_16SC1,b);结果 B= [9558 ,0, 3469 ,0 ,3114 ,0,1418,0];不是预期的 【9558 , 3469 ,3114 ,1418, 577 , 340 , 106 ,186】 ...原创 2018-07-29 11:17:52 · 803 阅读 · 0 评论 -
opencv学习——最小二乘法拟合直线
最小二乘法拟合直线概念:最小二乘法多项式直线拟合,根据给定的点,求出它的函数y=f(x),当然求得准确的函数是不太可能的,但是我们能求出它的近似曲线y=φ(x) 原理假设有点 , I = 1,2,3,……n,求近似曲线y=φ(x),并且使得y=φ(x)与y=f(x)的平方偏差和...原创 2018-07-03 10:36:46 · 35548 阅读 · 11 评论 -
opencv学习——solve()
今天在学习最小二乘法的时候遇到了solve函数,用来解线性方程 A*X=B参考官方文档bool cv::solve(InputArray src1, InputArray src2, OutputArray dst, int flags = DECOMP_LU )src1 线性系统的左侧(相当于上面的A),src2 线性系统的右侧(相当于上面的B),dst 输出的解决方案(相当于要求解的X...原创 2018-06-29 12:58:28 · 23952 阅读 · 0 评论 -
opencv学习笔记——霍夫直线变换
霍夫直线变化,前提是边缘检测已完成平面空间到极坐标空间的转换,平面坐标空间为y=kx+b,极坐标空间直线为ρ=xCosθ+ySinθ一般来说对于点(x0,y0), 可以将通过这个点的直线统一定义为 ρ0 = x0 · Cosθ+y0 · Sinθ我们定义三个点 (x0,y0) (x1,y1) (x2,y2) , 对于θ来说,我们规定在(0,180) 或者(0,360),每次不断递增,可以得到对应...原创 2018-06-08 20:27:50 · 564 阅读 · 0 评论 -
opencv学习笔记——sobel
学习sobel总结:先说下边缘,在图像上像素发生跃迁的的地方。如何捕捉边缘:对图像进行一阶求导,▲ = f(x)-f(x-1),▲的值越大,那么说明x方向边缘信号越强烈。 f(x)为图像像素值的函数图,f'(x)为f(x)的一阶导数,即当前像素减去上一个像素的差值,可以看到红圈标注的地方,即边缘信号的最大体现。但是应用到图像中我们是找不到这个函数的,在图像中不是一个准确的函数,所以使用其他方式来替...原创 2018-06-07 14:23:28 · 4419 阅读 · 0 评论 -
超级简单的VOC2007数据集制作——使用自制的VOC2007数据集制作工具
使用自制VOC2007数据集制作工具 数据集制作工具下载链接 本人win10 64位系统 操作没有问题(其他系统没有试过),在有的机子测试会出现应用程序无法正常启动0xc0000007b,请从以下几个方面排查1.创建文件夹首先创建一个名字为VOC2007的文件夹,在该文件夹下再分别创建Annotations、ImageSets、JPEGImages三个子文件夹以及一个文...原创 2018-05-18 19:40:40 · 10283 阅读 · 28 评论 -
KNN+HOG手写体数字识别
今天来介绍一下KNN+HOG手写体数字识别,首先贴出图片,这是opencv自带的一张图片,E:\opencv\opencv\sources\samples\data,在此文件夹里,我们会发现一张手写体的图片之前单纯用像素点训练,他的准确率是这样的发现准确率有点低,于是我们改用KNN+HOG来进行训练,可以看到识别数字的准确率提高了很多接下来贴出代码#include<opencv2\openc...原创 2018-03-10 15:36:53 · 1335 阅读 · 12 评论