OpenCV对图片进行边缘像素填充
摘要:一、概述 图像在卷积的时候边界像素不能被卷积,原因在于边界没有完全和kernel重叠,所以当3x3滤波时有一像素边缘没有被处理,当5x5滤波的时有2像素的边缘没有被处理。如下图所示: OpenCV中常见的边缘填充方式主要有4种: 1.BORDER_DEFAULT:默认模式 2.BORDER_CONS
阅读全文
posted @
2022-02-17 10:03
飘杨......
阅读(1328)
推荐(0) 编辑
OpenCV 使用自定义线性滤波比较Robert、Sobel、拉普拉斯算子
摘要:一、概述 案例:利用OpenCV提供的filter2D自定义线性滤波对Robert、Sobel、拉普拉斯算子进行比较 filter2D方法filter2D( Mat src, //输入图像 Mat dst, // 模糊图像 int depth, // 图像深度32/8 Mat kernel, //
阅读全文
posted @
2022-02-16 17:07
飘杨......
阅读(317)
推荐(0) 编辑
OpenCV上采样、重建及高斯不同
摘要:一、概述 案例:输入一张图片,对图片进行降采样、上采样、高斯不同 概念: 1.图像金字塔:我们再处理的过程中常常会调整图像的大小,最常见的就是放大和缩小,尽管几何变换也可以实现图像的放大与缩小,但这里我们使用金字塔的概念来进行。一个图像金字塔是一系列图像组成的,最底层图像最大,最上层图像最小。如下图
阅读全文
posted @
2022-02-16 15:01
飘杨......
阅读(217)
推荐(0) 编辑
OpenCV形态学梯度、顶帽、黑帽
摘要:一、概述 案例:使用morphologyEx函数实现形态学梯度、顶帽、黑帽 形态学梯度(基本梯度):相当于膨胀减去腐蚀 顶帽:相当于原图与开操作之间的差值图像 黑帽:相当于原图与闭操作之间的差值图像 形态学操作函数介绍:morphologyEx( InputArray src, OutputArra
阅读全文
posted @
2022-02-16 13:45
飘杨......
阅读(325)
推荐(0) 编辑
OpenCV开操作与闭操
摘要:一、概述 案例:利用图像的形态学操作开操作和闭操作对图片中(二值图像)指定噪声进行去除 腐蚀:用局部极小值替换锚点像素值 膨胀:用局部极大值替换锚点像素值 开操作:相当于先腐蚀再膨胀(erode+dilate) 闭操作:相当于先膨胀再腐蚀(dilate+erode) 开操作使用的原图: 闭操作使用的
阅读全文
posted @
2022-02-16 11:44
飘杨......
阅读(1311)
推荐(0) 编辑
OpenCV对图形验证码进行降噪(预处理),只保留阿拉伯数字和英文字母
摘要:一、概述 案例:对图形验证码进行降噪,去除非阿拉伯数字和英文字母的噪声 算法步骤: 1.加载Mat原图 2.使用高斯滤波进行降噪 3.转为为灰度图像 4.二值分割 5.膨胀(用局部极大值替换中心点像素) 6.腐蚀(用局部极小值替换中心点像素) 7.显示最终的结果 二、示例代码 Mat src = i
阅读全文
posted @
2022-02-16 10:09
飘杨......
阅读(525)
推荐(0) 编辑
OpenCV使用双边滤波对图片进行美化
摘要:一、概述 案例:使用双边滤波bilateralFilter函数对图片进行美化。 ps:双边滤波为边缘保留滤波的一种,其可以在很好的保留边缘的同时,对平坦区域的噪声有抑制效果 函数描述如下: bilateralFilter( InputArray src, OutputArray dst, int d
阅读全文
posted @
2022-02-15 13:59
飘杨......
阅读(203)
推荐(0) 编辑
OpenCV均值滤波、中值滤波、高斯滤波
摘要:一、概述 案例:使用均值滤波、中值滤波、高斯滤波来进行图像降噪 1.测试一张椒盐图片 2.测试一张图片 均值滤波:可以对图像进行轻微降噪 中值滤波:对图像进行降噪,并且对椒盐噪声有很好的抑制作用 高斯滤波:主要对自然界的噪声进行抑制 二、代码示例 Mat src = imread(filePath)
阅读全文
posted @
2022-02-15 10:45
飘杨......
阅读(357)
推荐(0) 编辑
OpenCV绘制基本几何图形
摘要:一、概述 案例:使用OpenCV绘制线、矩形、椭圆、圆形、多边形、文本(不支持绘制中文) 1.绘制线:line(InputOutputArray img, Point pt1, Point pt2, const Scalar& color, int thickness = 1, int lineTy
阅读全文
posted @
2022-02-15 10:09
飘杨......
阅读(238)
推荐(0) 编辑
OpenCV增加图像的亮度及对比度
摘要:一、概述 案例:输出一张原图,增加该图片的亮度及对比度 基本概念: 亮度:RGB的像素值范围是0~255,我们称从0——>255随着像素值的增加图像会越来月亮,反之会越来越暗。所以我们可以通过对图像像素加减来改变图像的亮度。 对比度:其反应的是图像中各像素的差异(层次感、落差感),差异越大对比度越大
阅读全文
posted @
2022-02-14 19:53
飘杨......
阅读(1669)
推荐(0) 编辑
OpenCV实现图像融合(addWeighted)
摘要:一、概述 案例:使用addWeighted将两张图片融合到一块 addWeighted(mat_first,alpha,mat_second,beta,gamma,dst);1.mat_first:第一张输入图片2.alpha:第一张图片的权重值3.mat_second:第二章输入图片4.beta:
阅读全文
posted @
2022-02-14 17:49
飘杨......
阅读(819)
推荐(0) 编辑
OpenCV手写像素取反
摘要:一、概述 使用opencv实现像素取反(自己手写) 原理:所谓的取反就是:每个像素都用255-当前像素值,得到的新的矩阵值就是我们的目标值。 做法:用255-当前像素值,替换掉当前位置的像素值即可 二、代码 QLabel* Chapter3Option::pixleReverse(const cha
阅读全文
posted @
2022-02-12 18:54
飘杨......
阅读(208)
推荐(0) 编辑
Qt选择图片并获取路径
摘要:一、概述 使用Qt选择图片文件并获取图片文件的路径 使用到的类:QFileDialog::getOpenFileName() 二、示例 QString filePath = QFileDialog::getOpenFileName(this, tr("选择视频"), ".", tr("Image F
阅读全文
posted @
2022-02-12 18:48
飘杨......
阅读(1323)
推荐(0) 编辑
Qt+OpenCV显示图片(Mat转QImage然后现在在QLabel上)
摘要:一、概述 此篇主要是记录一下如何将OpenCV集成得到Qt Creator中,并将OpenCV的Mat对象转换为QImage并使用qt的api显示图片 a.使用Qt Creator开发工具集成OpenCV,在.pro文件中配置环境即可,如下图所示 b.将Mat对象转为QImage对象并使用Qt显示出
阅读全文
posted @
2022-02-12 13:57
飘杨......
阅读(1611)
推荐(0) 编辑
Qt创建菜单的两种方式
摘要:一、概述 案例:1.使用Qt Creator 的UI设计界面创建菜单选项 2.使用代码创建菜单选项 二、代码示例&图例 1.使用Qt Creator创建菜单选项 2.使用代码创建menubar //创建菜单栏 QMenuBar *bar = this->menuBar(); this->setMen
阅读全文
posted @
2022-01-05 17:01
飘杨......
阅读(1359)
推荐(0) 编辑
Qt 创建一个自定义按钮
摘要:一、概述 案例:编写一个自定义按钮。要求:1.给按钮添加自定义背景 2.监听按钮点击事件 二、代码案例 1.创建一个类让其继承QWidget,点击下一步下一步最后完成 2.打开MyPushButton,让其继承QPushButton。如下所示: MyPushButton::MyPushButton(
阅读全文
posted @
2022-01-05 16:50
飘杨......
阅读(2048)
推荐(0) 编辑
Qt创建一个按钮,点击按钮关闭窗口
摘要:一、概述 开发工具:Qt Creator QApplication类简单介绍: QApplication应用程序类 1.管理图形用户界面应用程序的控制流和主要设置。 2.是Qt的整个后台管理的命脉它包含主事件循环,在其中来自窗口系统和其它资源的所有事件处理和调度。它也处理应用程序的初始化和结束,并且
阅读全文
posted @
2021-12-22 15:20
飘杨......
阅读(3106)
推荐(0) 编辑
使用libevent实现一个简单的tcp服务端
摘要:一、概述 1.特点: 1.事件驱动、高性能、轻量级、专注于网络 2.源代码精炼、易读 3.跨平台 4.支持多种I/O多路复用技术,如epoll 、poll 、select等 5.支持I/O和信号等事件 2.使用libevent 函数之前需要分配一个或者多个 event_base 结构体, 每个eve
阅读全文
posted @
2021-12-21 10:14
飘杨......
阅读(985)
推荐(0) 编辑
使用C语言获取当前系统的libevent支持的异步IO模型有哪些
摘要:一、概述 案例:使用libevent获取当前系统支持异步IO模型有哪些(select/poll/epoll) 二、代码示例 //获取libevent支持的方法和当前系统使用的方法 #include <stdio.h> #include <stdlib.h> #include <string.h> #
阅读全文
posted @
2021-12-20 14:45
飘杨......
阅读(95)
推荐(0) 编辑
使用C语言实现本地socke通讯
摘要:一、概述 使用本地socket通讯可以实现进程之间的通讯。 相关函数描述如下: int socket(int domain, int type, int protocol); 函数说明: 创建本地域socket 函数参数: domain: AF_UNIX or AF_LOCAL type: SOCK
阅读全文
posted @
2021-12-20 10:58
飘杨......
阅读(946)
推荐(0) 编辑