python 之 numpy图片处理 矩阵操作

news2025/1/15 14:16:58

目录

一:垂直方向翻转(行逆序)

二:水平方向翻转(列逆序)

三:垂直、水平方向翻转(行、列逆序)

四:调整亮度,变明亮*2.0

五:调整亮度,变暗

六:垂直方向裁剪

七:水平方向裁剪

八:两个方向同时裁剪,保留左上角

九:高度方向 每隔一行取像素点

十:宽度方向 每隔一列取像素点

十一:缩略图 高、宽度方向压缩 清晰度较差

十二:灰度处理


一:垂直方向翻转(行逆序)

import numpy as np
import cv2

img_mat = cv2.imread("dog.jpg")
# 沿着X轴对称 行序列
img1 = img_mat[::-1, :, :]  # 行索引区间,列索引区间,通道区间
cv2.imshow("dog", img_mat)
cv2.imshow("X", img1)
cv2.waitKey(0)
cv2.destroyAllwindows()

二:水平方向翻转(列逆序)

import numpy as np
import cv2

img_mat = cv2.imread("dog.jpg")
# 沿着y轴对称 列序列
img2 = img_mat[:, ::-1, :]  # 行索引区间,列索引区间,通道区间
cv2.imshow("dog", img_mat)
cv2.imshow("Y", img2)
cv2.waitKey(0)
cv2.destroyAllwindows()

三:垂直、水平方向翻转(行、列逆序)

import numpy as np
import cv2

img_mat = cv2.imread("dog.jpg")
# 沿着原点对称 行、列序列
img3 = img_mat[::-1, ::-1]  # 行索引区间,列索引区间,通道区间
cv2.imshow("dog", img_mat)
cv2.imshow("0.0", img3)
cv2.waitKey(0)
cv2.destroyAllwindows()

四:调整亮度,变明亮*2.0

import numpy as np
import cv2

img_mat = cv2.imread("dog.jpg")
# 明亮
img4 = np.clip(img_mat * 1.5, a_min=0., a_max=255.).astype(np.uint8)
cv2.imshow("dog", img_mat)
cv2.imshow("light", img4)
cv2.waitKey(0)
cv2.destroyAllwindows()

五:调整亮度,变暗

import numpy as np
import cv2

img_mat = cv2.imread("dog.jpg")
# 暗
img4 = (img_mat * 0.5).astype(np.uint8)
cv2.imshow("dog", img_mat)
cv2.imshow("black", img4)
cv2.waitKey(0)
cv2.destroyAllwindows()

六:垂直方向裁剪

import numpy as np
import cv2

img_mat = cv2.imread("dog.jpg")
# 垂直裁剪
height = img_mat.shape[0]
width = img_mat.shape[1]
img5 = img_mat[int(height / 2)::, :, :]
cv2.imshow("dog", img_mat)
cv2.imshow("vertical cut", img5)
cv2.waitKey(0)
cv2.destroyAllwindows()

七:水平方向裁剪

import numpy as np
import cv2

img_mat = cv2.imread("dog.jpg")
# 垂直裁剪
height = img_mat.shape[0]
width = img_mat.shape[1]
img5 = img_mat[:, int(width/2)::, :]
cv2.imshow("dog", img_mat)
cv2.imshow("vertical cut", img5)
cv2.waitKey(0)
cv2.destroyAllwindows()

八:两个方向同时裁剪,保留左上角

import numpy as np
import cv2

img_mat = cv2.imread("dog.jpg")
# 左上方点(50,0) width:250 height:100
img6 = img_mat[0:100, 50:50 + 250]
cv2.imshow("dog", img_mat)
cv2.imshow("vertical cut", img6)
cv2.waitKey(0)
cv2.destroyAllwindows()

九:高度方向 每隔一行取像素点

import numpy as np
import cv2

img_mat = cv2.imread("dog.jpg")
# 高度方向每隔一行取像素点
img8 = img_mat[::2]
cv2.imshow("dog", img_mat)
cv2.imshow("slice height", img8)
cv2.waitKey(0)
cv2.destroyAllwindows()

十:宽度方向 每隔一列取像素点

import numpy as np
import cv2

