OpenCV单通道图像按像素成倍比例放大(无高斯平滑处理)

OpenCV中的resize函数可以对图像做任意比例的放大(/缩小)处理,该处理过程会对图像做高斯模糊化以保证图像在进行放大(/缩小)后尽可能保留源图像所展现的具体内容(消除固定频率插值/采样带来的香农采样信息损失),但在有些场景中该方法不适用,如:部分应用场景只为了展现图像具体像素的色彩信息,则其就不需要对具体输入的图像做高斯平滑处理,则此场景需要自行实现,实现代码如下:

def enlarge_without_gauss(img, ratio:int):h,w = img.shapeimg_x_ratio = np.zeros((img.shape[0]*ratio, img.shape[1]*ratio), dtype=np.uint8)for h in range(img.shape[0]):for w in range(img.shape[1]):img_x_ratio[h*ratio:h*ratio+ratio, w*ratio:w*ratio+ratio] = img[h,w]return img_x_ratio

与OpenCV自带的resize函数放大对比简易比较代码如下:

import numpy as np
import cv2def enlarge_without_gauss(img, ratio:int):h,w = img.shapeimg_x_ratio = np.zeros((img.shape[0]*ratio, img.shape[1]*ratio), dtype=np.uint8)for h in range(img.shape[0]):for w in range(img.shape[1]):img_x_ratio[h*ratio:h*ratio+ratio, w*ratio:w*ratio+ratio] = img[h,w]return img_x_ratio# 随机产生一张单通道图像
img = np.random.rand(80, 120)
img = (img * 255).astype(np.uint8)
cv2.imshow("img", img)# 设置缩放比例
RATIO = 8# 按具体像素位放大
img_enlarge_xN_without_gauss = enlarge_without_gauss(img, RATIO)
cv2.imshow("enlarge_xN_without_gauss", img_enlarge_xN_without_gauss)# 使用opencv自带函数resize放大
h, w = img.shape
img_resize_xN = cv2.resize(img, (w*RATIO, h*RATIO))
cv2.imshow("resize_xN", img_resize_xN)cv2.waitKey(0)

随机产生的原图如下:

按像素放大效果(设置的8倍):

使用opencv resize函数放大(设置的8倍):

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

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

相关文章

TCP客户端及服务器端开发实践

一、TCP客户端及服务器端开发实践 1、TCP网络应用程序开发分类 ① TCP客户端应用程序开发 ② TCP服务器端应用程序开发 客户端程序是指运行在用户设备上的程序,服务端程序是指运行在服务器设备上的程序,专门为客户端提供数据服务。那如何记忆呢&…

Centos7安装jdk

下载上传并解压 下载 jdk-8u201-linux-x64.tar.gz 链接:https://pan.baidu.com/s/13WWt6ArVYXt8QmdU3Z3zOg?pwdwxyu 提取码:wxyu 上传 上传到服务器/opt目录 解压 cd /opt tar -zxvf jdk-8u201-linux-x64.tar.gz 配置环境变量 vi /etc/profil…

Vuex状态管理

1.什么是状态管理 在开发中,我们会让应用程序需要处理各种各样的数据,这些数据需要保存在我们应用程序中的某一个位置,对于这些数据的管理我们就 称之为是状态管理。 在Vue开发中,我们使用组件化的开发方式: 1.在组件中我们定义…

【相机方案】智能驾驶的域控采用的“串行器和解串器”方案的总结(持续更新),SerDes,GMSL

SerDes是Serializer/Deserializer的缩写,即串行器和解串器。由于同轴线的传输延迟几乎可以忽略不计(ns级别),相当于将原来只能短距离传输的高速并行信号(MIPI/I2C/CLK等)的传输距离延长,真正做到高带宽、低延迟、长距离…

蓝桥杯刷题--RDay5

清理水域--枚举 8.清理水域 - 蓝桥云课 (lanqiao.cn)https://www.lanqiao.cn/problems/2413/learning/?page1&first_category_id1&second_category_id3&tags2023 小蓝有一个n m大小的矩形水域,小蓝将这个水域划分为n行m列,行数从1…

【QT+QGIS跨平台编译】056:【pdal_kazhdan+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

点击查看专栏目录 文章目录 一、pdal_kazhdan介绍二、pdal下载三、文件分析四、pro文件五、编译实践一、pdal_kazhdan介绍 pdal_kazhdan 是 PDAL(Point Data Abstraction Library)相关的 Kazhdan 算法的实现。PDAL 是一个用于处理和分析点云数据的开源库,而 Kazhdan 算法通常…

AI提速 OpenAI 新模型GPT-5今年上线?

