卷积处理过程模拟:用Python实现OpenCV函数filter2D等效的卷积功能

2023-11-08

一、引言

在《OpenCV-Python 图像平滑处理:卷积函数filter2D详解及均值滤波案例》介绍了filter2D相关的功能及使用,下面老猿用Python、numpy矩阵运算以及OpenCV-Python的图像基础操作模拟实现一个卷积程序。该程序支持使用特定的卷积核对图像进行卷积处理,除了卷积核和锚点参数外,本程序模拟filter2D实现时其他参数都使用的是默认值。

二、程序实现需要关注的三点

2.1、在filter2D的卷积核矩阵类型为浮点类型

在图像处理中,数字图像都是整数型矩阵,当用核矩阵和卷积核进行卷积处理时,如果不强制将数字图像矩阵转为浮点型,那么在相关矩阵运算过程中必须指定结果类型也为浮点型,否则会丢失精度。老猿采用的是在运算过程中将图像矩阵元素转为核矩阵元素类型相同的类型。

2.2、numpy的矩阵从浮点转为整型时的取值处理

numpy的矩阵从浮点转为整型时的整型取值是去除小数部分,不进行四舍五入处理,而filter2D经测试是进行了四舍五入处理的。

下面是numpy浮点矩阵转换为整型矩阵的一个测试,测试代码如下:

kerna
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

卷积处理过程模拟:用Python实现OpenCV函数filter2D等效的卷积功能 的相关文章

