OpenCV 卷积运算和卷积核

卷积运算和卷积核

图像运算中经常会碰到卷积运算这个讲法, 初看不知道具体含义, 其实非常简单, 工作原理如下:

  1. 首先提供一个小的矩阵, 一般是3*3, 或者是 5*5 或者是 7*7, 一般是方形矩阵, 维度为奇数, 这样中心点可以作为锚点, 矩阵中的元素取值多为很小的整数(或正或负或零), 该矩阵被叫做 kernel 或卷积核.
  2. 图像中每个点的最终取值, 需要和 kernel矩阵做个运算才能得到该点的最终取值, 计算过程为: 先将卷积核的锚点对中图像上要计算的点, 这样核矩阵和图像上一小块区域会重叠, 我们将重叠部分各个点做乘法运算, 并将乘积相加作为计算点的最终取值.
  3. 很显然, 卷积运算其实就是对原图像各点进行了加权平均, 卷积核上各点数值相当于权重, 一般图像往往具备各方同性特征, 所以我们一般选择核中心点作为锚点, 同时选择奇数维度的矩阵, 这样的矩阵中心点就非常明确.

卷积核的构建

OpenCV中的结构化元素专指数值为0和1的卷积核矩阵, 当然卷积核矩阵并不要要求数值一定是1或1.

  1. 手工构建: 卷积核就是个矩阵, 所以我们可以先创建一个Mat, 然后手工设定各位置取值就可以.
  2. 构建全为1元素的矩阵, 下面两个写法等价.
Mat element1 = Mat.Ones(3, 3, MatType.CV_8UC1);
Mat element2 = Cv2.GetStructuringElement(MorphShapes.Rect, new OpenCvSharp.Size(3, 3));[  1,   1,   1,   1,   1;1,   1,   1,   1,   1;1,   1,   1,   1,   1;1,   1,   1,   1,   1;1,   1,   1,   1,   1]
  1. 构建是十字线为1的矩阵, 其他元素都为0
Mat element3 = Cv2.GetStructuringElement(MorphShapes.Cross, new OpenCvSharp.Size(3, 3));[  0,   0,   1,   0,   0;0,   0,   1,   0,   0;1,   1,   1,   1,   1;0,   0,   1,   0,   0;0,   0,   1,   0,   0]
  1. 构建是椭圆形矩阵, 椭圆形区域内的元素为1, 其他元素都为0
Mat element4 = Cv2.GetStructuringElement(MorphShapes.Cross, new OpenCvSharp.Size(5, 5));[  0,   0,   1,   0,   0;0,   0,   1,   0,   0;1,   1,   1,   1,   1;0,   0,   1,   0,   0;0,   0,   1,   0,   0]

参考

https://zhuanlan.zhihu.com/p/273475106https://blog.csdn.net/Vermont_/article/details/108424547

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/154914.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

注册亚马逊美国买家号需要些什么资料?

注册亚马逊美国买家号需要准备邮箱、美国手机号、美国地址及能支付的支付卡。准备好之后进入亚马逊美国站进行点击注册,按照格式填写好之后即可注册成功了。 而如果想要注册大量买家号,可以使用亚马逊鲲鹏系统进行自动化操作,想要自动化更顺畅…

活动回顾 | 数字外贸私享会【上海站】成功举办

11月17日,由箱讯科技主办的数字外贸高端定制私享会【上海站】成功举办!本次会议的主题为“新模式、新商机、新政策”,外贸行业的老板、企业家们齐聚一堂,凝聚共识,共话数字外贸的新趋势和新机遇。 近年来,数…

HTML+CSS+ElementUI搭建个人博客页面(纯前端)

网站演示 搭建过程 html部分 首先下载Vue2&#xff0c;ElementUI等插件&#xff0c;放在你的本地。我这里为了运行方便&#xff0c;把代码放在了一个框架里运行。 下载后引入部分 <link rel"stylesheet" href"{{URL::asset(elementui/lib/theme-chalk/ind…

设计师有哪些副业?优漫教育

1、自我推广 设计师有哪些副业&#xff1f;   正所谓&#xff1a;肥水不流外人田&#xff0c;身边朋友需要做海报logo设计什么的,肯定第一个想到的就是你&#xff0c;那么这里无非就两种情况&#xff1a;   一种情况就是朋友拿你当朋友&#xff0c;设计之前会问清相关…

bank conflicts 理解

1、同一个bank下如果有多个threads access 不同的地址&#xff0c;就会出现bank conflicts, 2、如果是多个threads read 同一个bank内的同一个地址&#xff0c;就是broadcast 模式没有bank conflicts&#xff0c;这种情况下带宽利用率较低&#xff0c;因为只用了一个bank资源…

黑马React18: 基础Part II

黑马React: 基础2 Date: November 16, 2023 Sum: 受控表单绑定、获取DOM、组件通信、useEffect、Hook、优化B站评论 受控表单绑定 受控表单绑定 概念&#xff1a;使用React组件的状态&#xff08;useState&#xff09;控制表单的状态 准备一个React状态值 const [value, se…

Linux操作系统的Web服务器优点

Linux操作系统的Web服务器优点 Windows&#xff0c;Linux与Unix这3个操作系统是架设Web服务器比较常见的操作系统。Linux的安全性能在这3个操作系统中最高&#xff0c;可以支持多个硬件平台&#xff0c;其网络功能比较强大。总的来说这两大优点是其他操作系统不可替代的&#…

