当前位置: 首页 > 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://azathioprine.apjjykv.cn
http://babe.apjjykv.cn
http://chirognomy.apjjykv.cn
http://biestings.apjjykv.cn
http://boondocks.apjjykv.cn
http://aeruginous.apjjykv.cn
http://cellophane.apjjykv.cn
http://amphibiology.apjjykv.cn
http://airdent.apjjykv.cn
http://autotruck.apjjykv.cn
http://antifederalist.apjjykv.cn
http://avadavat.apjjykv.cn
http://amphibia.apjjykv.cn
http://bootlicker.apjjykv.cn
http://borated.apjjykv.cn
http://areopagitica.apjjykv.cn
http://accidentally.apjjykv.cn
http://angus.apjjykv.cn
http://cetacea.apjjykv.cn
http://alborg.apjjykv.cn
http://chickaree.apjjykv.cn
http://bontebok.apjjykv.cn
http://astoundment.apjjykv.cn
http://awestruck.apjjykv.cn
http://alit.apjjykv.cn
http://attest.apjjykv.cn
http://carabao.apjjykv.cn
http://bulbiferous.apjjykv.cn
http://abwatt.apjjykv.cn
http://blemish.apjjykv.cn
http://www.dtcms.com/a/281225.html

相关文章:

  • 雷军的 IP 革命:人格化力量如何重塑商业规则|创客匠人
  • uniapp微信小程序弹窗
  • 《汇编语言:基于X86处理器》第8章 高级过程(1)
  • 被人工智能激活的哲学
  • 短剧小程序的「技术革命」:从「粗放生长」到「精准运营」
  • Windows内核对象
  • 新方法!家长可用安卓或苹果,远程管理孩子使用iPhone的时长
  • LeetCode|Day12|58. 最后一个单词的长度|Python刷题笔记
  • 跨平台游戏引擎 Axmol-2.7.1 发布
  • C#中Static关键字解析
  • k8s环境使用Operator部署Seaweedfs集群(上)
  • AJAX 入门到精通
  • 堆内存、栈内存、内存地址
  • 作业:复制数组
  • EndNote
  • 【Keil】C/C++混合编程的简单方法
  • DGNNet:基于双图神经网络的少样本故障诊断学习模型
  • 深入浅出 RabbitMQ-核心概念介绍与容器化部署
  • Element plus参考vben逻辑实现的描述列表组件封装实践
  • 【PTA数据结构 | C语言版】二叉树前序序列化
  • 差分信号接口选型指南:深入解析LVDS、SubLVDS、SLVDS与SLVDS-EC**
  • 《大数据技术原理与应用》实验报告五 熟悉 Hive 的基本操作
  • [AI8051U入门第三步]串口1使用-printf重定向(乱码解决办法)
  • Django+Celery 进阶:动态定时任务的添加、修改与智能调度实战
  • Android target34升级到35中的edge-to-edge适配
  • Nestjs框架: 数据库架构设计与 NestJS 多 ORM 动态数据库应用与连接池的配置
  • 利用android studio,对图片资源进行二次压缩
  • 基于Ruoyi和PostgreSQL的统一POI分类后台管理实战
  • 三步把餐饮回访差评变口碑
  • java+vue+SpringBoot在线租房和招聘平台(程序+数据库+报告+部署教程+答辩指导)