这两天,有关OpenAI新模型 GPT-5的消息又多了起来。有知情人士称,OpenAI将在今年年中的某个时候发布GPT-5,很可能是在今年夏天期间。OpenAI CEO 萨姆奥特曼在一次播客采访中透露“GPT-5的智能水平得到提升”。 有趣的是,播客的主理…

Latex表格制作详细教程(table, tabular, multirow, multicolumn)

一、简单表格制作 Latex表格需要用到 table 和 tabular 环境。其中 table 环境里写表格的标题(caption)、表格的位置之类的。 tabular 环境则是绘制表格的内容。一个简单的表格绘制代码如下所示: \documentclass{article}\begin{document}\begin{table…

三防平板定制服务:亿道信息与个性化生产的紧密结合

在当今数字化时代,个性化定制已经成为了市场的一大趋势,而三防平板定制服务作为其中的一部分,展现了数字化技术与个性化需求之间的紧密结合。这种服务是通过亿道信息所提供的技术支持,为用户提供了满足特定需求的定制化三防平板&a…

猫冻干可以每天吃吗?5大优选品牌脆弱肠胃闭眼入

近年来,冻干猫粮作为备受追捧的高品质猫粮,吸引了越来越多养猫人的关注,对于像我这样的养猫达人来说,早已尝试并认可了冻干喂养。但对于新手来说,他们可能会感到困惑:冻干到底是什么?猫冻干可以…

[大模型]大语言模型量化方法对比:GPTQ、GGUF、AWQ

在过去的一年里,大型语言模型(llm)有了飞速的发展,在本文中,我们将探讨几种(量化)的方式,除此以外,还会介绍分片及不同的保存和压缩策略。 说明:每次加载LLM示例后,建议清除缓存,以…

如何远程监控员工的电脑

如何远程监控员工的电脑 为什么要对员工使用电脑的行为进行监控呢?对企业来说是有其必要性的。其必要性主要体现以下4个方面。 1.数据安全与知识产权保护 防止数据泄露:企业内部往往存储着大量的敏感信息,如客户数据、财务资料、商业秘密、…

23linux 自定义shell文件系统

打印环境变量,把当前子进程所有环境变量打印出来 环境变量也是一张表(指针数组以null结尾,最后条件不满足就退出了 ) 用子进程调用 结论1 当我们进行程序替换的时候 ,子进程对应的环境变量(子进程的环境变…

蓝桥杯第六届c++大学B组详解

前言: 看了很多博客以及视频讲解,感觉都不是很清楚,比较模棱两可,所以干脆自己一边想,一边写博客,也可帮助到其他人,都是根据自己的逻辑来尽量清楚简单的讲清楚题目,喜欢的不要吝啬三…

RISC-V/ARM mcu OpenOCD 调试架构解析

Risc-v/ARM mcu OpenOCD 调试架构解析 最近有使用到risc-v的单片机,所以了解了下risc-v单片机的编译与调试环境的搭建,面试时问到risc-v的调试可参看以下内容。 risc-v根据官方的推荐,调试器服务是选择OpenOCD,DopenOCD(开放片上…

ros小问题之rosdep update time out问题

在另外一篇ROS 2边学边练系列的文章里有写碰到这种问题的解决方法(主要参考了其他博主的文章,只是针对ROS 2做了些修改调整),此处单拎出来方便查找。 在ROS 2中执行rosdep update时,报出如下错误: 其实原因…

Java设计模式:外观模式之优雅门面(九)

码到三十五 : 个人主页 心中有诗画,指尖舞代码,目光览世界,步履越千山,人间尽值得 ! 在软件工程中,设计模式是解决常见设计问题的经验总结,它为开发者提供了一种通用的、可复用的解决方案。外…

根证书和中间证书安装配置

下载根证书 根证书是建立信任链的基础。一旦客户端安装了根证书,它即可验证由该根证书签发的所有证书。这使得客户端可以信任与该根证书相关的所有服务器和应用程序,从而建立起一个完整的信任链。 如果您的业务用户通过浏览器访问您的Web业务&#xff…

鸿蒙TypeScript学习第10天:【String(字符串)】

1、TypeScript String(字符串) String 对象用于处理文本(字符串)。 语法 var txt new String("string"); 或者更简单方式: var txt "string"; 2、String 对象属性 下表列出了 String 对象支…

QA测试开发工程师面试题满分问答8: mysql数据库的索引定义、用途和使用场景

MySQL数据库索引是一种数据结构,用于提高数据库的查询效率。索引是基于表中的一个或多个列构建的,它们允许数据库系统快速定位和访问表中的特定数据,而无需扫描整个表。 索引的定义 在MySQL中,可以使用CREATE INDEX语句定义索引…