首页 > 编程语言 >python将灰度图或三通道黑白图转换为像素值0或255的八位图

python将灰度图或三通道黑白图转换为像素值0或255的八位图

时间:2023-05-12 09:34:42浏览次数:46  
标签:arr name img python 灰度 file os 255

from PIL import Image
import numpy as np
import os

# 设置阈值(可根据具体情况调整)
threshold = 128

path1 = r'resultCD'
path2 = r'result1'
if not os.path.exists(path2):
    os.makedirs(path2)

# 遍历文件夹中的所有图片
for file_name in os.listdir(path1):
    if file_name.endswith(".jpg") or file_name.endswith(".png"):
        # 读取图片并转换为灰度图像
        img = Image.open(os.path.join(path1, file_name)).convert("L")

        # 将灰度图像转换为numpy数组
        arr = np.array(img)

        # 根据阈值进行二值化
        arr[arr < threshold] = 0
        arr[arr >= threshold] = 255

        # 转换回PIL Image对象并保存为PNG格式
        out_img = Image.fromarray(arr.astype(np.uint8))
        out_img.save(os.path.join(path2, file_name[:-4] + "_binary.png"))

用于深度学习分割任务标签计算之前的二值化操作,将图片转换为8位的二值图像,当然,这里标签只有背景和变化两类(变化检测)

标签:arr,name,img,python,灰度,file,os,255
From: https://www.cnblogs.com/yokon/p/17392821.html

相关文章

  • Python学习之三: 编译二进制
    Python学习之三:编译二进制摘要每次使用python执行py文件其实是比较麻烦的主要是还得安装python的虚拟机,以及安装对应的pip包.感觉比较繁杂理论上最快捷的方式是编译成二进制直接运行.所以这里主要是说一下通过pycharm和linux机器进行二进制编译的过程Pycharm的安......
  • 车辆路径问题——CVPR的Python实现
    车辆路径问题通常被定义为装运一系列点或接收点,通过他们组织车辆适当途径有序。在一定的约束条件,如对商品的需求,交货数量,交付的交付时间,车辆容量限制,行驶里程限制,时间限制,以实现某些目标。如果最短距离,最低的成本,尽可能少的时间,尽量少使用车辆。在物流和运输,因为运输点,更多的客户,......
  • python内置模块——logging
    内置模块-loggingloging模块是python提供的内置模块,用来做日志处理。日志等级:等级释义级别数值CRITICAL(fatal)致命错误,程序根本跑不起来50ERROR运行错误,程序运行发生错误的地方时就会退出程序40WARNING运行警告,程序运行发生警告的地方时会显示警告提示,但是......
  • Python学习之二:不同数据库相同表是否相同的比较方法
    摘要昨天学习了使用python进行数据库主键异常的查看.当时想我们有跨数据库的数据同步场景.对应的我可以对不同数据库的相同表的核心字段进行对比.这样的话能够极大的提高工作效率.我之前写过很长时间的shell.昨天跟着同事开始学python.感觉的确用python能够节约大量的时间.......
  • python读取txt文本匹配excel内容
    别人的需求,一个小脚本、代码如下:importopenpyxl#打开Excel文件path=r'D:\Paper\data_late.xlsx'workbook=openpyxl.load_workbook(path)#获取第一个工作表worksheet=workbook.active#获取字符串列的值,并将其转换为列表strings=[cell.valueforcelli......
  • python中的内置异常
    1关于异常代码中遇到错误时会引发异常,python中有许多内置的异常类来表示某种具体异常,当然也可以自定义异常类,当异常未被捕获或处理时,代码会在引发异常处终止,并将异常信息显示在回溯信息中(tarceback)如下上面可在traceback中看到一些关于异常的具体信息,由于改异常未被捕获或处......
  • Python try...catch All In One
    Pythontry...catchAllInOnePython异常处理try...exceptwhileTrue:try:x=int(input("Pleaseenteranumber:"))breakexceptValueError:print("Oops!Thatwasnovalidnumber.Tryagain...")excep......
  • Python复制文件的9种方法
    以下是演示“如何在Python中复制文件”的九种方法。1.shutilcopyfile()方法2.shutilcopy()方法3.shutilcopyfileobj()方法4.shutilcopy2()方法5.ospopen方法6.os系统()方法7.Thread()方法8.子进程调用()方法9.子进程check_output()方法1.......
  • 第二节:编程语言与Python介绍
    一引子基于上一节所学,有了计算机硬件,再在硬件之上安装好操作系统,我们就有了一个应用程序的运行平台,我们接下来的任务就是学习如何使用某款编程语言来开发应用程序。本章的主题是先带大家了解下编程语言,然后重点介绍Python这门编程语言二编程语言分类:2.1机器语言机器语言......
  • Why are Python strings immutable? 字符串是否可以改变
    实践1、pythons="abc"s+="34" #OK print(s)s[0]="k" # TypeError:'str'objectdoesnotsupportitemassignment   golang  s:="abc"  s+="456"  fmt.Println(s)  s[0]="......