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

python学opencv|读取图像(七)抓取像素数据顺利修改图像大小

【1】引言

前序我们已经学习图像的基本读取操作,文章链接为:

python学opencv|读取图像-CSDN博客

也掌握了彩色图像的保存:

python学opencv|读取图像(二)保存彩色图像_python opencv 读取图像转为彩色-CSDN博客

以及图像的放大和缩小:

python学opencv|读取图像(三)放大和缩小图像_python cv 调整图像大小-CSDN博客

在此基础上,我们也许会想到,调整图像大小如何做到精准控制,比如就想把图像的长宽做成一样大,此时该如何设置各个方向上的像素放大或者缩小因子?

带着这个目标,我们一起学习今天的内容。

【2】方法论

要想精准控制图片的像素,最基本的是先知道原始图片的像素。

在前述学习进程中,我们恰好知道了如何获取图片像素:

python学opencv|读取图像(五)读取灰度图像像素-CSDN博客

在此基础上,我们就可以灵活设置放大或者缩小因子,实现图片优化目标。

【3】代码测试

以python学opencv|读取图像(三)放大和缩小图像_python cv 调整图像大小-CSDN博客

文章的代码wield基础,使用的图片名为cv.png。

原始代码和图片如下:

import cv2  # 引入CV模块# 读取图片
image = cv2.imread('cv.png')# 定义放大因子
scale_factor = 0.5# 放大图片,使用立方插值
scaled_image = cv2.resize(image, None, fx=scale_factor, fy=scale_factor, interpolation=cv2.INTER_CUBIC)  # INTER_CUBIC插值# 保存结果
cv2.imwrite('scaled_cv-22-INTER_CUBIC.png', scaled_image)# 显示结果
cv2.imshow('Scaled Image', scaled_image)
cv2.waitKey( )
cv2.destroyAllWindows()

c0585df439e544689c90a7c4df8c9153.png

图1

添加一行代码同时显示改后的图片:

cv2.imshow('Image', image)

运行后的效果为:

40794a87c2e2445990e7e6e332e62d48.png

图2

此时的完整代码为:

import cv2  # 引入CV模块# 读取图片
image = cv2.imread('cv.png')# 定义放大因子
scale_factor = 0.5# 放大图片,使用立方插值
scaled_image = cv2.resize(image, None, fx=scale_factor, fy=scale_factor, interpolation=cv2.INTER_CUBIC)  # INTER_CUBIC插值# 保存结果
cv2.imwrite('scaled_cv-22-INTER_CUBIC.png', scaled_image)# 显示结果
cv2.imshow('Scaled Image', scaled_image)
cv2.imshow('Image', image)
cv2.waitKey( )
cv2.destroyAllWindows()

以此为例,按需设置放大和缩小因子,可实现自由优化图片大小。

【4】总结

掌握了不知道像素条件下,自由优化图片大小的方法。


http://www.mrgr.cn/news/79708.html

相关文章:

  • Flutter:开发环境搭建和Android Studio创建Flutter Project
  • Harbor 仓库部署(docker-compose 部署方式)
  • coco数据集转换SAM2格式
  • 文件下载和图片预览 Blob FileReader
  • SQL汇总数据:聚集函数
  • linux系统使用nginx代理mysql数据库
  • 分布式 CAP理论 总结
  • 【视频笔记】408新增知识点信号——里昂视频
  • 手里有病理切片+单细胞测序的数据,如何开展医工交叉的研究?
  • 【CSS in Depth 2 精译_073】第 12 章 CSS 排版与间距概述 + 12.1 间距设置(中):对 CSS 行高的深入思考
  • vue中父组件接收子组件的多个参数的方法:$emit或事件总线
  • Vue框架入门
  • 解决前后端分离跨域产生的session丢失问题
  • 一个直接看央视频道的软件,可直接安装到TV
  • DMA代码部分
  • 计算机网络基础知识
  • 基于python+django+vue的购物商城系统
  • 雪花算法详解
  • 正则表达式的高级方法
  • STL之空间配置器allocator