OpenCV基础入门30讲(Python)——第三讲 图像对象的创建与赋值

devtools/2024/9/23 9:29:13/

        在OpenCV里,对图像的操作是最为基本的。接下来我们看一下图像对象的创建与赋值。

注:前文介绍过的代码和操作不再重复。

代码

在 main 文件中,先导入新的模块

python"># 导入 numpy 模块,重命名为 np
import numpy as np

再写进以下代码:

python"># 第三节课 图像对象的创建与赋值
def mat_demo():image = cv.imread('C:/Users/28267/Desktop/Python/Py_OpenCV481/python_opencv_quick_tutorial/image/3.jpg')if image is None:print("错误: 未发现图像或者图像不能被加载.")# 计算新的图像尺寸width = int(image.shape[1] * 0.2)height = int(image.shape[0] * 0.2)dim = (width, height)# 缩小图像resized_image = cv.resize(image, dim, interpolation=cv.INTER_AREA)# h, w, c = resized_image.shape# 打印图像尺寸以及通道数print(resized_image.shape)# 打印 resized_image 图像的数值print(resized_image)# 截取 resized_image 图像的高(100:400),宽(60:280)所组成的矩形区域,给roiroi = resized_image[100:400, 60:280]# 创建一个宽,高,通道数和 resized_image 一样,但数值全为零的图像blankblank = np.zeros_like(resized_image)# blank = np.zeros((h, w, c), dtype=np.uint8)# 把图像 resized_image 的部分区域截取到 blank 同样的区域blank[100:400, 60:280, :] = resized_image[100:400, 60:280, :]# 拷贝 roi 到 copy_imagecopy_image = np.copy(roi)# 显示图像cv.imshow("roi", roi)cv.imshow("copy", copy_image)cv.imshow("blank", blank)cv.imshow("resized_image", resized_image)cv.waitKey(0)cv.destroyAllWindows()

最后,在主函数中修改我们这节课的函数 mat_demo ,如下:

python"># 主函数运行函数 color_space_demo
if __name__ == "__main__":mat_demo()

运行后,效果如下:


http://www.ppmy.cn/devtools/115929.html

相关文章

k8s 微服务 ingress-nginx 金丝雀发布

目录 一 什么是微服务 二 微服务的类型 三 ipvs模式 3.1 ipvs模式配置方式 四 微服务类型详解 4.1 clusterip 4.2 ClusterIP中的特殊模式headless 4.3 nodeport 4.4 loadbalancer 4.5 metalLB 4.6 externalname 五 Ingress-nginx 5.1 ingress-nginx功能 5.2 部署…

javase笔记4----常用类型

常用类型 包装类 简介 java语言是面向对象的语言,但是其中的八大基本数据类型不符合面向对象的特征。 因此java为了弥补这样的缺点,为这八种基本数据类型专门设计了八种符合面向对象特征的的类型,这八种具有面向对象特征的类型,…

DevOps工程师的职业发展路径

DevOps工程师的职业发展路径 前言 随着云计算、微服务等技术的广泛应用,DevOps的概念逐渐深入人心。DevOps不仅仅是一种工具或技术,更是一种文化和实践。作为IT行业中需求旺盛的职位之一,DevOps工程师的职业发展前景十分广阔。本文将介绍De…

细说Flink状态管理

一:“背景” Flink 的状态管理是啥,要讲明白这个事情,我们就要知道为什么有Flink的状态管理呢?兄弟们想想,如果Flink的流式任务中要计算某个特定时间范围内的统计数据,就比如5min内的某类商品的订单量&…

【C++高阶】深入理解C++ I/O流:标准库中的隐藏宝石

📝个人主页🌹:Eternity._ ⏩收录专栏⏪:C “ 登神长阶 ” 🤡往期回顾🤡:C 特殊类 🌹🌹期待您的关注 🌹🌹 ❀ C IO流 📒1. C语言的输入…

windows 驱动实例分析系列-COM驱动案例讲解

COM也被称之为串口,这是一种非常简单的通讯接口,这种结构简单的接口被广泛的应用在开发中,几乎所有系统都能支持这种通讯接口,它有RS232和RS485等分支,但一般我们都会使用RS232作为常见的串口,因为它足够简单和高效。 几乎所有的开发板,都会提供用于烧录、调试、日志的…

UML——统一建模语言

序言: 是统一建模语言的简称,它是一种由一整套图表组成的标准化建模语言。UML用于帮助系统开发人员阐明,展示,构建和记录软件系统的产出。UML代表了一系列在大型而复杂系统建模中被证明是成功的做法,是开发面向对象软件…

Java 入门指南:JVM(Java虚拟机)垃圾回收机制 —— 新一代垃圾回收器 ZGC 收集器

文章目录 垃圾回收机制垃圾收集器垃圾收集器分类ZGC 收集器ZGC 的性能优势复制算法指针染色读屏障 ZGC 的工作过程Stop-The-World 暂停阶段并发阶段 垃圾回收机制 垃圾回收(Garbage Collection,GC),顾名思义就是释放垃圾占用的空…