
opencv
文章平均质量分 89
wxplol
这个作者很懒,什么都没留下…
展开
-
python实现汉字的拐点计算
文章目录一、线段曲率计算原理二、线段拐点提取流程三、python实现拐点的提取3.1、曲线的点的平滑3.1.1、一次贝塞尔曲线拟合3.1.2、二次贝塞尔曲线拟合3.2、拐点的计算3.2.1、Bending value的计算3.2.2、判断三点是否在同一条直线上3.2.3、计算拐点一、线段曲率计算原理一般的曲率计算方法,如玄长比例法、三次B样条表达、线性多边形逼近和局部对称等方法。今天主要介绍**弯曲值算法(Bending value)**算法。其表达式为:bik=max(∣(xi−k−xi)+(xi+原创 2021-07-20 21:16:27 · 1016 阅读 · 3 评论 -
win10+vs2017+denseflow编译
由于要训练自己动作识别模型,所以需要制作相关数据集,其中就是要制作光流数据,尝试使用传统opencv来做,发现速度太慢。最后找到denseflow库,于是在此记录在win10下的安装过程。文章目录一、安装依赖1.1、CUDA1.2、OpenCV1.3、Boost二、Cmake编译2.1、生成可编译文件sln2.2、编译生成`denseflow.exe`一、安装依赖1.1、CUDACUDA (driver version > 400)这里默认已经安装,搞深度学习安装pyTorch/Tens原创 2021-07-08 18:58:11 · 1334 阅读 · 2 评论 -
一种基于Opencv文档图像增强算法的实现
文章目录1、基于划分模式的图像增强2、基于c++ OpenCV的实现3、辅助增强算法因为项目需要对文档图像进行增强,也就是对于模糊、亮度偏暗或不均匀的文档进行处理方便后续的识别。传图图像增强方法主要分为两方面:空间域和频域。空间阈中增强方法,颜色的增强,如:直方图均衡化,对比度以及gama增强等;模糊,如:均值滤波等;锐化,如:局部标准差实现对比度增强。频域方法,如:小波变换,在图像的某个变换域内,对图像的变换系数进行运算,然后通过逆变换获得图像增强效果。一般来说,对于实际项目中,可能用其中一种或几种方法原创 2021-01-14 23:58:20 · 4085 阅读 · 0 评论 -
基于opencv的倾斜文本行的校正
实现倾斜文本行字体的校正主要分为两部分,一部分为倾斜角度的检测,另一部分为倾斜校正。其中倾斜角度的检测极为重要,他关系到后续的校正。原创 2020-06-15 14:33:27 · 2436 阅读 · 1 评论 -
opencv形态学应用之区域填充
在进行形态学填充之前必须了解一点:当我们的边界是4连通边界时,我们使用的结构元素为8连通;当我们的连通边界为8连通时,我们需要用4连通的结构元素。算法:初始化:Bo=种子点(这里采用opencv鼠标操作来手动选取种子点)循环:(用3X3十字结构元素对对种子点进行膨胀,然后不断的用图像的补集对膨胀的结果进行约束)结束条件:膨胀结果不发生变化#include#in原创 2017-06-12 22:08:53 · 9909 阅读 · 6 评论 -
opencv形态学应用之连通域提取
提取连通域实际上是标记连通域的过程,其算法如下:初始点:Bo=某个连通分量中的某点(这里通过遍历图像,知道像素值为255,将此点作为种子点)循环:(用3X3d的结构元素对种子点进行膨胀,然后用原图像对膨胀结果取交集)结束条件:知道膨胀的图像不发生变化在这里可以用一个模板来存储连通分量,其位置对应原图像的位置。提取完后可以修改原图像的像素值,即一个标签。实现过原创 2017-06-12 22:46:03 · 8230 阅读 · 2 评论 -
opencv+python3图像增强之Sauvola二值化
sauvola是一种考虑局部均值亮度的图像二值化方法, 以局部均值为基准在根据标准差做些微调.算法实现上一般用积分图方法来实现的.步骤1 计算区域像素积分和和积分平方和步骤2 计算标准差,标准差的计算方法为: std = sqrt((sqdiff - diff*diff / area) / (area - 1)) 步骤3 sauvola二值化算法的阈值为T = mean*...原创 2018-07-27 16:36:29 · 5565 阅读 · 5 评论 -
无参考图像的清晰度评价方法及c++实现
本文只是在别人博客的基础上完成实现的,具体参考博客地址:无参考图像的清晰度评价方法,对于每个具体算法原理就不一一讲解了,在看本文时最好参考上述链接进行理解。1、Brenner 梯度函数/** * Brenner梯度方法 * * Inputs: * @param image: * Return: double */double bre...原创 2019-02-25 15:40:08 · 10794 阅读 · 10 评论 -
OpenCV—基本矩阵操作与示例
&n...转载 2019-09-29 11:28:29 · 278 阅读 · 0 评论 -
opencv形态学应用之边界提取与跟踪
边界提取:根据之前的博客就是用原图减去腐蚀后的图像;边界跟踪:按照某种扫描规则找到目标边界上的像素直到回到原点;本程序中,我采用从左到右从上到下的顺序查找边界,如下图所示,分别从左下、下、右下右、右上、上、左上、左方向搜索边界点,当搜索到原点时,边界搜索结束。当图像中有多个连通域时,显然这种方法就不适用,所以改进的方法是:每搜索完一个边界,将改连通域设置为背景颜色(如:0),然原创 2017-06-11 22:33:48 · 6302 阅读 · 0 评论 -
opencv函数源码之腐蚀(2)
通过了解腐蚀的基本原理后,下面根据自己的理解用c++实现#include#includeusing namespace std;using namespace cv;/**********************************************功能:3*3结构元素的二值图像的腐蚀参数:_src-输入图像 dst-输出图像 se-模板*******原创 2017-06-11 22:28:43 · 1095 阅读 · 0 评论 -
opencv函数源码之腐蚀
形态学处理最基本的操作是腐蚀和膨胀,所以研究一下opencv的这两个基本操作,路径:D:\OpenCV\opencv\sources\modules\imgproc\src\morph.cpp中,由于腐蚀和膨胀的基本程序流程一样,在这里着重看一下cv::erode()函数void cv::erode( InputArray src, OutputArray dst, InputArray ke原创 2017-06-03 22:10:28 · 2534 阅读 · 0 评论 -
opencv源码阅读之直方图均衡化(1)
opencv实现直方图均衡化的函数为equalizeHist();在看了直方图均衡化原理后想要实现他,于是看了一下opencv的equalizeHist(),同时提高一下自己的编程水平。最后找到了这个函数的位置D:\OpenCV\opencv\sources\modules\imgproc\srcvoid cv::equalizeHist( InputArray _src, OutputArray原创 2017-03-30 17:09:27 · 2059 阅读 · 0 评论 -
opencv函数源码之直方图规定化(1)
由于在opencv中没有找到相关的源代码,于是网上搜索到别人的写的代码,将他拿来研究一下,地址:点击打开链接// do the hist match histv[] is the vector that you need match (直方图与想要匹配的直方图进行匹配)void HistMatch(IplImage *histimg,double histv[]) //histv[]需要匹配的原创 2017-04-05 11:13:34 · 1690 阅读 · 0 评论 -
opencv函数源码之直方图规定化(2)
接下来我们来实现自己的直方图匹配(1)Histogram1D.h#ifndef HISTOGRAM1D#define HISTOGRAM1D#include#include#includeclass Histogram1D{public: Histogram1D(); //计算直方图 cv::Mat getHistogram(const cv::Mat &image);原创 2017-04-05 20:36:04 · 1314 阅读 · 0 评论 -
opencv函数源码之均值滤波(1)
本文是在参考毛星云大神的文章后写的,文章链接: http://blog.youkuaiyun.com/poem_qianmo/article/details/22745559 void cv::blur( InputArray src, OutputArray dst, Size ksize, Point anchor, int borderType ){ boxFi...原创 2017-05-04 15:12:14 · 860 阅读 · 0 评论 -
opencv源码之均值滤波(2)
由于opencv源码本身关于均值滤波、高斯滤波等都时调用opencv自带的滤波引擎实现,无法看到他到底怎么实现的滤波功能。但我们知道他的滤波原理,接下来我们自己写一个c++代码实现他的滤波功能(本代码可以虽然是均值滤波,但可以通过修改模板,及相应参数实现其他滤波功能,有兴趣的可以自己研究。),由于是3X3的模板效果不是很明显。#include#include#include//均值模板原创 2017-05-04 15:18:31 · 1001 阅读 · 0 评论 -
opencv实现图像的傅里叶变换
本文是在别人博客的基础上做的,具体内容可以参看转载的博客,博客地址:http://blog.youkuaiyun.com/qq_34784753/article/details/57129029#include "opencv2/core/core.hpp"#include "opencv2/imgproc/imgproc.hpp"#include "opencv2/highgui/highgui.h转载 2017-05-25 16:33:31 · 711 阅读 · 0 评论 -
opencv实现自己的中值滤波
在读了中值滤波这节内容时突然想到是否可以自己实现中值滤波,于是用c++写了一下中值滤波,主要看的是中值滤波的思想。#include#include#include/****************************************pArray[]-需要提取中值的数组length-数组长度功能:排序,获取中值*******************************原创 2017-05-07 21:19:47 · 1351 阅读 · 0 评论 -
opencv实现频域平滑图像
本文是参考opencv低通滤波器这篇文章改进得到的,地址:http://blog.youkuaiyun.com/huangli19870217/article/details/12856619#include#include #include using namespace cv;using namespace std;//创建低通滤波器void createfilter(Mat& lowTemp原创 2017-05-29 22:34:58 · 1616 阅读 · 0 评论 -
opencv源码阅读之直方图均衡化(2)
通过阅读源代码后,将源代码进行改写,实现自己的直方图均衡化(1)equalizeHist.h文件#ifndef EQUALIZEHIST_H#define EQUALIZEHIST_H#include#includevoid myEqualizeHist(cv::Mat &src, cv::Mat &dst);#endif(2)equalizeHist.cpp文件#include原创 2017-03-30 17:46:04 · 611 阅读 · 0 评论