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

CV(2)-插值和卷积

前言

仅记录学习过程,有问题欢迎讨论

看看年前可以学到哪。

频率:

灰度值变化程度的指标,是灰度再平面上的梯度幅值:

幅值:

是在一个周期内,交流电瞬时出现的最大绝对值,也是一个正弦波,波峰到波谷的距离的一半。

图像的取样和量化:

  • 取样:就是要用多少点来描述一幅图像,取样结果质量的高低就是用图像的分辨率来衡量的
  • 量化:是指要使用多大范围的数值来表示图像采样之后的一个点。
  • 数字化坐标值称为取样,数字化幅度值称为量化

上采样与下采样:

  • 缩小图像(或称为下采样或降采样)的主要目的:
    • 1、使得图像符合显示区域的大小;
    • 2、生成对应图像的缩略图。
  • 放大图像(或称为上采样或图像插值)的主要目的是放大原图像,从而可以显示在更高分辨率的显示设备上。

插值方法:

  • 最邻近插值:和哪个像素点近就插入其附近,等比例插入像素点的位置

  • 双线性插值(常用):在两个方向上做线性插值(通过4个像素点等比例算出新的像素点位置,几何中心重合!)

  • 双线性差值法的计算比最邻近插值法复杂,计算量较大,但没有灰度不连续的缺点,图像看起来更光滑。

直方图
反映了图像中的灰度分布规律(0-255)。它描述每个灰度级具有的像素个数,但不包含这些像素在图像中的位置信息。
图像直方图不关心像素所处的空间位置,因此不受图像旋转和平移变化的影响,可以作为图像的特征。直方图均衡化就是用一定的算法使直方图大致平和的方法(过亮过暗,套用公式计算新的映射像素点位置)

卷积:

  • 就是特征提取,在CNN是通过大量数据训练得来的,有平滑效果,对位相乘再相加然后移动;
  • 可以通过padding来计算边缘值,防止信息丢失

  • 可以有多个卷积核,提取不同的特征;

  • 卷积核的数量就是输出的通道数,卷积核的通道数就是输入的通道数 (对于输入的每一个通道,都需要有对应的卷积核通道来进行计算,可以参考下图)
    在这里插入图片描述

卷积-3种填充模式

  1. full:卷积核相交图像开始计算,卷积结果尺寸小于原图像
  2. valid:卷积核边缘与图像边缘对齐,卷积结果尺寸小于原图像
  3. same:卷积结果尺寸等于原图像(常用,步长s=1)

插值和直方图的实现

"""
1.实现最邻近插值
2,实现双线性插值
3,证明几何中心对称系数
4.实现图像均衡化"""
import cv2
import matplotlib.pyplot as plt
import numpy as np# 1.实现最邻近插值
def nearest_interpolation(img, dst_h, dst_w):src_h, src_w, _ = img.shapet_x = dst_w / src_wt_y = dst_h / src_hdst_img = np.zeros((dst_h, dst_w, 3), dtype=np.uint8)for i in range(dst_h):for j in range(dst_w):x = int(j / t_x)y = int(i / t_y)dst_img[i, j] = img[y, x]return dst_img# 2.实现双线性插值
def bilinear_interpolation(img, dst_h, dst_w):src_h, src_w, _ = img.shapet_x = dst_w / src_wt_y = dst_h / src_hdst_img = np.zeros((dst_h, dst_w, 3), dtype=np.uint8)for i in range(dst_h):for j in range(dst_w):x = j / t_xy = i / t_yx1 = int(x)y1 = int(y)x2 = min(x1 + 1, src_w - 1)  # 防止超过原图的宽 所以有这个min的行为y2 = min(y1 + 1, src_h - 1)# 公式dst_img[i, j] = (1 - (x - x1)) * (1 - (y - y1)) * img[y1, x1] + (1 - (x - x1)) * (y - y1) * img[y2, x1] + (x - x1) * (1 - (y - y1)) * img[y1, x2] + (x - x1) * (y - y1) * img[y2, x2]return dst_img# 3,证明几何中心对称系数为1/2
"""
设中点坐标为a = (x1+x2)/2, b = (y1+y2)/2
对x有 2a = (x1+x2) ,则 x2 = 2a - x1
对y有 2b = (y1+y2) ,则 y2 = 2b - y1
所以对称点坐标为 (2a - x1, 2b - y1)
因为中点,有 x2-x1 = 2(a-x1) ,得出x2和x1的差值是x1到a距离的两倍,并且方向是相反的
又因为是关于O中心对称,在x坐标系中,坐标系的变化系数就是1/2,
同理在y坐标系中,坐标系的变化系数也是1/2。"""# 4.实现图像均衡化
def equalization(img):# 灰度化# grey_img = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)# 多个通道每个通道都需要均衡化 然后合并b, g, r = cv2.split(img)eqb_img = cv2.equalizeHist(b)eqg_img = cv2.equalizeHist(g)eqr_img = cv2.equalizeHist(r)eqz_img = cv2.merge((eqb_img, eqg_img, eqr_img))return eqz_imgif __name__ == '__main__':img = cv2.imread("test.png")"""1.实现最邻近插值near_img = nearest_interpolation(img,300, 300)cv2.imshow("near_img",near_img)cv2.waitKey(0)""""""2.实现双线性插值near_img = bilinear_interpolation(img, 300, 300)cv2.imshow("bili_img", near_img)cv2.waitKey(0)"""# 4.实现图像均衡化dst_img = equalization(img)cv2.imshow("dst_img", dst_img)cv2.waitKey(0)