img_mat = cv2.imread("dog.jpg")
# 宽度方向每隔一列取像素点
img8 = img_mat[:, ::2]
cv2.imshow("dog", img_mat)
cv2.imshow("slice weight", img8)
cv2.waitKey(0)
cv2.destroyAllwindows()

十一:缩略图 高、宽度方向压缩 清晰度较差

import numpy as np
import cv2

img_mat = cv2.imread("dog.jpg")
# 缩略图
img8 = img_mat[::2, ::2]
cv2.imshow("dog", img_mat)
cv2.imshow("slice img", img8)
cv2.waitKey(0)
cv2.destroyAllwindows()

十二:灰度处理

import numpy as np
import cv2

img_mat = cv2.imread("dog.jpg")
# 灰度处理:加权求和 BGR
# gray = r*0.299 + g*0.587 + b*0.114 加权求和
img8 = img_mat[:, :, 2] * 0.299 + img_mat[:, :, 1] * 0.587 + img_mat[:, :, 0] * 0.114
img8 = img8.astype(np.uint8)
print(img8)
cv2.imshow("dog", img_mat)
cv2.imshow("gray img", img8)
cv2.waitKey(0)
cv2.destroyAllwindows()

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

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

相关文章

ESP32 ESP-IDF LVGL8 显示中文

陈拓 2022/12/15-2022/12/16 1. 开发环境 《ESP32 ESP-IDF LVGL8.3.3移植》 ESP32 ESP-IDF LVGL8.3.3移植_晨之清风的博客-CSDN博客ESP32 ESP-IDF LVGL8.3.3移植。https://blog.csdn.net/chentuo2000/article/details/128269394?spm1001.2014.3001.5501 2. 使用LVGL自带的中…

C# 创建WebService接口并连接

创建WebService项目 首先安装下.NET Framework4.6.2-4.7.1开发工具。 然后就是新建 ASP.NET Web应用程序 项目。 输入项目名称WebServiceDemo 选择空,然后先去掉HTTPS配置。 项目创建好之后,开始添加asmx文件. 添加好之后在添加一个有参数的名为Hel…

牛客java刷题知识点总结(六)

内存引用地址 内存引用地址,是指栈中存放的地址,来指向堆中的某个位置。 int 是基本类型,数据直接存放在栈中,不存在内存引用地址的说法 A对 指向常量池里的"hello"。 B对 题中没说声明的a是局部变量。 C错 int a 1;并…

DSPE-PEG-N3,磷脂-聚乙二醇-叠氮 点击化学PEG试剂,可用于药物传递、基因转染和生物分子修饰

中文名称 叠氮聚乙二醇磷脂、磷脂聚乙二醇叠氮 简称 N3-PEG-DSPE、DSPE-PEG-N3 物理性质:米白色/白色固体或粘性液体取决于分子量。 溶剂: 溶于大部分有机溶剂,和水有很好的溶解性。 活性基团: N3 反应基…

深度学习(17)—— 度量学习

深度学习(17)—— 度量学习 文章目录深度学习(17)—— 度量学习一、What?二、paired-based loss1. Contrastive loss2. Triplet loss3. Triplet center loss4.N-pair loss5. Quadruplet loss6. Lifted Structure Loss昨天讨论的时…

Linux安装tomcat 保姆级教程

一、安装前提 安装tomcat,前提需要安装jdk,如果没有安装 linux安装jdk教程(手动安装/yum安装) 保姆级教程_ 来杯咖啡的博客-CSDN博客 二、安装教程 1、下载tomcat tar包 官网下载地址: Apache Tomcat - Welcome! 2、将下载的压缩包上…

实验4 路由配置

实验4 路由配置一、实验目的二、实验要求三、实验步骤,数据记录及处理四.实验总结一、实验目的 1、路由配置; 2、配置静态路由; 3、掌握RIP协议配置。 二、实验要求 写出PC0与PC1连通的基本要求和配置过程 三、实验步骤&#…

UDP服务器

目录 一,介绍 二,日志 三,服务端 1,服务器参数 2,创建套接字 3,绑定 3.1 填充套接字信息 3.2 绑定 4,启动服务器 4.1接收客户端请求 4.2记录用户信息 4.3 消息转发 4.4 main函数代码 4.5服务器整…

单商户商城系统功能拆解47—应用中心—自定义海报

