
opencv
文章平均质量分 68
番茄土豆牛肉煲
一个新手,正在处于学习的阶段
展开
-
conda安装cv2、skimage
在虚拟环境中执行pip install -i https://mirrors.aliyun.com/pypi/simple/ opencv-python原创 2020-06-21 00:13:16 · 3048 阅读 · 2 评论 -
opencv-python cv2.flip 图像翻转
cv2.flip 图像翻转来看下函数介绍docstring:flip(src, flipCode[, dst]) -> dst. @brief Flips a 2D array around vertical, horizontal, or both axes. The example scenarios of using the function are th...原创 2019-07-14 13:13:54 · 15913 阅读 · 0 评论 -
opencv学习——轮廓分析寻找近似圆
这是一张经过处理后的红灯的图像,我们需要找到其中的红灯,可以看到是两个圆,用霍夫圆之后发现其中调参非常麻烦,于是写了一个根据轮廓来分析圆的算法。算法思想:findContours()找到图像的轮廓,使用minEnclosingCircle()找到轮廓的最小包围矩形,计算轮廓上的每个点到圆心的距离和半径的差值,进行累加(简单来说就是求轮廓中每个点到圆心距离和半径的方差),当累加和小于某个值时...原创 2019-06-03 02:25:47 · 5863 阅读 · 4 评论 -
opencv滑动窗口createTrackbar
今天用到了createTrackbar,发现其中的回调函数onChange的两个参数(int , void*) 有点不太理解,于是查了官方文档简单描述一下什么是回调函数: 用户把一个函数指针作为参数传递给其他函数,后者将“回调”用户的函数。如果函数可以再不同的时间执行不同类型的工作或者执行只能由函数调用者定义的工作,都可以使用回调函数。回调函数无法知道比较的值的类型,所以参数的类型被声...原创 2019-04-23 16:13:31 · 627 阅读 · 1 评论 -
图像边缘理论知识
什么是图像的边缘通常,边缘上的灰度变化平缓,边缘两侧的灰度变化较快,图像的边缘一般指局部不连续的的图像特征(某个小局部不连续了,不连续就是不一致了,打个比方,比如说是蓝的,突然变白了,这时候就产生边缘了)。一般是局部亮度变化最显著的部分,所以说边缘就是变化最显著的部分,灰度值的变化,颜色分量的突变以及纹理结构的突变都可构成边缘信息。如何寻找边缘要找边缘就要找他的变化量,数据的变化量,在...原创 2018-08-17 14:47:38 · 15042 阅读 · 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 · 3862 阅读 · 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 · 10227 阅读 · 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 · 858 阅读 · 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 · 35916 阅读 · 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 · 24212 阅读 · 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 · 605 阅读 · 0 评论 -
opencv学习笔记——sobel
学习sobel总结:先说下边缘,在图像上像素发生跃迁的的地方。如何捕捉边缘:对图像进行一阶求导,▲ = f(x)-f(x-1),▲的值越大,那么说明x方向边缘信号越强烈。 f(x)为图像像素值的函数图,f'(x)为f(x)的一阶导数,即当前像素减去上一个像素的差值,可以看到红圈标注的地方,即边缘信号的最大体现。但是应用到图像中我们是找不到这个函数的,在图像中不是一个准确的函数,所以使用其他方式来替...原创 2018-06-07 14:23:28 · 4470 阅读 · 0 评论 -
超级简单的VOC2007数据集制作——使用自制的VOC2007数据集制作工具
使用自制VOC2007数据集制作工具 数据集制作工具下载链接 本人win10 64位系统 操作没有问题(其他系统没有试过),在有的机子测试会出现应用程序无法正常启动0xc0000007b,请从以下几个方面排查1.创建文件夹首先创建一个名字为VOC2007的文件夹,在该文件夹下再分别创建Annotations、ImageSets、JPEGImages三个子文件夹以及一个文...原创 2018-05-18 19:40:40 · 10339 阅读 · 28 评论 -
KNN+HOG手写体数字识别
今天来介绍一下KNN+HOG手写体数字识别,首先贴出图片,这是opencv自带的一张图片,E:\opencv\opencv\sources\samples\data,在此文件夹里,我们会发现一张手写体的图片之前单纯用像素点训练,他的准确率是这样的发现准确率有点低,于是我们改用KNN+HOG来进行训练,可以看到识别数字的准确率提高了很多接下来贴出代码#include<opencv2\openc...原创 2018-03-10 15:36:53 · 1375 阅读 · 12 评论 -
opencv 矫正文本框
今天来说一下怎么样将这个旋转的文本框矫正,大体思路:二值化分割+边缘检测+最大外接矩形+透视变换 => 最终图像ps: 本人用word画的测试图像,另外是基于opencv3.3+vs2015首先读入图片,并且灰度转换 g_src = imread("rotate.png"); if (g_src.empty()) { cout << "无法打开图片"; ret...原创 2018-02-14 19:30:59 · 1174 阅读 · 0 评论 -
opencv3.3 级联分类器生成xml以及遇到的一些问题
opencv3.3 训练级联分类器训练成功 来分享一波今天遇到一位群友 对于级联分类器有点问题 于是我决定把训练的过程分享出来,并且和大家说说训练过程中可能会出现的问题。创建样本步骤:准备训练集 首先 准备好训练集 正样本和负样本 (我做的是车牌识别 所以选取的正样本是车牌),正样本放在positive文件夹下的img文件夹里(positive上面那个img文件夹存放的负样本,大家不要混...原创 2018-02-08 14:35:43 · 3211 阅读 · 7 评论 -
opencv 模板匹配中的 minMaxLoc
在opencv模板匹配中用到了这个函数matchTemplate(src, tmp_img, dst_img, TM_CCOEFF_NORMED);normalize(dst_img, dst_img, 0, 1, NORM_MINMAX, -1, Mat());double minVal; double maxVal; Point minLoc; Point maxLoc;Po...原创 2018-02-06 13:18:30 · 2224 阅读 · 0 评论 -
OPENCV cmake编译后只有DEBUG模式的lib库 如何生成release模式的lib库
之前用cmake编译opencv,后来发现lib库下只有DEBUG的动态链接库(d.dll的 ,不带d的是release,debug模式下是进行学习的,可以进行调试模式,而release没有这个功能所以他有更快的速度,更小的体积, release版本不对源代码进行调试,编译时对应用程序进行优化 ), 解决方法如下如图:打开cmake编译后的opencv工程,找到INSTALL这个时候要注意,我们要原创 2018-01-19 11:20:46 · 3646 阅读 · 7 评论