opencv
文章平均质量分 73
凉_白开
这个作者很懒,什么都没留下…
展开
-
opencv常用编译选项
线程池:基于pthreads库的默认后端在 Linux、Android 和其他类 Unix 平台上可用。线程池在OpenCV中实现,可以通过环境变量进行控制OPENCV_THREAD_POOL_*。配置脚本可以尝试从互联网上下载额外的库和文件,如果失败,相应的功能将被关闭。TBB:Threading Building Blocks是一个用于并行编程的跨平台库。HPX:高性能 ParallelX是一个更适合多处理器环境的实验性后端。OpenMP:OpenMP API 依赖于编译器支持,多线程并行处理。原创 2022-12-15 22:00:00 · 3187 阅读 · 0 评论 -
opencv_python:cv2.flip() 图像翻转函数
cv2.flip() 图像翻转函数原创 2022-03-11 16:28:17 · 7367 阅读 · 0 评论 -
opencv 使用DNN模块调用Tensorflow的Mask-RCNN模型
文章目录环境准备利用opencv自带的工具生成对应的模型对应的描述文件DNN模块使用demo效果环境准备Python3OpenCV 4.5.0 (4版本以上都可以)Mask-RCNN预训练模型利用opencv自带的工具生成对应的模型对应的描述文件在opencv源码路径下opencv450/opencv-4.5.0/samples/dnn找到对应的工具利用工具生成预训练模型对应的描述文件python ./tf_text_graph_mask_rcnn.py --input /home/m原创 2021-01-20 16:10:00 · 814 阅读 · 4 评论 -
opencv Canny边缘检测(c++)
文章目录说明Canny原理Canny()DEMO效果说明Canny 边缘检测算法是 John F. Canny 于1986年开发出来的一个多级边缘检测算法,也被很多人认为是边缘检测的最优算法。Canny原理降噪由于边缘检测容易受到图像中噪声的影响,因此第一步是使用5x5高斯滤波器消除图像中的噪声。计算梯度值和梯度方向通过点乘一个sobel或其它算子得到不同方向的梯度值 Gx,G_x ,Gx, GyG_yGy。综合梯度通过以下公式计算梯度值和梯度方向:Edge_Gradient原创 2020-12-03 15:37:12 · 2097 阅读 · 0 评论 -
opencv 边缘检测 Sobel算子 Scharr算子 Laplacian算子 (c++)
opencv 边缘检测 Sobel算子 Scharr算子 Laplacian算子原创 2020-12-02 17:05:06 · 2890 阅读 · 1 评论 -
opencv HSV色彩空间 追踪特定颜色
opencv HSV色彩空间 追踪特定颜色原创 2020-12-01 15:00:30 · 2904 阅读 · 0 评论 -
opencv 侵蚀erode 膨胀dilate 开运算 闭运算等形态学转换操作
文章目录1. 侵蚀 (白色区域减小)demo效果2. 扩张demo效果3. 形态学变化(组合)3.1开运算 cv::MORPH_OPENdemo效果3.2 闭运算 cv::MORPH_CLOSEdemo效果3.3 形态学梯度 cv::MORPH_GRADIENTdemo效果3.4 顶帽 cv::MORPH_TOPHATdemo效果3.5 黑帽 cv::MORPH_BLACKHATdemo效果1. 侵蚀 (白色区域减小)侵蚀的基本思想就像土壤侵蚀一样,它侵蚀前景物体的边界(尽量使前景保持白色)。它原创 2020-11-27 17:43:03 · 2489 阅读 · 1 评论 -
opencv 图像阈值 二值化处理
opencv 图像阈值 二值化处理原创 2020-11-27 14:54:29 · 4459 阅读 · 1 评论 -
opencv 像素值读写的三种方式以及速度比较
opencv 像素值读写的三种方式以及速度比较原创 2020-11-25 17:52:12 · 2126 阅读 · 0 评论 -
opencv 实现 Photoshop 亮度 对比度 调节功能
opencv 实现 Photoshop 亮度 对比度 调节功能文章目录源码Photoshop的亮度对比度工具LUT 颜色查找表代码效果源码VirtualStudio2019的工程。可直接运行Photoshop的亮度对比度工具这是photoshop的工具,下面用opencv实现该功能LUT 颜色查找表LUT 的作用很简单,就是将其像素的灰度值转换为规定的灰度值。原创 2020-06-29 15:46:59 · 10837 阅读 · 1 评论 -
opencv 滤波 方框滤波 均值滤波 高斯滤波 中值滤波 双边滤波
文章目录一. 线性滤波1.1. 方框滤波demo1.2. 均值滤波demo1.3. 高斯滤波demo二. 非线性滤波2.1. 中值滤波demo2.2. 双边滤波demo结构体参考一. 线性滤波1.1. 方框滤波方框滤波是所有滤波器中最简单的一种滤波方式。每一个输出像素的是内核邻域像素值的平均值得到。通用的滤波kernel如下:这里是一个长宽分别为Kwidth和Kheight的窗口函数,在此区域内邻域中像素值叠加求平均即可求出位于kernel中心点像素的像素值。/ ** @brief使用框过滤原创 2020-05-29 18:08:59 · 46832 阅读 · 1 评论 -
opencv图片变形 仿射 旋转 透视 弯曲 鱼眼特效
文章目录1. 仿射变换2. 旋转2.1 demo3. 透视变换3.1 demo4. 弯曲4.1 S形状4.2 波浪形5. 鱼眼特效6. 结构定义结构定义(中文)参考文档1. 仿射变换可将图片变换为平行四边形/**@brief从三对对应点计算仿射变换。@param src[] :原图上取三点坐标(三角形)@param dst[] :目标三点坐标@param return :返回2*3的变换矩阵*/CV_EXPORTS Mat getAffineTransform( const Point2f原创 2020-05-15 11:35:24 · 67376 阅读 · 1 评论 -
opencv 画图 (c++)
文章目录直线函数参数:Demo矩形函数参数:Demo圆函数参数:Demo直线函数void line(Mat& img, Point pt1, Point pt2, const Scalar& color, int thickness=1, int lineType=8, int shift=0)参数:img: 要绘制线段的图像。pt1: 线段的起点。pt2: 线段的...原创 2019-09-20 11:32:08 · 11265 阅读 · 0 评论 -
opencv 人脸检测(c++)(利用级联分类器实现)
文章目录级联分类器定义DEMO级联分类器分类器: 判别某个事物是否属于某种分类的器件,两种结果:是、否级联分类器: 可以理解为将N个单类的分类器串联起来。如果一个事物能属于这一系列串联起来的的所有分类器,则最终结果就是 是,若有一项不符,则判定为否比如人脸,它有很多属性,我们将每个属性做一成个分类器,如果一个模型符合了我们定义的人脸的所有属性,则我们人为这个模型就是一个人脸。那么这些属性是...原创 2019-09-20 11:34:23 · 11262 阅读 · 0 评论 -
opencv 视频读写(c++)
文章目录视频读取 cv::VideoCapture方式一:从视频文件读取方式二:从视频设备获取方式三:通过成员函数open()来设定打开的信息视频帧读取到Mat视频的写操作cv::VideoWriter创建对象方式一:构造函数的方式方式二:open()函数写入图像方式一:write()方式二: <<DEMO视频读取 cv::VideoCapture方式一:从视频文件读取cv::V...原创 2019-09-20 11:36:46 · 13790 阅读 · 1 评论 -
opencv Rect类用法
cv::Rect//如果创建一个Rect对象rect(100, 50, 50, 100),那么rect会有以下几个功能: rect.area(); //返回rect的面积 5000 rect.size(); //返回rect的尺寸 [50 × 100] rect.tl(); //返回rect的左上顶点的坐标 [100, 50] rect.br(); ...原创 2019-09-20 11:38:03 · 11141 阅读 · 0 评论 -
opencv 编码解码
cv::imencode Mat数据编码成数据流cv::imdecode 数据流解码成Matdemoint main() { cv::Mat src = cv::imread("E:\\Windowstest\\ConsoleApplication4\\ycy.jpg", 1); cv::Mat dst; std::vector <unsigned char> img_d...原创 2019-09-20 11:41:55 · 11492 阅读 · 0 评论 -
opencv resize改变图片尺寸
cv::resize()函数函数原型CV_EXPORTS_W void resize( InputArray src, OutputArray dst, Size dsize, double fx=0, ...原创 2019-09-20 11:43:46 · 12618 阅读 · 0 评论 -
opencv 文字绘制 puttest
简介opencv中除了提供绘制各种图形的函数外,还提供了一个特殊的绘制函数——在图像上绘制文字。这个函数即是cv::putText()。cv::putTextvoid cv::putText( cv::Mat& img, // 待绘制的图像 const string& text, // 待绘制的文字 cv::Point origin, // 文本框的左下角 int f...原创 2019-09-20 11:44:55 · 11126 阅读 · 0 评论 -
opencv 通道分离(split)与合并(merge)
通道分离void cv::split( const cv::Mat& mtx, //输入图像 vector<Mat>& mv // 输出的多通道序列(n个单通道序列));通道合并void cv::split( const cv::Mat& mtx, //输入图像 vector<Mat>& mv // 输出的多通道序列(n个单...原创 2019-09-20 11:46:12 · 12003 阅读 · 0 评论 -
opencv 图形处理
文章目录扩充边缘函数:copyMakeBorder函数原型:功能参数:borderType的宏定义说明Demo旋转函数函数原型参数:getRotationMatrix2D 参数:warpAffine 参数flags 插值算法标志符Demo扩充边缘函数:copyMakeBorder函数原型:void copyMakeBorder( const Mat& src, Mat& d...原创 2019-09-20 11:28:52 · 10729 阅读 · 0 评论