相关文章:

CV(2)-插值和卷积

前言 仅记录学习过程,有问题欢迎讨论 看看年前可以学到哪。 频率: 灰度值变化程度的指标,是灰度再平面上的梯度幅值: 幅值: 是在一个周期内,交流电瞬时出现的最大绝对值,也是一个正弦波,波…...

学习threejs,通过设置纹理属性来修改纹理贴图的位置和大小

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️Texture 贴图 二、&#x1…...

fastadmin 后台插件制作方法

目录 一:开发流程 二:开发过程 (一):后台功能开发 (二):功能打包到插件目录 (三):打包插件 (四):安装插件…...

9. 一分钟读懂“策略模式”

9.1 模式介绍 策略模式是一种行为型设计模式,用于在运行时灵活切换对象的行为或算法,它将算法封装为独立的类,使得它们可以互相替换,而不会影响使用这些算法的客户端代码。 策略模式的核心思想是:定义一系列可互换的算…...

65页PDF | 企业IT信息化战略规划(限免下载)

一、前言 这份报告是企业IT信息化战略规划,报告详细阐述了企业在面对新兴技术成熟和行业竞争加剧的背景下,如何通过三个阶段的IT战略规划(IT 1.0基础建设、IT 2.0运营效率、IT 3.0持续发展),系统地构建IT管理架构、应…...

Android 单元测试断言校验方法 org.junit.Assert

判断布尔值 assertTrue assertFalse 判断对象非空 assertNull(object); 案例: PersistableBundle result Util.getCarrierConfig(mockContext, subId);assertNull(result); 判断是否相等 assertEquals("mocked_string", result.toString()); package or…...

亚马逊云(AWS)使用root用户登录

最近在AWS新开了服务器(EC2),用于学习,遇到一个问题就是默认是用ec2-user用户登录,也需要密钥对。 既然是学习用的服务器,还是想直接用root登录,下面开始修改: 操作系统是&#xff1…...

用点云信息来进行监督目标检测

🍑个人主页:Jupiter. 🚀 所属专栏:传知代码 欢迎大家点赞收藏评论😊 目录 概述问题分析Making Lift-splat work well is hard深度不准确深度过拟合不准确的BEV语义 模型总体框架显性深度监督 深度细化模块演示效果核心…...

Navicat连接服务器MySQL

Navicat连接服务器MySQL 1. Navicat连接服务器MySQL2. 如何查看MySQL用户名和密码3. 修改MySQL登录密码4. 安装MySQL(Centos7)遇到错误和问题 1. error 1045 (28000): access denied for user ‘root’‘localhost’ (using password:yes) 1. Navicat连接服务器MySQL 选择数据…...

FastAPI 响应状态码:管理和自定义 HTTP Status Code

