
opencv
文章平均质量分 64
ForeverYang2015
IT搬砖工!
展开
-
opencv二值化找轮廓检测背景简单小物体
本篇主要是针对背景简单,且具有固定颜色的蛋类小物体,方法为在灰度化时选用图片的HSV中的S通道,再使用opencv 二值化找轮廓大法可将小物体框出。可以看到,对于这种背景简单的,取HSV中的S做灰度化二值化,效果非常不错,再用找轮廓大法,可以获得带方向的最小外接矩形...原理很简单,图片-》取S通道灰度化-》OTSU二值化-》findcontours找到轮廓。原创 2022-09-28 10:37:25 · 1534 阅读 · 0 评论 -
cv2条码识别
本文主要使用opencv 的Python接口cv2,原理较为简单,单张先通过二值化找轮廓的方式找到轮廓的四个点,然后对点做排序,之后再计算轮廓的外接矩形的4个点,由这2组点做 warpPerspective 透射变换得到矫正的条码,最后使用zbar库做识别。......原创 2022-08-29 14:30:46 · 1429 阅读 · 0 评论 -
vs2019 编译生成dll,lib,并做调用
一、前言本文实验在VS2019将C++源码封装为dll、lib ,并做调用二、欲封装代码 封装代码头文件和cpp文件如下://util.h#ifndef _Util_H_#define _Util_H_#include <iostream>#include<opencv2\opencv.hpp>#include <stdio.h>#include <list> using namespace ...原创 2022-01-14 15:08:23 · 3370 阅读 · 0 评论 -
分享一个图像上画框程序
一、前言二、代码def getOneImgAnno(img_path): src = cv2.imread(img_path) h,w = src.shape[:2] v = 155 img = src[ v :h-v , v:w-v] img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) img_gray = cv2.blur(img_gray,(5,5)) ret, th = cv2.t转载 2021-12-29 09:37:58 · 440 阅读 · 0 评论 -
差异扩展(difference expance )可逆水印算法总结
一、前言 最近在实验个很早就提出来的差异扩展(difference expance )可逆水印,将水印信息嵌入至图像,再做完好提取以及完好恢复图像。二、原理 (1)嵌入过程 图像中取一对像素相邻对(x,y),可以水平相邻,也可以垂直相邻 计算均值 l= [ (x+y )/2 ] , 差值 h= x-y , 中括号为取整运算 假设要隐藏的二值信息为 b , b为0 或 1 则计算 hs =...原创 2021-11-17 20:50:48 · 3429 阅读 · 0 评论 -
由MTCNN关键点估计人头姿态
一、前言 本篇主要记录由mtcnn检测得的关键点作人头姿态估计,思路较为简单,mtcnn是一种可以检测输出5个关键点的人脸检测算法,分别是左眼,右眼,鼻尖,嘴的左角和嘴的右角。当获得图像中人脸的5个2D关键点,再由Opencv中POSIT的姿态估计算法将5个世界坐标系的模板3D关键点通过旋转、平移等变换投射至这5个2D关键点,进而估计得变换参数,最后求得2D平面中的人头的姿态参数,分别为...转载 2018-04-15 17:41:55 · 8682 阅读 · 6 评论 -
将C++源码封装为dll,并提供接口给调用
一、前言 本文主要记录将某个cpp函数在vs上封装为dll ,并在另一cpp中调用该dll 接口。二、欲封装的源码//MOG_BGS3.h#include "opencv2/core/core.hpp"#include #include"cv.h"#include using namespace cv;namespace OurMogBgs{ class原创 2017-12-30 12:00:25 · 8720 阅读 · 1 评论 -
二维图像中Mat::setp、Mat::step1理解
一、前言 Mat中的step为构成图像的层次,考虑到Mat多应用于二维图像,本文讨论二维图像step的含义和应用。二维图像数据存储示意图如下: 如上图所示,该二维图像大小为5*6,图中元素I位于第2行第4列,该元素可具有多个通道,可为1、2、3、4;常见通道数为1原创 2017-02-01 19:55:10 · 6935 阅读 · 0 评论 -
Harris原理及opencv源码分析
一、前言Harri角点检测的原理分析网上已经一大堆,这里则简单介绍Harris角点检测,并结合原理分析opencv实现的源码。参考资料:http://blog.youkuaiyun.com/ZengDong_1991/article/details/45563301http://docs.opencv.org/2.4/doc/tutorials/features2d/trackingmot原创 2017-01-12 21:37:21 · 2482 阅读 · 1 评论 -
Farneback光流法检测前景的一个例子
一、前言本文使用opencv的calcOpticalFlowFarneback光流法计算图像的运动光流,并显示计算得的光流强度,视频大小为640*480,但速度很慢,计算速度为300ms左右一帧。不知使用GPU版的光流法能快多少。二、简单的代码#include #include #include #include using namespace cv;#include #原创 2016-12-15 16:50:12 · 5584 阅读 · 3 评论 -
CPU与GPU版金字塔光流法在速度上的比较
一、前言经过实际测试,GPU版本的金字塔LK光流法在速度上比CPU版本快了5倍多。。。测试视频大小为640*480二、代码#include #include #include using namespace cv;#include #include #include "MyTimer.h"int main(){ const std::string fname("原创 2016-12-29 15:04:39 · 4004 阅读 · 1 评论 -
使用opencv在Qt中实现卡通化视频处理
一、前言本文主要在Qt中使用opencv进行编程,实现了简易的摄像头播放及其卡通化处理功能,编程环境为Qt5.5.1+opencv2.4.6,实现的关键是将Mat变量转换为QImage变量,并使用QLabel进行显示。二、环境配置首先需要安装Qt creator 5.5.1和下载解压opencv2.4.6,为了能够在Qt中调用opencv中的函数,必须用cmake对openc2.4原创 2016-04-27 17:55:40 · 3399 阅读 · 1 评论 -
基于opencv的身份证识别系统
一、前言本文主要实现了对身份证图片上身份证号码的自动识别,在Qt平台上使用opencv进行图像处理,并绘制简单的用户界面,设计了一个基于Qt和opencv的身份证号码识别系统。二、用户界面 用户界面如下所示,简单几个控件,这里只是实现了身份证号码的识别,而没有对汉字(姓名及地址)识别,水平尚且不足。三、身份证图像处理流程下图为身份证识别系统的系统框图。原创 2016-05-24 22:04:34 · 27117 阅读 · 30 评论 -
使用opencv的SVM实现车牌区域识别
一、前言本文仅仅演示使用opencv2.4.6中已经定义好的SVM函数实现对车牌区域正负样本的训练,然后使用训练好的SVM模型对测试样本进行预测。二、所使用的正负样本首先我将一系列图片进行图像预处理、分割等一系列步骤,这部分内容可以参看《深入理解opencv 使用计算机视觉项目解析》,这样从中挑选出100个正样本(车牌区域)和70个负样本(非车牌区域),大小均为144*33,分原创 2016-05-04 11:40:34 · 9264 阅读 · 4 评论 -
使用opencv的SVM和神经网络实现车牌识别
一、前言本文参考自《深入理解Opencv 实用计算机视觉项目解析》中的自动车牌识别项目,并对其中的方法理解后,再进行实践。深刻认识到实际上要完成车牌区域准确定位、车牌区域中字符的准确分割,字符准确识别这一系列步骤的困难。所以最后的识别效果也是有待进一步提高。二、程序流程程序流程如下所示:相应的main函数ruxia #include "carID_Detection.h原创 2016-05-08 00:08:38 · 14416 阅读 · 6 评论 -
Ostu(大津法)二值化图像简介
一、前言Ostu方法又名最大类间差方法,通过统计整个图像的直方图特性来实现全局阈值T的自动选取,其算法步骤为:1) 先计算图像的直方图,即将图像所有的像素点按照0~255共256个bin,统计落在每个bin的像素点数量2) 归一化直方图,也即将每个bin中像素点数量除以总的像素点3) i表示分类的阈值,也即一个灰度级,从0开始迭代4) 通过归一化的直方图,统计0~i 灰原创 2016-05-19 11:50:51 · 19596 阅读 · 2 评论 -
opencv中CalcOpticalFlowPyrLK实现的光流法理解
更多细节请查看论文“PyramidalImplementation of the Lucas Kanade Feature Tracker Description of the algorithm”原创 2016-04-23 15:57:37 · 20338 阅读 · 6 评论 -
使用Qt从excel读取数据至数据库
一、前言本文介绍了一种在Qt平台将excel表格的数据读取至数据库QSQLite的方法。思路为:先将excel表格转为csv文件,若原表格中存在着中文,还需将csv的编码格式转为UTF-8,接着由QFile打开该csv文件,将每一行的数据读出,并写入创建的数据库表格。二、将excel表格转为csv文件首先需要将保存了需要读取至数据库的excel表格保存为csv文件,如下为实例e原创 2016-06-01 13:13:20 · 10779 阅读 · 13 评论 -
opencv上gpu版surf特征点与orb特征点提取及匹配实例
一、前言本文主要实现了使用opencv里的gpu版surf特征检测器和gpu版orb检测器,分别对图片进行特征点提取及匹配,并对寻获的特征点进行了距离筛选,将匹配较为好的特征点进行展示二、实现代码我不生产代码,我只是代码的搬运工和修改公//main.cpp//#include #include #include #include #include #include原创 2016-09-25 23:42:30 · 9676 阅读 · 10 评论 -
opencv 读取一帧时间及imshow耗时
一、前言由于想知道自己电脑i7 使用opencv读取一帧速度,测试视频大小为480*640,发现当使用VideoCapture::read()读取一帧,并用imshow显示图像,总共需耗时15ms左右,相当于每秒66帧左右,分别对两个函数测试时,发现单读取一帧只需0.7~1.2ms,而使用imshow显示图像则函数较为严重,显示一帧需14ms左右。二、代码#include #incl原创 2016-12-21 11:19:13 · 15834 阅读 · 5 评论 -
基于mean-shift的简单目标跟踪
一、概述作为即将踏入图像识别、目标跟踪领域的一名研究生,先从基础的学起,本文采用了经典的mean-shift算法,思路简单,实现的思路来源于一个网址:http://zhidao.baidu.com/link?url=v2PlqAHX45kjCWJUnSsZYBwHkPVCX8vp6oIZnRXV7IKG0phmuy0vwQ02_SRBgK1OLieVctpFJHR1cGoaxlDAIK,得到的原创 2015-08-11 15:14:29 · 3496 阅读 · 2 评论