OpenCV图像滤波(8)getGaborKernel()函数的使用
- 操作系统:ubuntu22.04
- OpenCV版本:OpenCV4.9
- IDE:Visual Studio Code
- 编程语言:C++11
算法描述
该函数返回 Gabor 滤波器系数。
Gabor 滤波器在图像处理中非常有用,特别是在纹理分析、特征提取和边缘检测等领域。
函数原型
Mat cv::getGaborKernel
(Size ksize,double sigma,double theta,double lambd,double gamma,double psi = CV_PI *0.5,int ktype = CV_64F
)
参数
- 参数ksize 返回的滤波器的大小。
- 参数sigm 高斯包络的标准差。
- 参数theta Gabor 函数中平行条纹的法线方向。
- 参数lambd 正弦因子的波长。
- 参数gamma 空间纵横比。
- 参数psi 相位偏移。
- 参数ktype 相位偏移。
代码示例
#include <iostream>
#include <opencv2/opencv.hpp>int main( int argc, char** argv )
{// 读取图像cv::Mat src = cv::imread( "/media/dingxin/data/study/OpenCV/sources/images/erik.jpg", cv::IMREAD_GRAYSCALE );if ( src.empty() ){std::cout << "Error: Image cannot be loaded!" << std::endl;return -1;}cv::Size sz2Sh( 400, 600 );cv::resize( src, src, sz2Sh, 0, 0, cv::INTER_LINEAR_EXACT );// 获取 Gabor 核cv::Mat kernel = cv::getGaborKernel( cv::Size( 3, 3 ), 1.0, CV_PI / 4, 1.0, 0.5, 0, CV_32F );// 应用 Gabor 核cv::Mat filtered;cv::filter2D( src, filtered, -1, kernel );// 显示图像cv::namedWindow( "Original Image", cv::WINDOW_NORMAL );cv::imshow( "Original Image", src );cv::namedWindow( "Filtered Image", cv::WINDOW_NORMAL );cv::imshow( "Filtered Image", filtered );cv::waitKey( 0 );return 0;
}
运行结果
当:cv::Mat kernel = cv::getGaborKernel( cv::Size( 3, 3 ), 1.0, CV_PI / 4, 1.0, 0.5, 0, CV_32F )时;

当:cv::Mat kernel = cv::getGaborKernel( cv::Size( 5, 5 ), 1.0, CV_PI / 4, 1.0, 0.5, 0, CV_32F )时;

当:cv::Mat kernel = cv::getGaborKernel( cv::Size( 5, 5), 1.0, CV_PI / 4, 1.0, 0.5, 1, CV_32F )时;