FastAPI 响应状态码:管理和自定义 HTTP Status Code 本文介绍了如何在 FastAPI 中声明、使用和修改 HTTP 状态码,涵盖了常见的 HTTP 状态码分类,如信息响应(1xx)、成功状态(2xx)、客户端错误&a…...

【人工智能数学基础篇】线性代数基础学习:深入解读矩阵及其运算

矩阵及其运算:人工智能入门数学基础的深入解读 引言 线性代数是人工智能(AI)和机器学习的数学基础,而矩阵作为其核心概念之一,承担着数据表示、变换和运算的重任。矩阵不仅在数据科学中广泛应用,更是神经网…...

RNACOS:用Rust实现的Nacos服务

RNACOS是一个使用Rust语言开发的Nacos服务实现,它继承了Nacos的所有核心功能,并在此基础上进行了优化和改进。作为一个轻量级、快速、稳定且高性能的服务,RNACOS不仅包含了注册中心、配置中心和Web管理控制台的功能,还支持单机和集…...

JAVA |日常开发中JSTL标签库详解

JAVA &#xff5c;日常开发中JSTL标签库详解 前言一、JSTL 概述1.1 定义1.2 优势 二、JSTL 核心标签库2.1 导入 JSTL 库2.2 <c:out>标签 - 输出数据2.3 <c:if>标签 - 条件判断2.4 <c:choose>、<c:when>和<c:otherwise>标签 - 多条件选择 结束语优…...

Apache HttpClient 4和5访问没有有效证书的HTTPS

本文将展示如何配置Apache HttpClient 4和5以支持“接受所有”SSL。 目标很简单——访问没有有效证书的HTTPS URL。 SSLPeerUnverifiedException 在未配置SSL的情况下&#xff0c;尝试消费一个HTTPS URL时会遇到以下测试失败&#xff1a; Test void whenHttpsUrlIsConsumed…...

Lighthouse(灯塔)—— Chrome 浏览器性能测试工具

1.认识 Lighthouse Lighthouse 是 Google 开发的一款开源性能测试工具&#xff0c;用于分析网页或 Web 应用的性能、可访问性、最佳实践、安全性以及 SEO 等关键指标。开发人员可以通过 Lighthouse 快速了解网页的性能瓶颈&#xff0c;并基于优化建议进行改进。 核心功能&…...

扫二维码进小程序的指定页面

