![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
创意
翟羽嚄
这个作者很懒,什么都没留下…
展开
-
找挡板最终程序
/******************************************************************程序说明放置挡板,为了保证挡板不超过误差,更新时间:8月19日18点更新时间:8月20日16点*******************************************************************/#include "Dangban.h"extern VideoCapture cap_up;extern VideoCapture原创 2021-01-30 16:30:39 · 512 阅读 · 0 评论 -
opencv求任意两条直线交点
函数功能:求两条直线交点求两条直线交点/*函数功能:求两条直线交点*//*输入:两条Vec4i类型直线*//*返回:Point2f类型的点*/Point2f getCrossPoint(Vec4i LineA, Vec4i LineB){ double ka, kb; ka = (double)(LineA[3] - LineA[1]) / (double)(Lin...原创 2018-07-10 12:59:50 · 7860 阅读 · 4 评论 -
统计图片中黑白像素值程序
统计二值化图片白色像素点个数//统计二值化图片白色像素点个数//输入二值图像,返回白色像素点个数int bSums(Mat src){ int counter = 0; //迭代器访问像素点 Mat_<uchar>::iterator it = src.begin<uchar>(); Mat_<uchar>::it...原创 2018-07-10 12:45:01 · 5545 阅读 · 0 评论 -
opencv3找直线并求任意两条直线交点
opencv3找直线并求任意两条直线交点,并显示出来,是直线交点,因为我把线段延长了。求交点函数/*函数功能:求两条直线交点*//*输入:两条Vec4i类型直线*//*返回:Point2f类型的点*/Point2f getCrossPoint(Vec4i LineA, Vec4i LineB){ double ka, kb; ka = (double)(Line...原创 2018-07-09 20:51:21 · 8384 阅读 · 5 评论 -
程序备份——第二个摄像头找棋子
找棋子暂存程序,没有完善好,轮廓大小/*****************************************************************************************************2018.6.27:找棋子,2018.7.3 :先从找直线做起2018.7.7:畸变校正 相机内参数矩阵: [8...原创 2018-09-01 03:49:57 · 593 阅读 · 0 评论 -
svm检测结果输出预测值,svm参数优化(暂存)
参数优化:https://www.cnblogs.com/hust-yingjie/p/6582218.html概率估计:https://blog.csdn.net/u011853479/article/details/51326132原创 2018-07-01 14:52:20 · 4018 阅读 · 0 评论 -
6月29日晚笔记——任意直线检测思路、边缘问题、定位、计算夹角问题思路大合集
今天似乎有点茅塞顿开,思路见笔记(灰皮),参考文章 1、https://blog.csdn.net/qianchenglenger/article/details/20956145 2、http://lps-683.iteye.com/blog/2254857 3、http://www.cnki.com.cn/Article/CJFDTotal-GJJS201711030.htm...原创 2018-06-30 01:25:24 · 469 阅读 · 0 评论 -
OpenCV的Rect矩形类用法
//如果创建一个Rect对象rect(100, 50, 50, 100),那么rect会有以下几个功能: rect.area(); //返回rect的面积 5000 rect.size(); //返回rect的尺寸 [50 × 100] rect.tl(); //返回rect的左上顶点的坐标 [100, 50] rect.br(); //返回...原创 2018-06-08 14:40:42 · 525 阅读 · 0 评论 -
opencv3使用svm+hog训练数字
先暂时把opencv3的具有参考价值的文章放一下: 1、主要参考这个文章,但是他的是opencv2 文章名称: 使用 svm+hog 训练,检测手写数字:https://blog.csdn.net/weixin_37721518/article/details/74187127 2、这个是opencv3的,部分参考这个,也理解了一些参数如何修改https://blog.csdn.net/...原创 2018-05-31 22:35:13 · 4089 阅读 · 10 评论 -
OpenCV3中 HOGDescriptor 参数详解
最近在做数字识别,需要用一些特征检测的方法,所以研究了一下hog特征以及opencv3中的实现。 首先我们进入HOGDescriptor所在的头文件“objdetect.hpp”,擦布所在360行左右位置,看看它的构造函数需要哪些参数。 CV_WRAP HOGDescriptor() : winSize(64,128), blockSize(16,16), blockStride(8,8)...原创 2018-05-31 15:44:20 · 3160 阅读 · 0 评论 -
数字检测新思路——水平方向、垂直方向累积直方图
https://blog.csdn.net/u010429424/article/details/75390650原创 2018-06-13 22:33:45 · 1340 阅读 · 0 评论 -
opencv3冒泡排序算法
C语言排序冒泡函数输入一个一维数组和数组长度,返回排序好的数组,从大到小及从小到大,可以在函数里改/***** 冒泡排序*****/vector&lt;int&gt; bubble_sort(vector&lt;int&gt; arr, int len){ vector&lt;int&gt; return_arr(len); if (len&gt;1) {原创 2018-07-10 12:48:59 · 709 阅读 · 0 评论 -
opencv计算直线的斜率、截距,与水平线弧度值、角度值
1、输入一堆直线,返回每条直线的斜率和截距斜率和截距都是浮点型。//输入一堆直线,返回每条直线的斜率和截距//Vec2f为2个点的float,参照存储直线的数据结构vector &lt;Point2f&gt; get_lines_fangcheng(vector&lt;Vec4i&gt; lines){ float k = 0; //直线斜率 float b = 0;...原创 2018-07-10 12:56:19 · 17787 阅读 · 5 评论 -
8月8日程序备份——找挡板角度及平移误差
效果图程序/**************************************************************************************该程序功能:放置挡板* flag 1 前进* flag -1 后退* flag 2 横走右* flag -2 横走左* flag...原创 2018-09-01 03:49:22 · 390 阅读 · 0 评论 -
检测红色,并将原图中红色转化为白色
原理总共有三个重点, 1、先将红色轮廓找出来 2、判断原图中某点在不在轮廓内部 3、进行遍历和填充程序1:判断一个点是否在轮廓内的函数pointPolygonTest()的用法OpenCV函数pointPolygonTest():C++: double pointPolygonTest(InputArray contour, Point2f pt, bool meas...原创 2018-09-01 03:49:07 · 4487 阅读 · 0 评论 -
通过遍历图片找红色块范围(最小外接矩形、中点)
转HSV找红色块 for(int j=100;j<480;j+=((j-24)/76)) { #pragma omp parallel for(int i=0;i<640;i+=2) { if(imgOriginal.at<Vec3b>(j,i)[2]>RGB_R) ...原创 2018-08-06 11:37:06 · 1010 阅读 · 1 评论 -
求两条直线夹角
原理程序源码/********************************************************************************************函数功能 : 输入两条直线(每条直线以斜率和截距确定),返回两直线夹角,0为弧度,1为角度*输入参数 : line_1_k为一条直线斜率,line_2_k为另一条直线斜率,aaa为0则为...原创 2018-08-05 15:46:08 · 21231 阅读 · 2 评论 -
求点到直线距离,可以分辨点在直线左边还是右边
程序说明将直线的一般式参数求出来,然后带公式即可。 至于点在直线左边还是右边,就是看X值的大小,因此将该点Y值带入比较X值即可 点在直线上面还是下面,就是带X值,比较Y值程序源码/***** 点到直线的距离:P到AB的距离*****///P为线外一点,AB为线段两个端点,有正负,点在左边为负,右边为正float getDist_P2L_zhengfu(CvPoint po...原创 2018-08-05 15:43:37 · 4696 阅读 · 0 评论 -
求红色挡板与白色过道中轴线角度与直线误差
目的为了求挡板与白色过道中轴线角度差以及位移差,写了这个函数效果图程序#include&lt;opencv2/opencv.hpp&gt;#include &lt;opencv.hpp&gt; #include &lt;iostream&gt; #include&lt;time.h&gt;#include&lt;math.原创 2018-09-01 03:49:34 · 465 阅读 · 0 评论 -
找两条平行直线的中间直线
要求如图所示,需要找到白色过道中间直线方程,为了下一步放置挡板用,挡板中轴线与过道中轴线的误差不超过1cm。效果图程序代码****************************************************************************************/#include&lt;opencv2/opencv.hpp&gt;#inc...原创 2018-09-01 03:49:46 · 3373 阅读 · 4 评论 -
windows下opencv同时开启两个摄像头采集程序
亲测可用的代码,至于为什么把VideoCapture cap(1);//写成全局变量,方便写其他C程序VideoCapture capcap(2);Mat frame;Mat frame2;写在全局变量,是为了在其他C文件里调用 只要在其他C文件加上 extern 语句就可以了。#include<opencv2/opencv.hpp>#include<...原创 2018-07-13 11:50:25 · 4563 阅读 · 2 评论 -
通过消失点测量摄像头与平行线夹角
原理:现实中平行的直线会在照片中交于一点(完全水平的除外),通过该交点和摄像机位置的连线即可确定摄像头偏离平行线的夹角,可以参考修改为检测小车航线角(偏离车道线的夹角)。 效果图: /**************************************************************************************通过消失点测量 :航向角...原创 2018-09-01 03:48:52 · 3173 阅读 · 4 评论 -
opencv3求两点间距离以及点到直线距离函数
求两点间距离/***** 求两点间距离*****/float getDistance(CvPoint pointO, CvPoint pointA){ float distance; distance = powf((pointO.x - pointA.x), 2) + powf((pointO.y - pointA.y), 2); distance = sqrtf...原创 2018-07-10 13:02:44 · 17392 阅读 · 1 评论 -
opencv+hog训练和识别0——9数字成功的代码
今天弄出了10个的数字识别训练程序/**********************************************************************2018.5.23:SVM训练 //在 配置SVM训练器参数CvSVMParams SVM_params;这里有问题2018.5.25:1、因为例程是opencv2的,opencv3里的svm的一些声明格...原创 2018-09-01 03:51:26 · 2804 阅读 · 16 评论 -
dl相关思路——字符识别
1、机器学习初学者—手把手教你做数字图像识别:Kaggle—Digit Recognizerhttps://blog.csdn.net/josephpai/article/details/78898003 2、[DL]3.基于CNN的手写数字识别https://blog.csdn.net/android_ruben/article/details/77646430 3、DL的图像识别、语音识别...原创 2018-05-29 22:48:36 · 660 阅读 · 0 评论 -
使用 svm+hog 训练,检测自然场景数字
这两天看的参考文章: https://blog.csdn.net/weixin_37721518/article/details/74187127 https://blog.csdn.net/candyforever/article/details/8564746原创 2018-05-29 22:45:06 · 1065 阅读 · 0 评论 -
图像识别与处理基础知识——矩形度
首先上一张图:矩形度体现物体对其外接矩形的充满程度,反映一个物体与矩形相似程度的一个参数 是矩形拟合因子。 其中,S0是该物体的面积,而SMER是其最小外接矩形的曲积。R反映了一个物体对其的充满程度。对于矩形物体R取得最大值1,对于圆形物体R取值为 ,对于纤细、弯曲的物体R取值变小。矩形拟合因子的值为0~1。另一个与形状有关的特征是长宽比: 它是最小外接矩形的宽与长的比值...原创 2018-05-21 17:39:27 · 11469 阅读 · 1 评论 -
SVM学习笔记——SVM解决多分类问题的方法
SVM解决多分类问题的方法SVM算法最初是为二值分类问题设计的,当处理多类问题时,就需要构造合适的多类分类器。目前,构造SVM多类分类器的方法主要有两类:一类是直接法,直接在目标函数上进行修改,将多个分类面的参数求解合并到一个最优化问题中,通过求解该最优化问题“一次性”实现多类分类。这种方法看似简单,但其计算复杂度比较高,实现起来比较困难,只适合用于小型问题中;另一类是间接法,主要是通过组合多...原创 2018-05-25 15:28:08 · 11918 阅读 · 0 评论 -
刘家伟程序备份1(主要参考点:分割部分以及保存,在图片上显示数字)
今天成功代码暂存。该程序实现了轮廓检测,矩形分割出轮廓,模板匹配后,并显示数字主函数#include "stdafx.h"#include &lt;cv.h&gt; #include "putText.h"#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgpro原创 2018-05-20 16:03:37 · 358 阅读 · 0 评论 -
最后写报告相关
一、常规图像识别遇到的问题图像分类问题的挑战 虽然从图像中识别一个对象对人类来说非常的简单, 但图像识别对计算 机来说是一项极具挑战性的工作。 • 视角变化. 一个相同的目标相对摄像机可以有不同的朝向. • 尺度变化. 不仅是占据图像的相对大小, 目标在真实世界的大小也会发 生变化. • 形变. 许多目标并不是刚体, 有时会有很极端的形变. • 遮挡. 目标可能被遮挡, 因此只有...原创 2018-05-17 15:08:04 · 286 阅读 · 0 评论 -
字符识别新思路——svm训练(象棋,数字)
https://blog.csdn.net/chaipp0607/article/details/68067098原创 2018-04-26 00:43:31 · 980 阅读 · 0 评论 -
思路2——利用相机固定角度修正图像
1、相机角度固定,先拿一个标定板进行标定,然后固定相机角度,拿新图片与标定图片计算出透视变换矩阵,然后再拍摄正常图片,计算出正看的照片。https://blog.csdn.net/sxlsxl119/article/details/75087675...原创 2018-04-13 22:34:51 · 1472 阅读 · 0 评论 -
opencv透视变换
1、目前效果最好的一个: 但还是纸牌能检测出来https://blog.csdn.net/mysteryrat/article/details/89552292、https://blog.csdn.net/zszszs1994/article/details/53289237下面将我修改运行成功的代码贴出,至于优化,提高识别四边形准确度,还需要继续研究。//透视变换,检测四边形,有时候...原创 2018-04-13 20:10:37 · 674 阅读 · 8 评论 -
视觉识别参考资料
基于视觉识别的捡球机器人:https://blog.csdn.net/yueqiuchen?viewmode=list 文字检测与识别资源:https://blog.csdn.net/peaceinmind/article/details/51387367(里面有大量自然文字识别的论文、博客等等,十分优秀的一篇博客)...原创 2018-04-12 21:12:24 · 798 阅读 · 0 评论 -
opencv3 opencv4读取视频并保存为视频以及图片
opencv版本: opencv3.3.0 系统:win10 编译环境:vs2017 该代码实现了视频读取以后保存视频以及图片,视频保存在工程里,图片保存在任意指定位置。程序一// 2018_4_17.cpp: 定义控制台应用程序的入口点。//#include "stdafx.h"#include "core/core.hpp" #include <openc...原创 2018-04-17 02:20:48 · 8296 阅读 · 0 评论 -
opencv3读取摄像头视频并预处理
利用opencv3.3.0编写一个在windows系统下运行的读取摄像头视频的程序,并且做了灰度化、二值化、模糊。当然不需要的话,将处理函数注释即可。// duqushipin.cpp: 定义控制台应用程序的入口点。//--------------------------------------【程序说明】-----------------------------------------...原创 2018-04-17 00:27:00 · 4312 阅读 · 0 评论 -
图像识别——对于倾斜拍摄的数字校正—透视变换后识别
参考博文:https://blog.csdn.net/dcrmg/article/details/52475777透视变换通过投影的方式,把当前图像映射到另外一个平面,就像电影院里的交代放映机,如果幕布或者胶带其中任意一个与放映机发出的光纤不是垂直90度角的,那么投影到幕布上的图像就会发生畸变。这种畸变就是透视畸变的一种。透视变换对畸变图像的校正需要取得畸变图像的一组4个点的坐标,和目标图...原创 2018-03-28 16:40:05 · 8529 阅读 · 2 评论 -
批量读取某一文件下所有图片或者其他文件
只要利用void getFiles(string path, vector& files)这个函数就可以了,前提是工程中一定要加#include #include <opencv2/opencv.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/core/core.hpp&g...原创 2018-05-25 18:22:20 · 2115 阅读 · 0 评论 -
Opencv3的svm训练自己图片产生.xml文件模型
/**********************************************************************2018.5.23:SVM训练 //在 配置SVM训练器参数CvSVMParams SVM_params;这里有问题2018.5.25:1、因为例程是opencv2的,opencv3里的svm的一些声明格式有了些许变化,修改了 ...原创 2018-05-25 18:32:43 · 8020 阅读 · 10 评论 -
找到一个最大的轮廓(四边形)
图片中有很多四边形和数字,我想只找到一个最大的四边形(或较大的),并得到他的顶点,然后进行透视变换,将图片变正,这是今天的程序暂存,目前对于一些函数还是不是很熟悉,明天再说。(在 drawContours(drawing, hull[hull_flag], i, color, 3);这里报错: 最大数为:41596.000000OpenCV Error: Assertion failed (...原创 2018-05-21 23:20:43 · 3386 阅读 · 0 评论