当前位置: 首页 > news >正文

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()函数的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 该函数返回 Gabor 滤波器系数。 Gabor 滤波器在图像处理中非常有用&#xff0c;特别是在纹理分析、特征提取和边缘检测等领域。 函数原型 Mat c…...

门店收银系统源码+同城即时零售多商户入驻商城源码

一、我们为什么要开发这个系统&#xff1f; 1. 商户经营现状 “腰尾部”商户&#xff0c;无小程序运营能力&#xff1b;自营私域商城流量渠道单一&#xff1b;无法和线下收银台打通&#xff0c;库存不同步&#xff0c;商品不同步&#xff0c;订单不同步&#xff1b; 2.平台服…...

MaxKB:基于 LLM大语言模型的知识库问答系统实操

1.MaxKB介绍 MaxKB 是一款基于 LLM&#xff08;Large Language Model&#xff09;大语言模型的知识库问答系统。MaxKB 的产品命名内涵为 “Max Knowledge Base”&#xff0c;为用户提供强大的学习能力和问答响应速度&#xff0c;致力于成为企业的最强大脑。与同类基于 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公式

开发背景 接上文我求的两经纬度点之间的方位角&#xff0c;我的需求里还提到了要计算距离&#xff0c;当然这个距离也是为后面的需求做铺垫的&#xff0c;因此需要求两个经纬度电之间的距离。 不要妄想用勾股定理求出来&#xff0c;实际上距离的计算还是稍微复杂些。这里使用的…...

[C++] : std::copy_n

std::copy_n 是 C 标准库中的一个算法&#xff0c;用于将指定数量的元素从一个输入范围复制到一个输出范围。那这就提供了很灵活的用法了。下面我们举例说明。 语法 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中的各个数据&#xff0c;存的是各个不同的vector 思路&#xff1a;先给vector开空间&#xff0c;然后…...

Webpack Bundle Analysis:减少包体积的技巧

Webpack 是一个流行的 JavaScript 模块打包器&#xff0c;它能够将项目中各种类型的模块和资源打包成一个或多个 bundle。然而&#xff0c;随着项目的复杂性增加&#xff0c;bundle 的体积也会随之增大&#xff0c;这可能导致加载时间变长&#xff0c;影响用户体验。 Webpack …...

如何利用 ChatGPT 提高工作效率?

内容创作与总结&#xff1a; 写作辅助&#xff1a;可以帮助撰写文章、报告、邮件等各种文本&#xff0c;如为招商银行写宣传文案、写论文、写故事等。学习材料生成&#xff1a;能够生成学习材料&#xff0c;如摘要、抽认卡和测验&#xff0c;帮助学生复习和学习课程。评估和考核…...

使用 Redisson 、Redis实现分布式锁

Redisson 是基于 Redis 实现的一个 Java 框架&#xff0c;为开发者提供了更方便、更高级的 API 和功能。 Redisson 优点&#xff1a; 简单易用的 API&#xff1a;简化了 Redis 操作的代码编写&#xff0c;使开发者能够更专注于业务逻辑。 分布式特性支持&#xff1a;如分布式…...

Typro + PicGo 图床 + Docsify + GitHub Pages,玩转个人知识库搭建,写给小白的建站入门课

自动开了这个号以后&#xff0c;陆陆续续写了很多干货文章&#xff0c;一方面是可以帮助自己梳理思路&#xff0c;另一方面也方便日后查找相关内容。 但是&#xff0c;我想检索某个关键词是在之前哪篇文章写过的&#xff0c;就有点捉急了。CSDN 还好&#xff0c;可以检索到相关…...

多角度文字识别:应对复杂环境的智能解决方案

多角度文字识别&#xff08;Multi-Angle Text Recognition&#xff09;是指在不同视角、不同光照条件和不同背景下对文本进行识别的技术。这项技术在许多应用场景中都非常重要&#xff0c;例如自动驾驶、智能监控、文档数字化等。以下是关于多角度文字识别的一些关键点和摘要&a…...

笔记:简单介绍WPF中RenderTransform,LayoutTransform, VisualTransform区别

一、目的&#xff1a;简单介绍WPF中RenderTransform&#xff0c;LayoutTransform&#xff0c; VisualTransform区别 在 WPF 中&#xff0c;RenderTransform、LayoutTransform 和 VisualTransform 是用于对控件进行变换的属性&#xff0c;他们的主要区别是什么&#xff0c;如何选…...

【AI大模型】LangChain框架:示例选择器与输出解析器携手,编织NLP高效精准之网

文章目录 前言一、示例选择器1.介绍及应用2.自定义示例选择器案例&#xff1a;AI点评姓名 3.基于长度的示例选择器案例&#xff1a;对输入内容取反 4.基于最大边际相关性(MMR)的示例选择器案例&#xff1a;得到输入的反义词 5.基于n-gram重叠的示例选择器6.综合案例 二、输出解…...

