遍历图片修改像素点值

我的目的: 将下图中除黑色掩码部分外的背景全部换成白色。

 我的做法:遍历图片中像素点rgb三通道值之和不小于65的点,赋值(255,255,255)(白色)。关于为什么选择三通道像素值和小于65,通过画图软件中颜色选取器,掩码边缘的rgb值并不是纯粹的(0,0,0)黑色。

最后结果:

提示:选择cv2.imwirte保存图片不会改变图片尺寸。 plt.savefig保存会改变图片尺寸。

import os
import cv2
from PIL import Image
import numpy as np
img_root = "D:/study/test_data/black_mask"
save_root = "D:/study/test_data/only_mask"
fileList = os.listdir(img_root)
n = 0
# load image
for image in os.listdir(img_root):
    img_path = os.path.join(img_root, image)
    img = Image.open(img_path)
    img1 = np.array(img.convert('RGB'))
    sq = img1.shape
    len = sq[0]
    width = sq[1]
    for i in range(0, len):
         for j in range(0, width):
              if  not img1[i, j].sum() <= 65:
                    img1[i, j] = (255, 255, 255)
    cv2.imwrite(os.path.join(save_root,fileList[n]), img1)
    n+=1

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
——Ve.3.5.3 更新说明—— 1、修复了一个导致程序崩溃的BUG。 由Boier反馈。 ——Ve.3.5.2 更新说明—— 1、增加了TXT文章的导入导出功能,将TXT文章按字符切为节点。 ——Ve.3.5.1 更新说明—— 1、修复了一些联想BUG。 ——Ve.3.5.0 更新说明—— 1、增加节点联想功能,将已有节点笔记放入“用户文件夹路径\Documents\Note\Fictitious\”目录下,创建或修改节点时会显示其他笔记文件内同节点标题的连接与被连接项。按ESC键取消当前节点的联想显示,按回车自动创建所有联想项。 2、主界面菜单栏【功能】——【打开联想节点文件目录】可打开联想文件的存放目录。 ——Ve.3.4.1 更新说明—— 1、修复了圆周动作的一系列BUG。 2、新增有损替换功能。Ctrl+H可打开替换界面。可批量替换节点名、内容、连接内容。 3、节点编辑界面——【节点】——【选域同步修改】内可设置批量同步选域内节点指定内容到当前编辑节点对应内容。 ——Ve.3.4.0 更新说明—— 1、控制台文本增加右键菜单。 2、修复新版本导致的搜索结果到新文件程序崩溃的BUG。 3、控制台使用“PageUp/PageDown”键查看命令使用历史 4、新增节点动作控制相关指令: ·设置动作更新速度[SETACTIONUPDATASPEED/SAUS] 更新间隔(数) ·启动动作时钟[STARTACTIONTIMER/SAT] 1(启动)/0(关闭) ·定义动作[DEFINEACTION/DEFA/DA] 动作名(字符串),动作节点ID1(数)[|动作节点ID2(数)[|动作节点ID3(数)[...]]],动作时间执行间隔(数),动作类型(直线/圆周),直线:向量X(数),向量Y(数)/[圆周:角度(数),中心节点ID(数)],动作次数(数),是否循环(0/1) ·重启动作[RESTARTACTION/RA] 动作名(字符串) ·关闭动作[OFFACTION/OA] 动作名(字符串) ·打印动作列表[PRINTACTIONLIST/PAL] ·打印可执行动作列表[PRINTEXECUTABLEACTIONLIST/PEAL] ——Ve.3.3.2 更新说明—— 1、增加了节点化整开启矩线后化整位置索引线。 2、优化了文件保存与否检查,避免原检查时保存文件引起的程序崩溃。 3、完成了RGB色与VBColor互转功能。 ——Ve.3.3.1 更新说明—— 1、加强了网络接口的稳定性。 2、取消了文件保存的资源释放,避免重复保存导致的程序崩溃。(可能会导致自动保存大文件时体验不佳) ——Ve.3.3.0 更新说明—— 1、新增程序网络接口执行控制台指令。 2、新增指令: ·创建节点[NEWBUILTNODE/NBN] X位置(数) Y位置(数) 标题(字符串) 内容(字符串) VBColor(数) 大小(数) 选中(0/1) ·编辑节点[EDITNODE/EN] 节点遍历ID(数) 标题(字符串) 内容(字符串) VBColor(数) 大小(数) ·位移节点[MOVENODE/MN] 节点遍历ID(数) X位置(数) Y位置(数) ·删除节点[DELETENODE/DN] 节点遍历ID1(数),节点遍历ID2(数),节点遍历ID3(数)... ·选中节点[SELECTNODE/SN] 节点遍历ID1(数),节点遍历ID2(数),节点遍历ID3(数)... ·创建连接[NEWBUILTNODE/NBL] 连接源节点遍历ID(数) 连接去节点遍历ID(数) 连接内容(字符串) 连接粗细(数) 选中(0/1) *连接已存在会被删除 ·编辑连接内容[EDITLINE/EL] 源节点遍历ID(数) 去节点遍历ID(数) 连接内容(字符串) 连接粗细(数) ·选中连接[SELECTLINE/SL] 连接1源节点遍历ID(数):连接1去节点遍历ID(数),连接2源节点遍历ID(数):连接2去节点遍历ID(数),连接3源节点遍历ID(数):连接3去节点遍历ID(数)... ——Ve.3.2.1 更新说明—— 1、优化了节点整化机制。 ——Ve.3.2.0 更新说明—— 1、新增矩线功能,开启后可看到全局坐标系。 2、新增指令: ·矩线间隔[RECTANGLESTEP/RECSTEP] 步长(数) ·矩线颜色[RECTANGLECOLOR/RECCOLOR] VBColor(数)[RColor(数) GColor(数) BColor(数)] ·节点放缩[NODEZOOM] 基点节点名(字符串) X轴放缩倍数(数) Y轴放缩倍数(数) 3、新增节点整化功能,开启后将限制节点坐标并纠正对齐到矩线网络。 ——Ve.3.1.3 更新说明—— 1、修复没有连接或节点笔记文件作为子节点视图打开失败。 2、修改控制台指令: ·阵列新增节点[FORNODEADD] xStart(数) xStep(数) xCounts(数) yStart(数) yStep(数) yCounts(数) nodeTitle(字符串) nodeContent(字符串) pitchOn(0/1) size(数) color(数) 3、修复PNG打印边界不等留白的BUG,添加了主界面字体及大小、颜色的获取。 4、新增指令: ·自增偏移量[SELFIM] i偏移 x偏移 y偏移 说明:自增偏移变量使用在阵列新增节点的标题及内容中,以[i](顺序自增),[x](横轴自增),[y](纵轴自增)三种方式进行偏移。 ·打印字典[PRINTDIC] 5、新增整化节点功能,将选中节点坐标整数化。 ——Ve.3.1.2 更新说明—— 1、节点内容“颜色[R(数),G(数),B(数)]”或“颜色[VBColor(数)]”可自定义节点颜色。 2、节点内容“波[Value(数)]”可定义波形化时该节点Y轴。 3、选中具有像素特征内容的节点,按P键可快速像素位置、颜色阵列节点。 4、将导出BMP位图从全局节点导出改为选中节点导出。 ——Ve.3.1.1 更新说明—— 1、优化了位图导入节点建立的机制,将不会建立连接。 2、导出为图片功能将索引全部节点内容到图片。 3、子节点预览图增加新实例中显示功能按钮。(预览窗体左上方蓝色圆圈) ——Ve.3.1.0 更新说明—— 1、增加了BMP/PNG/JPG图片导入成节点功能。(请勿导入像素大于100*100的图片!) 2、增加了节点导出为BMP图片的功能;节点内容中“像素[X位置(数),Y位置(数),VBColor(数)]”会被转化成导出图片像素点。 3、增加了子节点图预览功能;节点内容中“笔记[路径]”路径为有效NTX文件,鼠标悬停在该节点上即可预览其节点图。 4、优化了字符串输入框窗体UI。 5、新增指令: ·设置树状文本导入位置控制常数[SETTREETXTINPOSCONTROLCONST/STTIPCC/STIPC] 根节点X(数) 根节点Y(数) 节点X间隔(数) 节点Y间隔(数) ·设置位图导入位置控制常数[SETIMAGEINPOSCONTROLCONST/SIIPCC/SIPC] 根节点X(数) 根节点Y(数) 节点X间隔(数) 节点Y间隔(数) 6、删除了指令: ·设置导入位置控制常数[SETINPOSCONTROLCONST/SIPCC] 7、帮助界面增加更新说明文本引用。 ——Ve.3.0.3 周末特别版 更新说明—— 1、增加了流光溢彩模式中,节点彩虹变。 2、修复了流光溢彩选项不能保存的BUG。 ——Ve.3.0.3 更新说明—— 1、将Excel文件导入修改为TXT文件导入。 2、优化了流光溢彩模式,性能提升10倍。 3、将彩虹线模式中的选中连接变为彩虹线。 4、修复了一些遗留BUG。 5、新增控制台指令: ·打印撤销列表[PRINTREVOKE] ·打印重做列表[PRINTREDO] ·设置导入位置控制常数[SETINPOSCONTROLCONST/SIPCC] 根节点X(数) 根节点Y(数) 节点X间隔(数) 节点Y间隔(数) 6、更新控制台指令: ·阵列新增节点[FORNODEADD] xStart(数) xStep(数) xEnd(数) yStart(数) yStep(数) yEnd(数) nodeTitle(字符串) nodeContent(字符串) pitchOn(0/1) size(数) color(数) 7、增加节点归一化功能,选中需要归一化的节点后,程序会将笔记内与选中节点节点名、内容、颜色、大小相同的节点删除,被删除节点的所有连接转移至归一节点。 8、增加TXT文本导出功能。 9、优化了菜单栏,使功能模块更直观。 PS:控制台使用:“帮助[HELP]”指令可浏览全部控制台命令。 ——Ve.3.0.2 更新说明—— 1、增加Shift+N,取消选区内所有节点的选中。 2、增加Shift+L,取消选区内所有连接的选中。 3、优化了彩虹线模式,减少了性能损失。 4、增加了默认节点大小与连接宽度设置。 5、增加了节点输入界面窗体大小记忆。 6、增加了打印全节点连接图为PNG图片的功能。 7、增加了圆阵阵列子节点功能;鼠标悬停到需要阵列子节点的节点上,点击A键后输入圆阵半径进行阵列。 8、增加了子节点颜色批量修改;鼠标悬停到需要修改子节点颜色的节点上,点击N键后选择新颜色以及深度即可。 9、增加了Excel文件导入功能。 ——Ve.3.0.1 更新说明—— 1、增加了连接清单。 2、优化了保存文件编码。 3、增加了连接内容显示,按C键可修改选中连接内容。 4、增加了连接宽度修改,选中连接或节点后按+/-键放大或缩小。 5、按“`”键可呼出控制台。 6、新增控制台指令: ·阵列新增节点[FORNODEADD] xStart(数) xStep(数) xEnd(数) yStart(数) yStep(数) yEnd(数) nodeTitle(字符串) nodeContent(字符串) pitchOn(0/1) ·显示鼠标坐标[VISMOUSEPOS] 1(显示)/0(不显示) ·字典项增加[DICITEMADD] 键A:A,键B:B…… ·字典项清空[DICREMOVe.ALL] PS:阵列新增节点中使用“[i]”字符串会被程序自动替换为阵列创建的节点的序号,如果有字典索引该序号,该序号会被替换成字典索引。 7、增加了选域功能。Ctrl+数字,可将当前选中的对象记忆,再次按数字键时会直接选中记忆的对象;Shift+数字可清空该数字键对应的记忆。 ——Ve.3.0.0 更新说明—— 1、修复了点X无法结束程序的BUG。 2、增加了节点颜色修改。 3、增加了节点大小修改。(鼠标对准节点后点击+/-号键进行增大/缩小) 4、增加了主界面绘制时钟间隔自定义功能。(低配电脑的福音) 5、增加了窃印功能。(以Python的字典格式将节点文本化到剪切板) 6、增加节点清单,双击清单节点可快速将视角位移到该节点。 7、优化了主界面保存指示灯,使其不再闪烁。 8、增加了主界面缩放率提示。 9、增加了自定义主界面背景图片。 10、优化了标签输出节点内容窗体的位置及大小。 11、优化了保存文件编码,新编码节点内容兼容性更强。 12、更新了程序图标,兼容Windows XP。 13、增加了节点编辑内容保持,同内容可持续产生新节点。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值