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

使用python的pillow模块将图片转化为灰度图,获取值和修改值

使用python的pillow模块可以将图片转化为灰度图,
可以获取灰度图的特定点值,区域值,
修改值并保存到图片

图片转换为灰度图

from PIL import Image# 打开图片
image = Image.open("d://python//2//1.jpg")gray_image = image.convert("L") #转换为灰度图
gray_image.save("d://python//2//6.jpg")

获取特定坐标的灰度值

x, y = 10, 20  # 示例坐标
pixel_value = gray_image.getpixel((x, y)) #灰度值,0-255
print(pixel_value)

特定区域的灰度值1

width,height = gray_image.sizepixel_values=[]
for y in range(height):pixel_values_y=[]for x in range(width):pixel_value = gray_image.getpixel((x,y))pixel_values_y.append(pixel_value)pixel_values.append(pixel_values_y)print(pixel_values)

图片灰度值总和

gray_values = list(gray_image.getdata())
sum_of_values = sum(gray_values)
print(sum_of_values)

特定区域的灰度值总和

x1=10
y1=10
x2=50
y2=50# 确保坐标正确,避免越界错误
x1, y1 = max(0, x1), max(0, y1)
x2, y2 = min(image.width - 1, x2), min(image.height - 1, y2)# 裁剪图像以获取指定区域
region = gray_image.crop((x1, y1, x2 + 1, y2 + 1))  # 注意crop的参数是左、上、右、下,因此x2和y2需要加1以包含边界点
gray_values = list(region.getdata())
sum_of_values = sum(gray_values)
print(sum_of_values)

调整特定坐标的灰度值并保存图片

import numpy as np
pixels = np.array(gray_image)  # 将图像转换为NumPy数组# 调整灰度值(例如,乘以一个因子)
factor = 1.5  # 例如,增加亮度到1.5倍
pixels = np.clip(pixels * factor, 0, 255).astype(np.uint8)  # (对np数组的操作,最小值,最大值),确保值在0-255之间,并转换回uint8类型# 将NumPy数组转换回图像并显示或保存
adjusted_image = Image.fromarray(pixels)
adjusted_image.save("d://python//2//adjusted_image.jpg")
http://www.lryc.cn/news/588873.html

相关文章:

  • Redis Desktop Manager(RDM)下载与安装使用教程
  • STM32小实验二--流水灯
  • 【R语言】警告conversion failure on ‘中文字符‘ in ‘mbcsToSbcs‘: for 注 (U+6CE8)
  • 海狸IM - 一个功能完整的开源即时通讯系统
  • DeepSWE:通过强化学习扩展训练开源编码智能体
  • 2025开放原子开源生态大会 | 开源欧拉的AI原生实践与全球协作
  • 基于开源AI大模型、AI智能名片与S2B2C商城小程序源码的用户价值引导与核心用户沉淀策略研究
  • Android target34升级到35中的edge-to-edge适配
  • 【Android】按钮的使用
  • Softhub软件下载站实战开发(十八):软件分类展示
  • 图像修复:深度学习实现老照片划痕修复+老照片上色
  • 三种深度学习模型(LSTM、CNN-LSTM、贝叶斯优化的CNN-LSTM/BO-CNN-LSTM)对北半球光伏数据进行时间序列预测
  • Datawhale AI 夏令营第一期(机器学习方向)Task2 笔记:用户新增预测挑战赛 —— 从业务理解到技术实现
  • 《C++模板高阶机制解析:非类型参数、特化设计与分离编译实践》
  • react的Fiber架构和双向链表区别
  • Redis 数据持久化
  • Cookie全解析:Web开发核心机制
  • Unity Editor下拉框,支持搜索,多层级
  • Expression 类的静态方法
  • 用TensorFlow进行逻辑回归(五)
  • 简单明了的对比PyTorch与TensorFlow
  • VSCode同时支持Vue2和Vue3开发的插件指南
  • Spark 之 Join BoundCondition
  • 云手机隐私保护指南:如何保障账号与数据的云端安全?
  • Java单元测试JUnit
  • 静态补丁脚本 - 修改 libtolua.so
  • MySQL数据库----约束
  • 开源工具与框架:基于.NET Core 的 Modbus 网关开发(一)
  • 硬件与软件的桥梁:冯诺依曼体系、操作系统和初始进程的深度解析
  • 【目标追踪】MUTR3D: A Multi-camera Tracking Framework via 3D-to-2D Queries