苹果电脑玩的游戏有哪些 Mac电脑怎么玩Windows游戏 苹果电脑可以装模拟器玩游戏吗

苹果电脑虽然在游戏生态上可能不及Windows平台那么广泛&#xff0c;但其强大的硬件和macOS系统的优化&#xff0c;足以支持一系列高质量游戏的流畅运行。从策略游戏《文明VI》到动作冒险游戏《黑暗之魂III》&#xff0c;再到解谜游戏《传送门2》和角色扮演游戏《神界&#xff1…...

OpenClaw人人养虾:macOS 开发环境设置

本指南介绍从源代码构建和运行 OpenClaw macOS 应用所需的步骤。 前置条件 在构建应用之前&#xff0c;请确保已安装以下工具&#xff1a; Xcode 26.2&#xff1a;Swift 开发所需。Node.js 22 和 pnpm&#xff1a;gateway、CLI 和打包脚本所需。 1. 安装依赖 安装项目级依…...

PoeCharm完全攻略:角色构建效率提升与优化指南——解决流放之路玩家的数值困境

PoeCharm完全攻略&#xff1a;角色构建效率提升与优化指南——解决流放之路玩家的数值困境 【免费下载链接】PoeCharm Path of Building Chinese version 项目地址: https://gitcode.com/gh_mirrors/po/PoeCharm 引言&#xff1a;流放之路玩家的三大核心痛点 流放之路作…...

3分钟搞定!BaiduPCS-Web免费解锁百度网盘满速下载终极方案

3分钟搞定&#xff01;BaiduPCS-Web免费解锁百度网盘满速下载终极方案 【免费下载链接】baidupcs-web 项目地址: https://gitcode.com/gh_mirrors/ba/baidupcs-web 还在为百度网盘下载速度慢如蜗牛而烦恼吗&#xff1f;每次下载大文件都要等上几个小时甚至一整天&#…...

终极指南:告别鼠标!Spectacle窗口动作组合让复杂布局一键生成 [特殊字符]

终极指南&#xff1a;告别鼠标&#xff01;Spectacle窗口动作组合让复杂布局一键生成 &#x1f680; 【免费下载链接】spectacle Spectacle allows you to organize your windows without using a mouse. 项目地址: https://gitcode.com/gh_mirrors/sp/spectacle 想要提…...

SN74181芯片逻辑图解析:从Cn+1进位信号看加法器设计

SN74181芯片逻辑图解析&#xff1a;从Cn1进位信号看加法器设计 在数字电路设计的经典教材中&#xff0c;SN74181算术逻辑单元(ALU)芯片总是占据着重要位置。这款诞生于上世纪60年代的4位ALU芯片&#xff0c;至今仍是理解计算机算术运算基础的绝佳案例。特别是其进位信号Cn1的生…...

C语言运算符入门:零基础必学的5类核心运算符

对于编程入门而言&#xff0c;C语言是经典语言&#xff0c;运算符属于其最基础且最核心知识点当中的一个&#xff0c;后续去学习分支语句的时候&#xff0c;离不开对运算符的熟练运用&#xff0c;学习循环语句的时候&#xff0c;同样离不开对运算符使用熟练&#xff0c;学习函数…...

【JavaSE-网络部分06】TCP 纯高性能优化机制:延迟应答・捎带应答【传输层】

上一期咱们把TCP稳如泰山的三大核心机制——滑动窗口、流量控制、拥塞控制彻底盘明白了&#x1f4da;。 这三者强强联手&#xff0c;既守住了可靠传输的底线&#xff0c;又大幅提升传输效率&#xff0c;让数据既稳又快地跑在网络里。 但TCP对性能的“抠搜”可不止于此&#x1f…...

Asian Beauty Z-Image Turbo商业应用:快速生成品牌宣传东方形象照

Asian Beauty Z-Image Turbo商业应用&#xff1a;快速生成品牌宣传东方形象照 大家好&#xff0c;今天我们来聊一个对品牌方、市场人员和内容创作者特别有吸引力的工具——Asian Beauty Z-Image Turbo。如果你正在为品牌宣传、社交媒体内容或营销活动寻找高质量的东方形象照&a…...

4个高效步骤实现HMCL启动器数据无忧迁移全攻略

4个高效步骤实现HMCL启动器数据无忧迁移全攻略 【免费下载链接】HMCL A Minecraft Launcher which is multi-functional, cross-platform and popular 项目地址: https://gitcode.com/gh_mirrors/hm/HMCL 当你终于升级了新电脑&#xff0c;兴冲冲地安装好HMCL启动器准备…...

雷达导论PART I.2 核心原理与信号处理 2024-1-18

1. 雷达信号处理的核心原理 雷达系统通过发射电磁波并接收目标反射的回波信号来探测目标信息。这个看似简单的过程背后&#xff0c;其实蕴含着丰富的物理原理和精妙的信号处理技术。我们先从最基础的多普勒效应说起。 多普勒效应是雷达测速的核心原理。当目标与雷达之间存在相对…...