使用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.pswp.cn/news/914589.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/914589.shtml
英文地址,請注明出處:http://en.pswp.cn/news/914589.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

記憶力訓練day41

通常是一個地點記2組詞 數字和人體記憶宮殿更注重 即時性;地點記憶宮殿是長久性

自動微分模塊

一.前言本章節我們是要學習梯隊計算,?動微分(Autograd)模塊對張量做了進?步的封裝,具有?動求導功能。?動微分模塊是構成神經?絡 訓練的必要模塊,在神經?絡的反向傳播過程中,Autograd 模塊基于正向計算…

深度學習·目標檢測和語義分割基礎

邊緣框 不是標準的x,y坐標軸。邊緣框三種表示:左上右下下坐標,左上坐標長寬,中心坐標長寬 COCO 目標檢測數據集的格式:注意一個圖片有多個物體,使用csv或者文件夾結構的格式不可取。 錨框算法 生成很多…

ffmpeg音視頻處理大綱

FFmpeg 是一個功能強大的開源音視頻處理工具集,其核心代碼以 C 語言實現。下面從源碼角度分析 FFmpeg 如何實現轉碼、壓縮、提取、截取、拼接、合并和錄屏等功能: 一、FFmpeg 核心架構與數據結構 FFmpeg 的源碼結構圍繞以下核心組件展開: lib…

網絡安全小練習

一、docker搭建 1.安裝 2.改變鏡像源(推薦國內鏡像源:阿里云鏡像源) 登錄阿里云容器鏡像源服務( 阿里云登錄 - 歡迎登錄阿里云,安全穩定的云計算服務平臺 ) 復制系統分配的專屬地址 配置 sudo mkdir …

數據結構——順序表的相關操作

一、順序表基礎認知?1.順序表的定義與特點?順序表是數據結構中一種線性存儲結構,它將數據元素按照邏輯順序依次存儲在一片連續的物理內存空間中。簡單來說,就是用一段地址連續的存儲單元依次存放線性表的元素,且元素之間的邏輯關系通過物理…

2025最新國產用例管理工具評測:Gitee Test、禪道、藍凌測試、TestOps 哪家更懂研發協同?

在快節奏的 DevOps 時代,測試用例管理已不再是 QA 的獨角戲,而是穿透需求—開發—測試—交付全流程的核心樞紐。想象一下,如果用例結構混亂,覆蓋不全,甚至丟失版本變更歷史,不僅協作亂,還影響交…

在線評測系統開發交流

https://space.bilibili.com/700332132?spm_id_from333.788.0.0 實驗內容爬蟲Web系統設計數據分析實驗指導爬蟲Web系統設計自然語言處理與信息檢索數據可視化評分標準FAQ實驗二:在線評測系統實驗概述實驗內容Step1:題目管理Step2:題目評測S…

Linux操作系統從入門到實戰(十)Linux開發工具(下)make/Makefile的推導過程與擴展語法

Linux操作系統從入門到實戰(十)Linux開發工具(下)make/Makefile的推導過程與擴展語法前言一、 make/Makefile的推導過程1. 先看一個完整的Makefile示例2. make的工作流程(1)尋找Makefile文件(2&…

NFS磁盤共享

步驟:注意事項?:確保服務端防火墻關閉,或者允許2049端口通信,客戶端需具備讀寫權限。服務器端安裝NFS服務器:sudo apt-get install nfs-kernel-server # Debian/Ubuntu sudo yum install nfs-utils # Ce…

ORA-06413: 連接未打開

System.Data.OracleClient.OracleException:ORA-06413: 連接未打開 oracle 報錯 ORA-06413: 連接未打開 db.Open();的報錯鏈接未打開,System.Data.OracleClient.OracleException HResult0x80131938 MessageORA-06413: 連接未打開 關于ORA-06413錯誤(…

【PCIe 總線及設備入門學習專欄 5.1.2 -- PCIe EP core_rst_n 與 app_rst_n】

文章目錄 app_rst_n 和 core_rst_n 的作用1. core_rst_n — PCIe 控制器內部邏輯復位作用控制方式2. app_rst_n — 應用層/用戶邏輯復位作用特點兩者關系圖示:示例流程(Synopsys EP)rst_sync[3] 的作用詳解(復位同步邏輯)為什么使用 rst_sync[3]?圖示說明Synopsys 官方手…

Python初學者筆記第二十期 -- (文件IO)

第29節課 文件IO 在編程中,文件 I/O(輸入/輸出)允許程序與外部文件進行數據交互。Python 提供了豐富且易用的文件 I/O 操作方法,能讓開發者輕松實現文件的讀取、寫入和修改等操作。 IO交互方向 從硬盤文件 -> 讀取數據 -> 內…

Java JUC包概述

Java 的 java.util.concurrent(簡稱 JUC)包是 JDK 5 及以后引入的并發編程工具包,旨在解決傳統線程模型(如 synchronized、wait/notify)的局限性,提供更靈活、高效、可擴展的并發編程組件。它極大簡化了多線…

LeetCode--44.通配符匹配

前言:不知不覺又斷更一天了,其實昨天就把這道題寫得差不多了,只是剛好在力扣里面看見了一種新的解法,本來想寫出來的,但是我把它推到今天了,因為太晚了,但是今天又睡懶覺了,所以我直…

WHAT - 依賴管理工具 CocoaPods

文章目錄1. 什么是 CocoaPods?2. 如何安裝 CocoaPods?(1) 確保已安裝 Ruby(macOS 默認自帶)(2) 安裝 CocoaPods(3) 驗證安裝3. 在 React Native 項目中使用 CocoaPods(1) 進入 iOS 目錄(2) 初始化 Podfile(如果不存在&…

C++ Boost Aiso TCP 網絡聊天(服務端客戶端一體化)

代碼功能說明: 程序模式: 主動連接模式:當用戶指定對端 IP 和端口時,嘗試連接到對端被動監聽模式:當用戶未指定對端 IP 時,等待其他節點連接線程模型: 主線程:處理用戶輸入和消息發送接收線程:后臺接收并顯示對端消息關鍵組件: std::atomic<bool> connected:原…

WeakAuras 5.12.9 Ekkles lua

3.45獵人寶寶狼 技能恢復宏已知3.45BUG RL技能位會清空&#xff0c;小退大退 BB技能全部激活&#xff0c;修復以前可用宏一鍵恢復狀態-------方法一&#xff1a;宏命令---------------------------------------------------------#showtooltip 狂怒之嚎 /petautocaston [btn:1]…

對于編寫PID過程中的問題

當stm32RCT6使用位置環pid控制麥輪轉動一定路程時&#xff0c;在這個時間段內想讓一邊輪胎速度加大應該怎么做&#xff1f;比如我pid的目標脈沖值為9000&#xff0c;在運行到3000的時候車偏左了&#xff0c;那我應該怎樣讓他回正&#xff0c;我想到的辦法是增加其最大的脈沖值&…

LeetCode|Day13|88. 合并兩個有序數組|Python刷題筆記

LeetCode&#xff5c;Day13&#xff5c;88. 合并兩個有序數組&#xff5c;Python刷題筆記 &#x1f5d3;? 本文屬于【LeetCode 簡單題百日計劃】系列 &#x1f449; 點擊查看系列總目錄 >> &#x1f4cc; 題目簡介 題號&#xff1a;88. 合并兩個有序數組 難度&#xf…