草料二维码解码器 微信开发者工具 获取二维码解码的参数->是否登陆->跳转 options.q onLoad: function (options) {// console.log("options",options.q)if (options && options.q) {// 解码二维码携带的链接信息let qrUrl decodeURIComponent(optio…...

如何用IntelliJ IDEA开发Android Studio用自定义Gradle插件

博主所用软件版本为&#xff1a; IntelliJ IDEA 2024.1.4 (Community Edition) Android Studio Ladybug Feature Drop | 2024.2.2 Beta 1 1、制作gradle插件&#xff08;IntelliJ IDEA 2024.1.4&#xff09; 新建groovy工程&#xff0c;File–>New–>Project… 右键点…...

YOLOv8实战道路裂缝缺陷识别

本文采用YOLOv8作为核心算法框架&#xff0c;结合PyQt5构建用户界面&#xff0c;使用Python3进行开发。YOLOv8以其高效的实时检测能力&#xff0c;在多个目标检测任务中展现出卓越性能。本研究针对道路裂缝数据集进行训练和优化&#xff0c;该数据集包含丰富的道路裂缝图像样本…...

RPC一分钟

概述 微服务治理&#xff1a;Springcloud、Dubbo服务通信&#xff1a;Grpc、Trift Dubbo 参考 Dubbo核心功能&#xff0c;主要提供了&#xff1a;远程方法调用、智能容错和负载均衡、提供服务自动注册、自动发现等高效服务治理功能。 Dubbo协议Dubbo支持dubbo、rmi、http、…...

Elasticsearch ILM 故障排除:常见问题及修复

作者&#xff1a;来自 Elastic Stef Nestor 大家好&#xff01;我们的 Elasticsearch 团队正在不断改进我们的索引生命周期管理 (index Lifecycle Management - ILM) 功能。当我第一次加入 Elastic Support 时&#xff0c;我通过我们的使用 ILM 实现自动滚动教程快速上手。在帮…...

Unity 设计模式-策略模式(Strategy Pattern)详解

策略模式&#xff08;Strategy Pattern&#xff09;是一种行为型设计模式&#xff0c;定义了一系列算法&#xff0c;并将每种算法封装到独立的类中&#xff0c;使得它们可以互相替换。策略模式让算法可以在不影响客户端的情况下独立变化&#xff0c;客户端通过与这些策略对象进…...

【Maven系列】深入解析 Maven 常用命令

前言 在当今的软件开发过程中&#xff0c;项目管理是至关重要的一环。项目管理包括了项目构建、依赖管理以及发布部署等诸多方面。而在Java生态系统中&#xff0c;Maven已经成为了最受欢迎的项目管理工具之一。Maven 是一套用于构建、依赖管理和项目管理的工具&#xff0c;主要…...

微信小程序之简单的数据中心管理平台(1)

微信小程序之简单的数据中心管理平台&#xff08;1&#xff09; 引言 随着微信小程序的广泛应用&#xff0c;越来越多的企业开始探索如何利用这一技术开发高效、便捷的管理平台。数据中心管理作为信息化建设的重要组成部分&#xff0c;需要一个灵活、可扩展的界面来实现资源的…...

sqlmap --os-shell的原理(MySQL,MSSQL,PostgreSQL,Oracle,SQLite)

1. MySQL 条件 数据库用户需要具备高权限&#xff08;如 FILE 权限&#xff09;。数据库服务运行用户需要对目标目录有写权限。Web 服务器有可写目录&#xff0c;且支持执行上传的脚本&#xff08;如 PHP、JSP 等&#xff09;。 原理 利用 MySQL 的 SELECT ... INTO OUTFIL…...

2024年认证杯SPSSPRO杯数学建模C题(第一阶段)云中的海盐解题全过程文档及程序

2024年认证杯SPSSPRO杯数学建模 C题 云中的海盐 原题再现&#xff1a; 巴黎气候协定提出的目标是&#xff1a;在2100年前&#xff0c;把全球平均气温相对于工业革命以前的气温升幅控制在不超过2摄氏度的水平&#xff0c;并为1.5摄氏度而努力。但事实上&#xff0c;许多之前的…...

三维扫描检测在汽车制造中的应用

三维扫描&#xff0c;通过先进三维扫描技术获取产品和物体的形面三维数据&#xff0c;建立实物的三维图档&#xff0c;满足各种实物3D模型数据获取、三维数字化展示、3D多媒体开发、三维数字化存档、逆向设计、产品开发、直接3D打印制造或辅助加工制造等一系列的应用。 三维扫描…...

【NoSQL数据库】Hbase基本操作——数据库表的增删改查

目录 一、Hbase原理 二、HBase数据库操作 三、遇到的问题和解决方法 一、Hbase原理 HBase的数据模型&#xff1a; 行键 时间戳 列族&#xff1a;contents 列族&#xff1a;anchor 列族&#xff1a;mime “com.cnn.www” T9 Achor:cnnsi.com”CNN” T8 Achor:…...

【C++】格式化输出详解:掌握 cout 的进阶用法

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 &#x1f4af;前言&#x1f4af;格式化输出的理论概述&#x1f4af;控制输出宽度和填充字符setw 操作符setfill 操作符 &#x1f4af;控制浮点数的显示格式fixed 与 scientificsetprecision &#x1f4af;…...

设计模式学习思路二

设计模式的学习思路_设计模式必须按顺序进行吗-CSDN博客 以下是一些方法和思路可以帮助你更清晰地识别使用了哪种设计模式。 1. 确定模式时的思考步骤 以下是分析代码时&#xff0c;你可以遵循的一些思路和步骤&#xff0c;帮助你识别可能使用的设计模式&#xff1a; a. 识别…...

什么是等级保护

1.为什么要实施等级保护: •国家信息安全形势严峻(敌对势力),针对基础信息系统的违法犯罪持续上升(网上诈骗、入侵、网上盗窃) •维护国家安全的需求(基础信息网络【互联网、电信网、广电网】及重要信息系统【银行、铁路、电力、海关】已经成为国家的关键基础设施) •信息安全是…...