相关文章:
OpenCV图像滤波(8)getGaborKernel()函数的使用
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 该函数返回 Gabor 滤波器系数。 Gabor 滤波器在图像处理中非常有用,特别是在纹理分析、特征提取和边缘检测等领域。 函数原型 Mat c…...
门店收银系统源码+同城即时零售多商户入驻商城源码
一、我们为什么要开发这个系统? 1. 商户经营现状 “腰尾部”商户,无小程序运营能力;自营私域商城流量渠道单一;无法和线下收银台打通,库存不同步,商品不同步,订单不同步; 2.平台服…...
MaxKB:基于 LLM大语言模型的知识库问答系统实操
1.MaxKB介绍 MaxKB 是一款基于 LLM(Large Language Model)大语言模型的知识库问答系统。MaxKB 的产品命名内涵为 “Max Knowledge Base”,为用户提供强大的学习能力和问答响应速度,致力于成为企业的最强大脑。与同类基于 LLM 的知…...
linux文件命令:更新文件时间戳的工具touch详解
目录 一、概述 二. touch 命令的基本用途 三. touch 命令的语法 3.1、语法 3.2、touch 命令的选项 3.3、时间字符串格式 四. 常用场景 4.1 创建空文件 4.2 同时创建多个文件 4.3 更新文件的时间戳 4.4 只更新访问时间 4.5 只更新修改时间 4.6 设置特定时间戳 4.7 使用另…...
Docker学习(6):Docker Compose部署案例
一、docker-compose部署mysql 1、准备镜像 2、编写my.cnf配置文件 # 服务端参数配置 [mysqld] usermysql # MySQL启动用户 default-storage-engineINNODB # 创建新表时将使用的默认存储引擎 character-set-serverutf8mb4 # 设置mysql服务端默认字符集…...
4章3节:处理医学类原始数据的重要技巧,R语言中的宽长数据转换,tidyr包的使用指南
在数据分析中,数据的存储方式直接影响分析过程的效率和准确性。常见的数据存储形式有宽型数据(wide format)和长型数据(long format)。宽型数据适合人类查看和理解,而长型数据则更适合计算机处理和分析。为此,R语言提供了tidyr包,用于在这两种数据格式之间进行转换。本…...
[Web安全架构] HTTP协议
文章目录 前言1. HTTP1 . 1 协议特点1 . 2 URL1 . 3 Request请求报文1 . 3 .1 请求行1 . 3 .2 请求头1 . 3 .3 请求正文1 . 3 .4 常见传参方式 1 . 4 Response响应报文1 . 4 .1 响应行1 . 4 .2 响应头1 . 4 .3 响应正文 2. Web会话2 .1 Cookie2 .2 Session2 .3 固定会话攻击 前…...
mysql数据库之运算符
安全等于运算符(<=>) 这个操作符和 = 操作符执行相同的比较操作,不过<=>可以用来判断NULL值。在两个操作数均为NULL时,其返回值为1而不为NULL;而当一个操作数为NULL时,其返回值为0而不为NULL。 下面分别是 SELECT NULL <=>1 SELECT 1<=>0 SEL…...
Spark轨迹大数据高效处理_计算两经纬度点间的距离_使用Haversine formula公式
开发背景 接上文我求的两经纬度点之间的方位角,我的需求里还提到了要计算距离,当然这个距离也是为后面的需求做铺垫的,因此需要求两个经纬度电之间的距离。 不要妄想用勾股定理求出来,实际上距离的计算还是稍微复杂些。这里使用的…...
[C++] : std::copy_n
std::copy_n 是 C 标准库中的一个算法,用于将指定数量的元素从一个输入范围复制到一个输出范围。那这就提供了很灵活的用法了。下面我们举例说明。 语法 template< class InputIt, class Size, class OutputIt > OutputIt copy_n(InputIt first, Size count…...
centos上传工具
yum install lrzsz 安装完成之后 作用是 输入 rz 可以本地上传文件...
【C++】vector习题
一、杨辉三角 class Solution { public:vector<vector<int>> generate(int numRows) {} }; 这里给你一个vector<vector<int>>类型 也就是说vector中的各个数据,存的是各个不同的vector 思路:先给vector开空间,然后…...
Webpack Bundle Analysis:减少包体积的技巧
Webpack 是一个流行的 JavaScript 模块打包器,它能够将项目中各种类型的模块和资源打包成一个或多个 bundle。然而,随着项目的复杂性增加,bundle 的体积也会随之增大,这可能导致加载时间变长,影响用户体验。 Webpack …...
如何利用 ChatGPT 提高工作效率?
内容创作与总结: 写作辅助:可以帮助撰写文章、报告、邮件等各种文本,如为招商银行写宣传文案、写论文、写故事等。学习材料生成:能够生成学习材料,如摘要、抽认卡和测验,帮助学生复习和学习课程。评估和考核…...
使用 Redisson 、Redis实现分布式锁
Redisson 是基于 Redis 实现的一个 Java 框架,为开发者提供了更方便、更高级的 API 和功能。 Redisson 优点: 简单易用的 API:简化了 Redis 操作的代码编写,使开发者能够更专注于业务逻辑。 分布式特性支持:如分布式…...
Typro + PicGo 图床 + Docsify + GitHub Pages,玩转个人知识库搭建,写给小白的建站入门课
自动开了这个号以后,陆陆续续写了很多干货文章,一方面是可以帮助自己梳理思路,另一方面也方便日后查找相关内容。 但是,我想检索某个关键词是在之前哪篇文章写过的,就有点捉急了。CSDN 还好,可以检索到相关…...
多角度文字识别:应对复杂环境的智能解决方案
多角度文字识别(Multi-Angle Text Recognition)是指在不同视角、不同光照条件和不同背景下对文本进行识别的技术。这项技术在许多应用场景中都非常重要,例如自动驾驶、智能监控、文档数字化等。以下是关于多角度文字识别的一些关键点和摘要&a…...
笔记:简单介绍WPF中RenderTransform,LayoutTransform, VisualTransform区别
一、目的:简单介绍WPF中RenderTransform,LayoutTransform, VisualTransform区别 在 WPF 中,RenderTransform、LayoutTransform 和 VisualTransform 是用于对控件进行变换的属性,他们的主要区别是什么,如何选…...
【AI大模型】LangChain框架:示例选择器与输出解析器携手,编织NLP高效精准之网
文章目录 前言一、示例选择器1.介绍及应用2.自定义示例选择器案例:AI点评姓名 3.基于长度的示例选择器案例:对输入内容取反 4.基于最大边际相关性(MMR)的示例选择器案例:得到输入的反义词 5.基于n-gram重叠的示例选择器6.综合案例 二、输出解…...
苹果电脑玩的游戏有哪些 Mac电脑怎么玩Windows游戏 苹果电脑可以装模拟器玩游戏吗
苹果电脑虽然在游戏生态上可能不及Windows平台那么广泛,但其强大的硬件和macOS系统的优化,足以支持一系列高质量游戏的流畅运行。从策略游戏《文明VI》到动作冒险游戏《黑暗之魂III》,再到解谜游戏《传送门2》和角色扮演游戏《神界࿱…...
java_网络服务相关_gateway_nacos_feign区别联系
1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...
OPENCV形态学基础之二腐蚀
一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...
AI病理诊断七剑下天山,医疗未来触手可及
一、病理诊断困局:刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断",医生需通过显微镜观察组织切片,在细胞迷宫中捕捉癌变信号。某省病理质控报告显示,基层医院误诊率达12%-15%,专家会诊…...
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习) 一、Aspose.PDF 简介二、说明(⚠️仅供学习与研究使用)三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...
Go 语言并发编程基础:无缓冲与有缓冲通道
在上一章节中,我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道,它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好࿰…...
云原生安全实战:API网关Kong的鉴权与限流详解
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关(API Gateway) API网关是微服务架构中的核心组件,负责统一管理所有API的流量入口。它像一座…...
vue3 daterange正则踩坑
<el-form-item label"空置时间" prop"vacantTime"> <el-date-picker v-model"form.vacantTime" type"daterange" start-placeholder"开始日期" end-placeholder"结束日期" clearable :editable"fal…...
stm32进入Infinite_Loop原因(因为有系统中断函数未自定义实现)
这是系统中断服务程序的默认处理汇编函数,如果我们没有定义实现某个中断函数,那么当stm32产生了该中断时,就会默认跑这里来了,所以我们打开了什么中断,一定要记得实现对应的系统中断函数,否则会进来一直循环…...
window 显示驱动开发-如何查询视频处理功能(三)
D3DDDICAPS_GETPROCAMPRANGE请求类型 UMD 返回指向 DXVADDI_VALUERANGE 结构的指针,该结构包含特定视频流上特定 ProcAmp 控件属性允许的值范围。 Direct3D 运行时在D3DDDIARG_GETCAPS的 pInfo 成员指向的变量中为特定视频流的 ProcAmp 控件属性指定DXVADDI_QUER…...
LeetCode - 148. 排序链表
目录 题目 思路 基本情况检查 复杂度分析 执行示例 读者可能出的错误 正确的写法 题目 148. 排序链表 - 力扣(LeetCode) 思路 链表归并排序采用"分治"的策略,主要分为三个步骤: 分割:将链表从中间…...