基于C#实现协同推荐 SlopeOne 算法

一、概念 相信大家对如下的 Category 都很熟悉&#xff0c;很多网站都有类似如下的功能&#xff0c;“商品推荐”,"猜你喜欢“&#xff0c;在实体店中我们有导购来为我们服务&#xff0c;在网络上我们需要同样的一种替代物&#xff0c;如果简简单单的在数据库里面去捞&am…

小迪笔记(1)——操作系统文件下载反弹SHELL防火墙绕过

名词解释 POC&#xff1a;验证漏洞存在的代码&#xff1b; EXP&#xff1a;利用漏洞的代码&#xff1b; payload&#xff1a;漏洞利用载荷&#xff0c; shellcode&#xff1a;漏洞代码&#xff0c; webshell&#xff1a;特指网站后门&#xff1b; 木马&#xff1a;强调控制…

rotation matrix reflection matrix

文章目录 1. rotation matrix1.1 结论 2. reflection matrix2.1 结论 1. rotation matrix 图像逆时针旋转 θ \theta θ的矩阵 Q r o t a t e [ cos ⁡ θ − sin ⁡ θ sin ⁡ θ cos ⁡ θ ] (1) Q_{rotate}\begin{bmatrix}\cos\theta&-\sin\theta\\\sin\theta&\c…

洗涤厂污水处理设备厂家工艺流程

诸城市鑫淼环保小编带大家了解一下洗涤厂污水处理设备厂家工艺流程 1.格栅&#xff1a;格栅是初级处理中常用的设备&#xff0c;用于拦截较大的杂质和固体颗粒。我们的格栅采用优质不锈钢制造&#xff0c;结构坚固耐用&#xff0c;可有效防止堵塞和腐蚀。 2.活性污泥池&#xf…

数据湖的概念、发展背景和价值

数据湖是一个集中化的存储系统&#xff0c;旨在以低成本、大容量的方式&#xff0c;无需预先对数据进行结构化处理&#xff0c;存储各种结构化和非结构化数据。以下是数据湖概念、发展背景和价值的详细介绍。 数据湖概念 数据湖的概念源自于对传统数据仓库的补充。传统数据仓…

Ajax之基本语法

【一】前后端传输数据的编码格式(contentType) 主要研究POST请求数据的编码格式 因为GET请求数据就是直接放在url后面的 可以朝后端发送post请求的方式 form请求ajax请求api工具 【1】form表单 前后端传输数据的格式 urlencoded formdata json 【2】编码格式 form表单默认…

zookeeper应用之分布式队列

队列这种数据结构都不陌生&#xff0c;特点就是先进先出。有很多常用的消息中间件可以有现成的该部分功能&#xff0c;这里使用zookeeper基于发布订阅模式来实现分布式队列。对应的会有一个生产者和一个消费者。 这里理论上还是使用顺序节点。生产者不断产生新的顺序子节点&am…

Java修仙记之记录一次与前端女修士论道的经历

文章开始之前&#xff0c;想跟我念一句&#xff1a;福生无量天尊&#xff0c;无量寿佛&#xff0c;阿弥陀佛 第一场论道&#xff1a;id更新之争 一个天气明朗的下午&#xff0c;前端的小美女长发姐告诉我&#xff1a;嘿&#xff0c;小后端&#xff0c;你的代码报错了 我答道&am…

SpringBoot 全局请求参数转驼峰、响应参数转换为下划线

文章目录 前言请求参数将下划线转换为驼峰响应参数将驼峰转换为下划线方式一 使用Jackson方式处理方式二 在配置文件中修改jackson.default-property-inclusion 说明jackson.property-naming-strategy 说明前言 在开发SpringBoot项目时,我们经常需要处理参数的命名规范。有时…

springboot -sse -flux 服务器推送消息

先说BUG处理&#xff0c;遇到提示异步问题 Async support must be enabled on a servlet and for all filters involved in async request processing. This is done in Java code using the Servlet API or by adding "<async-supported>true</async-supported&…

如何保障亚马逊多账户的安全,防止关联?

在亚马逊平台上拥有多个账户可以扩大销售渠道&#xff0c;但同时也需要注意账户的安全&#xff0c;以防止被关联。本文将介绍一些重要的措施&#xff0c;帮助您保护亚马逊多账户的安全&#xff0c;预防账号关联。 一、亚马逊关联是什么&#xff1f; 在亚马逊平台上&#xff0…

单节点服务架构

单节点的服务架构&#xff1a; LNMP l:lilnux系统 n:nginx静态页面&#xff0c;转发动态请求 m:mysql数据库&#xff0c;后端服务器&#xff0c;保存用户和密码信息&#xff0c;以及论坛的信息 p:PHP&#xff0c;处理动态请求&#xff0c;动态请求转发数据库&#xff0c;然…

3PC(三阶段提交)

三阶段提交 3PC&#xff08;Three-Phase Commit&#xff09;是一种分布式系统中用于实现事务一致性的协议&#xff0c;它是在2PC&#xff08;Two-Phase Commit&#xff09;的基础上发展而来&#xff0c;旨在解决2PC的一些缺点。与2PC的两个阶段&#xff08;准备和提交&#xf…