随机推荐

  • gcc编译器局部变量在栈中的内存分配

    内存分配 根据系统与编译器的不同 差别很大 之前曾经发现在ubuntu12 04系统gcc 4 63版本编译器 先定义的局部变量在栈中地址低 而后定义的局部变量在栈中地址高 与认知有差别 试了多个系统与编译器 最后发现与linux发行版关系
  • 华为机试题66-配置文件恢复

    描述 有6条配置命令 它们执行的结果分别是 命 令 执 行 reset reset what reset board board fault board add where to add board delete no board at a
  • 移动端一些调试小技巧

    1 本地服务在手机上打开 在调试手机机型的时候 可以在本地起来服务 这时候域名是localhost 打开命令行 输入ipconfig 选取IPv4 替换掉localhost 在同一网段下 用手机打开即可看到当前运行的页面 2 移动端调取控制
  • PCB过孔大小

    对于PCB设计的过孔几组常用的设定如下 常用过孔尺寸 孔径 24 mil 20 mil 16 mil 12 mil 8 mil 焊盘直径 40 mil 35 mil 28 mil 25 mil 20 mil 内层热焊盘直径 50 mil 4
  • Open3d之计算点云边界框

    核心函数 与Open3D中的其他几何类型一样 PointCloud几何类型具有边界框 当前 Open3D实现了AxisAlignedBoundingBox和OrientedBoundingBox 它们也可用于裁剪几何 AxisAligned
  • 【LeetCode-简单题 KMP匹配算法】28. 找出字符串中第一个匹配项的下标

    文章目录 题目 方法一 常规做法 一次一次截取再做比较 方法二 KMP匹配算法 题目 方法一 常规做法 一次一次截取再做比较 class Solution public int strStr String haystack String n
  • Letcode数组相关算法

    查找数组第K大数字 题意 查找一个数字第k大数字 如数组a 1 2 3 4 5 6 它的第2大数字就是5 代码 快排思路解决 在一个数组查找最k大数字 public static int findKthLargestNum int nums
  • windows文件夹挂载至Linux中

    背景 我们准备的安装包是需要在linux上使用docker compose进行部署 其中一个服务依赖GPU进行计算 需要能够使用到GPU 然而客户提供的是Windows服务器 且不能重装系统 并且最最最重要的是 NVIDIA的卡无法通过Hy
  • 解决ECharts关系点击图例节点偏移问题

    首先说问题原因 如果在没有设置x和y的坐标会出现这个问题 因为ECharts会开启自动布局算法所以在点击图例之后又将对应的图例进行的算法布局 所以才会导致数据偏移 解决办法 1 设置layout为none 禁止开启算法布局 layout n
  • 重排链表小结

    重排链表小结 又发现一道好玩的题目 顺带来复习一下之前学过的知识吧 Leetcode题目 143 重排链表 给定一个单链表 L 的头节点 head 单链表 L 表示为 L0 L1 Ln 1 Ln 请将其重新排列后变为 L0 Ln L1 Ln
  • Contruct 2制作的HTML5游戏的简单介绍

    游戏背景 在主宰大陆上生活着这样一群人 他们生来掌握着强大的魔法力量 然而自然界从来不允许什么生物可以一家独大 所以与之对应一群强大的魔法生物诞生了 一场人与兽的较量就此展开 伊琳娜是喀布尔山脉的守护者 负责保护阿帕丝女神的雕像 这天阳光正
  • windows配置了path系统环境变量但是不生效

    在配置path环境变量时发现配置的环境变量压根没有效果 但是环境变量内容也没写错 那多半是这个原因 正确的 C Program Files x86 NVIDIA Corporation PhysX Common SystemRoot sys
  • zabbix通过IPMI监控硬件环境(温度和风扇)

    IPMI Intelligent PlatformManagement Interface 即智能平台管理接口是使硬件管理具备 智能化 的新一代通用接口标准 用户可以利用 IPMI 监视服务器的物理特征 如温度 电压 电扇工作状态 电源供应
  • Windows通过计划任务定时执行bat文件

    首先打开Windows系统的 开始 菜单 从中依次点选 程序 附件 系统工具 任务计划程序 命令 点击 创建任务 后如图所示 填写好相应的名称和勾选好必要的条件 选择 触发器 选项 点击 新建 创建任务执行时间 重复任务间隔 这个选择后 后
  • 常见登录鉴权方案

    编者注 今天我们分享的是卢士杰同学整理的网站常用鉴权方案的实现原理与实现以及他们的适用场景 帮助大家在业务中做合适的选择 背景 说起鉴权大家应该都很熟悉 不过作为前端开发来讲 鉴权的流程大头都在后端小哥那边 本文的目的就是为了让大家了解一下
  • 360的服务器在哪个文件夹,如何卸载服务器上顽固的360

    前几天接触到一台戴尔R410的服务器 已经尘封两年 忘记密码无法进入系统 系统是经典的windows server 2003 于是直接用量化好暗组优盘系统的U盘启动 在这里要注意下 服务器的按del是没用的 需要按F12 进入后 选择u盘启
  • 服务器装win10稳定吗,win11发布了,那么电脑安装win11稳定吗?win11稳定性介绍

    近期新的win11系统出去后 绝大多数用户都很希望 但也是有许多平稳用户由于还不知道这一系统如何 因此迟疑需不需要升级 实际上 现在是预览版系统镜像系统 或多或少会出现一点bug 但整体而言或是相对稳定 下面大家一起来看看win11平稳吗的
  • 代码随想录训练营第五十九天

    1 下一个更大元素II 题503 循环数组有两种方法 一是用同一个数组拼接成两个数组 实现假循环 二是遍历两遍 用求余的方法 求余的方法更简便 class Solution public vector
  • java 变量的生命周期

    这个要从作用域开始说起 像局部变量的作用域就是他的生命周期 比如if for switch等等这些 出了这个结构就销毁了 方法里的局部变量 在方法调用完就销毁 如果是类的成员变量 在类的相应的对象销毁的时候销毁 上面说的是普通变量 如果是静
  • 卷积处理过程模拟:用Python实现OpenCV函数filter2D等效的卷积功能

    一 引言 在 OpenCV Python 图像平滑处理 卷积函数filter2D详解及均值滤波案例 介绍了filter2D相关的功能及使用 下面老猿用Python numpy矩阵运算以及OpenCV Python的图像基础操作模拟实现一个卷