![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
opencv
文章平均质量分 53
qq_16968451
这个作者很懒,什么都没留下…
展开
-
10.3视频帧处理
1.函数介绍 颜色空间转换:void cvtColor( InputArray src, //输入序列 OutputArray dst, //输出序列 int code, //颜色映射码 CV_BGR2GRAY(RGB变为灰度) int dstCn = 0 );原创 2017-10-17 10:45:45 · 242 阅读 · 0 评论 -
Mat类编写矩阵乘法和加法操作
#include #include "opencv2/opencv.hpp"using namespace std;using namespace cv;Mat Inputmatrix(void){ int row, column; float element; cout << "please input the first matrix(size):"; cin >> row原创 2017-09-22 20:38:14 · 640 阅读 · 0 评论 -
第六章图像滤波 方向滤波器边缘检测
Sobel滤波器 void Sobel( InputArray src, OutputArray dst, int ddepth, int dx, int dy, int ksize = 3, double scale = 1, double delta = 0,原创 2017-10-09 21:55:02 · 3127 阅读 · 0 评论 -
第六章 Canny算子
Canny算子(基于sobel) 1.消除噪声。 普通情况下,使用高斯平滑滤波器卷积降噪。 2.计算梯度幅值和方向。 此处,依照Sobel滤波器的步骤。 3.非极大值抑制。 这一步排除非边缘像素, 仅仅保留了一些细线条(候选边缘)。 4.滞后阈值。最后一步,Canny 使用了滞后阈值,滞后阈值须要两个阈值(高阈值和低阈值): Ⅰ.假设某一像素位置的幅值超过 高 阈值, 该像素被保原创 2017-10-11 19:19:11 · 738 阅读 · 0 评论 -
7.3霍夫变换
霍夫变换可以实现任何由参数方程描述的几何体的检测。 1.检测直线 原理:霍夫变换基于二值图像,寻找经过每个单独像素点的所有直线,当直线经过足够多的像素点,则这个直线的存在足够明显。 void HoughLines( InputArray image, OutputArray lines, double rho, double theta, int threshold, dou原创 2017-10-12 17:17:14 · 173 阅读 · 0 评论 -
7.4用直线拟合一组点
获取直线的位置和方向的精确估计,解决直线拟合的问题。 思想: 用HoughlinesP检测直线,将直线保存在lines中,获取Canny图像并获取lines与canny图相交的点集,再用点集拟合直线。 代码:#include <opencv2/core/core.hpp>#include <opencv2/imgproc/imgproc.hpp>#include <open原创 2017-10-13 09:25:31 · 641 阅读 · 0 评论 -
7.5提取联通区域的轮廓
提取白色区域的轮廓 void findContours( InputOutputArray image, OutputArrayOfArrays contours, int mode, int method, Point offset = Point()); 第一个参数:image但更常用的是二值图像,一般是经过Canny、拉普拉斯等原创 2017-10-13 21:12:42 · 451 阅读 · 0 评论 -
7.6计算联通区域的形状描述
包围盒:水平放置的最小包围矩形。 Rect boundingRect( InputArray points ) 最小包围圈: void minEnclosingCircle( InputArray points, CV_OUT Point2f& center, CV_OUT float& radius ); 多边形原创 2017-10-13 23:32:07 · 222 阅读 · 0 评论 -
8.2检测Harrris角点
Harris角点检测: void cornerHarris(InputArray src, OutputArray dst, int blockSize, int ksize, double k, int borderType=BORDER_DEFAULT) 参数详解: src image输入图像。 dst harris_responce 存储哈里斯(Harris)检测responces的图原创 2017-10-14 20:35:34 · 295 阅读 · 0 评论 -
opencv学习笔记 一 载入、显示和保存图像
预备知识:opencv2用cv::Mat类型来声明表示图像的变量。例如:cv::Mat image; //建立高度和宽度为0的图像,默认尺寸为0 也可以指定初始尺寸Mat image(240,320,CV_8U,Scalar(100)); //CV_8U表示8位无符号整形Mat容器内元素的数据类型介绍CV_(S|U|F)C 1--bit_depth---比特数原创 2017-09-23 17:46:06 · 244 阅读 · 0 评论 -
opencv学习笔记 二 操作像素
第二章: 操作像素2.1引言:灰度图像像素由8位无符号数来表示,0表示黑色,255表示白色。彩色图像(RGB)像素由三个8位的无符号数来表示,存储方式为三元数(B,G,R)2.2存取像素值Mat类有若干成员和成员函数来获取图像的属性:成员cols和rows表示 宽和高(列和行)成员函数 at(int i, int j)可以用来存取像素image.at(i,j);原创 2017-09-24 22:05:21 · 588 阅读 · 0 评论 -
第六章 图像滤波 中值滤波器
中值滤波器对于去除椒盐噪声十分有用 void medianBlur( InputArray src, OutputArray dst, int ksize ); int类型的ksize,孔径的线性尺寸(aperture linear size),注意这个参数必须是大于1的奇数,比如:3,5,7,9 … 中值滤波(Median filter)是一种典型的非线性滤波技术,基本思想是用像素点邻域灰度原创 2017-10-09 20:20:09 · 671 阅读 · 0 评论 -
第六章图像滤波低通滤波器
在频域分析的框架下,滤波操作的作用是增强部分频段,同时限制其他频段。 6.2 低通滤波器 降低图像变换的幅度 箱式滤波器:将每个像素替换为相邻像素的平均值。 cv::blur()将像素替换为相邻矩形内像素的平均值 void blur( InputArray src, OutputArray dst, Size ksi原创 2017-10-09 20:02:52 · 899 阅读 · 0 评论 -
opencv学习笔记之5.4使用形态学滤波进行边缘和角点检测
检测直线:原图膨胀-原图腐蚀 角点检测:result1 = 膨胀(十字)+腐蚀(菱形)(对原图进行的连续形态学滤波) result2 = 膨胀(x 型 )+腐蚀(方形)(对原图进行的连续形态学运算) result = abs(result1 - result2) 在MorphoFeatures.cpp文件里定义的class原创 2017-10-03 16:59:34 · 217 阅读 · 0 评论 -
opencv学习笔记第五章 使用形态学滤波对图像进行开闭运算
开运算:先腐蚀再膨胀,去掉小白点 闭运算:先膨胀再腐蚀,去掉小黑点void morphologyEx( InputArray src, OutputArray dst, int op, InputArray kernel, Point anchor = Point(-原创 2017-10-01 17:35:59 · 470 阅读 · 0 评论 -
opencv学习笔记第五章:基于形态学运算的图像变换(1)形态学运算进行腐蚀和膨胀
腐蚀和膨胀是最基本的形态学运算。数学形态学最基本的工具是结构元素。结构元素简单的定义为像素的结构(形状)以及一个原点(锚点)。使用形态学滤波涉及对图像的每个像素应用这个结构元素。当结构元素的原点与给定的像素对齐,它与图像相交部分定义了一组进行形态学运算的像素。腐蚀:每个像素与结构相交的集合替换成最小的像素值膨胀:每个像素与结构相交的集合替换成最小的像素值void erode( Inpu原创 2017-10-01 15:58:12 · 253 阅读 · 0 评论 -
opencv学习笔记第四章 图像的均值化
图像在视觉上的缺陷在多数情况下不是像素强度范围过窄,而是因为像素强度频率分布不均。一副高质量的图片应该平均使用所有的像素强度。void equalizeHist( InputArray src, OutputArray dst );#include #include #include "opencv2/opencv.hpp"#include "histogram.h"原创 2017-10-01 10:22:47 · 531 阅读 · 0 评论 -
opencv学习笔记第四章 计算图像的直方图
直方图:图像像素值的统计表。灰度图像有256个条目(容器)获取直方图:void calcHist( const Mat* images, int nimages, const int* channels, InputArray mask,OutputArray hist, int dims, const int* histSize, const float** ranges, bool原创 2017-10-01 09:46:58 · 292 阅读 · 0 评论 -
opencv学习笔记三 视频处理序列(1)读取视频序列
opencv视频读取和显示原创 2017-09-29 10:27:46 · 351 阅读 · 0 评论 -
8.3检测FAST特征
代码:#include <iostream>#include <opencv2\opencv.hpp>using namespace std;using namespace cv;int main(){ Mat image = imread("D:/house.jpg", 0); vector<KeyPoint> keypoints; //cv::FastFeatur原创 2017-10-14 22:00:50 · 320 阅读 · 0 评论