单商户商城系统,也称为B2C自营电商模式单店商城系统。可以快速帮助个人、机构和企业搭建自己的私域交易线上商城。 单商户商城系统完美契合私域流量变现闭环交易使用。通常拥有丰富的营销玩法,例如拼团,秒杀,砍价,包邮…

JVM之class加载过程

一、定义: java虚拟机把描述类的数据从class文件加载到内存,并对数据进行 校验/准备/解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这个过程被称作虚拟机的类加载机制。 称作虚拟机的类加载机制。 loading -> linki…

南卡和FIIL蓝牙耳机哪个比较好?数码达人深度对比评测

2023即将到来,蓝牙耳机对于大部分人来说,成为了越来越重要的存在。日常生活中随处可见的都是在使用蓝牙耳机的人,有听歌的、看剧的、玩游戏的等等。伴随着更多的人使用蓝牙耳机,市面上可见的蓝牙耳机数量正在飙升,这也…

MySQL 的自增主键一定是连续的吗?

全文摘要:结合实例分析了自增值保存在哪里,自增值的修改策略,以及自增值不连续的四个场景,希望对各位小伙伴们有所帮助~ 众所周知,自增主键可以让聚集索引尽量地保持递增顺序插入,避免了随机查询&#xff…

微软确认配置错误导致65,000多家公司的数据泄露

©网络研究院 微软证实,在安全漏洞导致端点无需任何身份验证即可通过互联网公开访问后,它无意中暴露了与数千名客户相关的信息。 微软在警报中表示: “这种错误配置可能导致未经身份验证访问与微软和潜在客户之间的交互相对应的一些业务…

互联网大厂Java岗考点(阿里+百度+腾讯+字节跳动+美团+京东)

本文扼要 本文结构主要分为以下三个部分: 01 互联网大厂考点(阿里百度腾讯字节跳动美团京东)02 Java 面试考点大全(基本功底常用技术技术深度技术经验学习能力工作能力项目经验)03 面试真题重现 01 互联网大厂考点 …

OPSS-PEG-N3叠氮聚乙二醇巯基吡啶, N3-PEG-OPSS,点击化学PEG试剂

名称 叠氮聚乙二醇巯基吡啶 N3-PEG-OPSS 中文名称 叠氮PEG巯基吡啶 巯基吡啶PEG叠氮 巯基吡啶聚乙二醇叠氮 英文名称 N3-PEG-OPSS OPSS-PEG-N3 Azide-PEG-OPSS OPSS-PEG-Azide 溶剂 溶于二氯甲烷,氯仿,乙酸乙酯,四氢呋喃等有机溶剂 存储条…

pycharm安装使用pyQt5

一、创建项目 二、安装pyqt5库 三、配置PyCharm外部工具 打开File->settings->Tools->External Tools 1、配置QtDesigner 程序:D:\python3.7\Lib\site-packages\qt5_applications\Qt\bin\designer.exe//安装包的时候回自动下载,直接在包文件…

【微服务技术09】统一网关Gateway

【微服务技术09】统一网关Gateway 案例代码:https://gitee.com/pikachu2333/spring-cloud-hexuan 网关作用 网关功能: 身份认证和权限校验服务路由、负载均衡请求限流 权限控制: 网关作为微服务入口,需要校验用户是是否有请求…

配置Typora

配置Typora 文章目录配置Typora阿里云1)网页搜索阿里云OSS2)注册账号3)点击立刻开通a) 点击“产品价格”b) 初次付费c) 交钱以免造成后续无法访问d)进入管理控制台e) 创建钥匙PicGo1)下载安装2)设置选择显示…

领域知识网络即服务:知识助力产业升级“无形的手”?

文|智能相对论 作者|叶远风 你用过ChatGPT了吗? 这个风靡全球的AI应用,以出圈的方式展现着AI的能量。 一个对话的界面,可以聊任何你想聊的话题,可以写出任何你想要的文字。 似乎有无限的人类知识,被集中到了一起&…

别再背锅了,这个小技巧统计第三方接口耗时很安逸

前言 之前我有写过一篇记录生产环境事故的文章,获得了不少好评。 后续,我们团队有做过一些讨论,为了支撑运营维护,搭建了更好的日志平台GranfaLoki,也引入了SkyWalking做链路追踪。 但过程中也遇到了一些问题&#xff…