opencv003图像裁剪(应用NumPy矩阵的切片)

这一部分相对于马上要学习的二值化是要更更更简单一些的,只需三行,便能在opencv上裁剪图像啦(顺便云吸猫,太可爱了!)

                                                                     出处见水印! 

1、复习图像的显示 

前几天期末考试,太久没有看opencv,刚入的门又迈出去了呜呜我唉,先复习一下吧

import cv2 as cv
import numpy as np
img = cv.imread('F:\est01\cat.jpg', 1)
print(img.shape)  # 显示图片大小(长,宽)和图片颜色通道数量
cv.imshow("original", img)
cv.waitKey(0)
  •  import
  • imread
  • imshow
  • waitKey
  • (shape是后面有用,可以显示图片大小和图片颜色通道数量

注:图片颜色通道

彩色数字图像由像素组成,像素由一系列代码表示的原色组合而成。在这种情况下,通道是与彩色图像大小相同的灰度图像,仅由这些原色之一构成

灰度图像是单通道图像,其中每个像素只携带有关光强度的信息。这些图像完全由灰色阴影组成。

与灰度图像不同,RGB图像是三通道的。每个像素由三个通道组成,每个通道代表一种颜色。

可以使用opencv分割通道 

显示成功

2.图片裁剪原理 

通过NumPy 矩阵的切片功能来完成对于图片的裁剪,被读入计算机内存的图片都是存储在2D的矩阵,只需要指明需要裁剪下来的区域对应的像素的高宽位置,我们就可以办到了

Python程序中,使用的NumPy矩阵的切片来完成图片的裁剪。对于矩阵的切片,需要指明对于矩阵索引的起始和结束的索引数值,包括第一个和第二个坐标轴

  • 通常情况下,第一个坐标表示了图像的高度(矩阵的行);
  • 第二个坐标轴表示了图像的宽度(矩阵的列);

cropped = img[start_row:end_row, start_col:end_col]
import cv2 as cv
import numpy as np
img = cv.imread('F:\est01\cat.jpg', 1)
print(img.shape)  # 显示图片大小(长,宽)和图片颜色通道数量
cv.imshow("original", img)
cv.waitKey(0)
cropped_image = img[400:654, 300:500]
cv.imshow("cropped", cropped_image)
cv.waitKey(0)

成功剪切

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

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

相关文章

第28关 k8s监控实战之Prometheus(一)

------> 课程视频同步分享在今日头条和B站 大家好,我是博哥爱运维。对于运维开发人员来说,不管是哪个平台服务,监控都是非常关键重要的。 在传统服务里面,我们通常会到zabbix、open-falcon、netdata来做服务的监控&#xff0…

error C2666: “Date::operator ==”: 重载函数具有类似的转换

error C2666: “Date::operator ”: 重载函数具有类似的转换 1.错误描述2.解决方案 1.错误描述 class Date { public:Date(int year 2024, int month 1, int day 1){_year year;_month month;_day day;}bool operator(const Date& d){return _year d._year&&…

接入第三方登录

1.进行认证 https://graph.qq.com/oauth2.0/authorize?response_typecode&client_id[YOUR_APPID]&redirect_uri[YOUR_REDIRECT_URI]&scope[THE_SCOPE] https://graph.qq.com/oauth2.0/show?whichLogin&displaypc&client_id101284669&redirect_urih…

认识SpringBoot项目中的Starter

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏: 循序渐进学SpringBoot ✨特色专栏&…

流量预测_MLP模型_keras

目录 0、我在干什么?1、import libararies2、加载数据load data3、独家观察数据函数 :heartbeat:4、数据预处理pre-processing(1)将时间戳转换为一个日期时间索引(2)填充所有缺失的值(3)将时间序…

ElasticSearch的DSL查询语法解析

Elasticsearch提供了基于ISON的DSL (Domain Specific Lanquage)来定义查询。 目录 一、常见查询类型 二、DSLQuery基本语法 三、全文检索查询 3.1 match查询:会对用户输入内容分词,常用于搜索框搜索 ,语法: 3.2 multi match…

java智慧工地源码,互联网+建筑工地,实现对工程项目内人员、车辆、安全、设备、材料等的智能化管理

智慧工地全套源码,微服务JavaSpring Cloud UniApp MySql;支持多端展示(大屏端、PC端、手机端、平板端)演示自主版权。 智慧工地概念: 智慧工地就是互联网建筑工地,是将互联网的理念和技术引入建筑工地&…

aps审核-模电英文稿

模拟电子线路 Analog circuit 需要熟悉课程名,一句话简单概括课程内容,准备一些重点内容介绍。 This course mainly introduces the properties(n.性质) of semiconductors(半导体) and transistors, and then analyzes and masters amplification circ…

Ubuntu20.04 上启用 VCAN 用作本地调试

目录 一、启用本机的 VCAN​ 编辑 1.1 加载本机的 vcan 1.2 添加本机的 vcan0 1.3 查看添加的 vcan0 1.4 开启本机的 vcan0 1.5 关闭本机的 vcan0 1.6 删除本机的 vcan0 二、测试本机的 VCAN 2.1 CAN 发送数据 代码 2.2 CAN 接收数据 代码 2.3 CMakeLists.…

对比开源大语言模型的自然语言生成SQL能力

背景 NL-to-SQL(自然语言到结构化查询语言)任务是自然语言处理(NLP)领域的一个难题。 它涉及将自然语言问题转换为 SQL 查询,然后可以针对关系数据库执行该查询来回答问题。 该任务是 NLP 中的一个专门子领域&#xf…

test dbtest-00-数据库测试

拓展阅读 DbUnit-01-数据库测试工具入门介绍 database tool-01-flyway 数据库迁移工具介绍 数据库测试一直是一个痛点,测试的时候如何针对数据库测试呢? 数据库测试是确保数据库系统正确性、性能和可靠性的重要环节。以下是一些建议,可帮助您有效地…

Linux基础知识点(六-共享内存)

一、共享内存基本概念 什么是共享内存?顾名思义,共享内存就是将内存进行共享,它允许多个不相关的进程访问同一个逻辑内存, 直接将一块裸露的内存放在需要数据传输的进程面前,让它们自己使用。因此,共享内存…

C语言中灵活多变的动态内存,malloc函数 free函数 calloc函数 realloc函数

文章目录 🚀前言🚀管理动态内存的函数✈️malloc函数✈️free函数✈️calloc函数✈️realloc函数 🚀在使用动态内存函数时的常见错误✈️对NULL指针的解引用✈️ 对动态开辟空间的越界访问✈️对非动态开辟内存使用free释放✈️使用free释放一…

VirtualBox + Redhat7.6 +Oracle19C 数据库安装

软件工具: 虚拟化工具:VirtualBox-6.1.26-145957-Win.exe操作系统镜像:rhel-server-7.6-x86_64-dvd.iso远程连接工具:XmanagerPowerSuite-7.0.0004r.exe、SecureCRT 8.5.3数据库版本镜像:LINUX.X64_193000_grid_home.…

机器学习与深度学习——使用paddle实现随机梯度下降算法SGD对波士顿房价数据进行线性回归和预测

文章目录 机器学习与深度学习——使用paddle实现随机梯度下降算法SGD对波士顿房价数据进行线性回归和预测一、任务二、流程三、完整代码四、代码解析五、效果截图 机器学习与深度学习——使用paddle实现随机梯度下降算法SGD对波士顿房价数据进行线性回归和预测 随机梯度下降&a…

微服务整合:构建高效灵活的分布式系统

随着软件开发的不断演进和业务的复杂性增加,微服务架构已经成为一种流行的解决方案。然而,当涉及到多个微服务之间的整合时,我们需要谨慎考虑如何实现高效、灵活的分布式系统。 微服务架构的流行使得软件开发变得更加灵活和可扩展。然而&…

Neuro Contamination - Cyberpunk Gaming Music Futuristic Glitchy Sci-fi

无论是展示赛博朋克未来的电影场景,还是介绍高科技武器,你的音乐选择都至关重要。这首曲子的灵感来自科幻小说,旨在让你的观众想象未来的感觉。 潜在用例:科幻游戏、赛博朋克游戏、电影预告片、动作场景和产品广告。 非常适合充…

【GitHub】ssh: connect to host github.com port 22: Connection refused

本地使用git上传GitHub仓库时发现的一个报错,以为是本机连不上github了,ping过后发现能够正常访问,于是上网找到了一个很完美的解决方案 原因:22端口被占用或被防火墙屏蔽 解决方法:切换GitHub的443端口 1.首先找到…

YOLOv8改进 | 检测头篇 | DynamicHead原论文一比一复现 (不同于网上版本,全网首发)

一、本文介绍 本文给大家带来的改进机制是DynamicHead(Dyhead),这个检测头由微软提出的一种名为“动态头”的新型检测头,用于统一尺度感知、空间感知和任务感知。网络上关于该检测头我查了一些有一些魔改的版本,但是我觉得其已经改变了该检测头的本质,因为往往一些细节上才…

json解析本地数据,使用JSONObject和JsonUtility两种方法。

json解析丨网址、数据、其他信息 文章目录 json解析丨网址、数据、其他信息介绍一、文中使用了两种方法作为配置二、第一种准备2.代码块 二、第二种总结 介绍 本文可直接解析本地json信息的功能示例,使用JSONObject和JsonUtility两种方法。 一、文中使用了两种方法…