Python修改二值图像某特定颜色

#改变图片像素值164-1;255-2;
from PIL import Image
import cv2
import os
# img = cv2.imread("F:/AI/glaucoma_set/gla_img_120_Chall/Annotation-Training400/Disc_Cup_Fovea_Illustration/g0001.jpg")
# img = cv2.imread("F:/AI/glaucoma_set/gla_img_120_Chall/Annotation-Training400/Disc_Cup_Masks/Non-Glaucoma_512/n0001.bmp",cv2.IMREAD_UNCHANGED)  # 读取系统的内照片def change_pixel(img):width = img.shape[0]  # 长度height = img.shape[1]  # 宽度for i in range(0, width):  # 遍历所有长度的点for j in range(0, height):  # 遍历所有宽度的点if (img[i, j ,0] != 0 or img[i ,j ,1] != 0 or img[i ,j ,2] != 0 ):img[i, j ,0] = 255img[i ,j ,1] = 255img[i ,j ,2] = 255return img
if __name__ =="__main__":filePath = 'D:\weldline\code\dataset\VOCdevkit_v3_61\VOC2012\SegmentationClass/'savePath = 'D:\weldline\code\dataset\VOCdevkit_v3_61\VOC2012\\new/'name = os.listdir(filePath)for i in name:image_path = os.path.join(filePath,i)image_save_Path = os.path.join(savePath,i)image = cv2.imread(image_path, cv2.IMREAD_ANYCOLOR)img = change_pixel(image)img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)cv2.imwrite(image_save_Path, img)

·上面那段代码有的图像会报错,下面这个代码也可以实现,记录一下。

import cv2
import cv2 as cv#准备好需要替换颜色的图片yinzhang.jpg
img_rgb = cv2.imread('pictures/old/FeatureLocation5003.png')Conv_hsv_Gray = cv2.cvtColor(img_rgb, cv2.COLOR_BGR2GRAY)res, mask = cv2.threshold(Conv_hsv_Gray, 0, 255,cv2.THRESH_BINARY_INV |cv2.THRESH_OTSU)#255为需要保留的颜色(即不被替换的颜色),利用掩膜思想覆盖黑色部分
img_rgb[mask == 0] = [255, 255, 255]#cv2.imshow("imgOriginal", img_rgb) # show windows
cv2.imwrite('pictures/new/FeatureLocation5003.png', img_rgb, [int(cv2.IMWRITE_JPEG_QUALITY), 70])##cv2.imshow("mask", mask) # show windows#cv2.waitKey(0)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/610093.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网络爬虫中的代理IP应用与高效管理策略探析

在网络爬虫技术日益普及的今天,面对目标网站对访问频率、IP地址等的严格限制,如何合理、有效地利用和管理代理IP资源成为了一项至关重要的任务。本文将深入探讨代理IP在爬虫项目中的应用,并提出一套科学高效的管理策略。 一、代理IP在网络爬…

47.解释一下Spring AOP里面的几个名词

解释一下Spring AOP里面的几个名词 切面(Aspect): 在Spring Aop指定就是“切面类” ,切面类会管理着切点、通知。连接点(Join point): 指定就是被增强的业务方法通知(Advice): 就是需要增加到业务方法中的公共代码, 通知有很多种类型分别可以在需要增加的业务方法 不…

分布式I/O应用于智慧停车场的方案介绍

客户案例背景 目前车位检测技术有磁电技术、超声波技术、红外线技术、图像识别车位技术。考虑到例如电磁干扰、信号干扰等的环境因素影响,通常会采用组合使用的方式进行,如采用不同的传感器、应用不同的协议等,以便提高车位检测的准确性和实时…

xilinix 7系列器件生成已加密文件和已经过身份验证的文件

注释 :如需了解更多信息,请参阅《使用加密确保 7 系列 FPGA 比特流的安全》(XAPP1239)。 要生成加密比特流,请在 Vivado IDE 中打开已实现的设计。在主工具栏中,依次选择“Flow” → “Bitstream Settings”(流程 >…

Go语言学习笔记(二)

Go语言的学习资源 以下是一些推荐的Go语言学习资源的链接: Go语言教程:https://golang.org/doc/Go by Example:Go by ExampleGolang Tutorials:https://golangtutorials.com/Go语言第一课(慕课网)&#x…

每周三提前预知:绝地求生27.2版本最早1月10日上线,交易所系统、召唤掩体等新功能上线

嗨,我是闲游盒 27.2新版本预计最早1月10日上线,届时会停机更新约9小时,大家注意合理安排游戏时间! 这次更新带来了很多荣都地图的新玩法,主打的交易所系统即将上线! PUBG官方已经发布了预告 交易所系统 而这次的交易所系统玩法…

Java利用Apache compress包实现文件夹压缩成Zip包

Apache common提供了很多实用的工具包&#xff0c;下面就说一下如何用compress包来压缩文件夹。先引入compress&#xff0c;io和lang3这3个工具包&#xff1a; <dependencies><dependency><groupId>org.apache.commons</groupId><artifactId>com…

常见排序算法及其稳定性分析

前言&#xff1a; 排序算法可以说是每一个程序员在学习数据结构和算法时必须要掌握的知识点&#xff0c;同样也是面试过程中可能会遇到的问题&#xff0c;在早些年甚至还会考冒泡排序。由此可见呢&#xff0c;掌握一些常见的排序算法是一个程序员的基本素养。虽然现在的语言标…

2024 年 Linux 和开源的六大趋势预测

文章地址&#xff1a;观点|2024 年 Linux 和开源的六大趋势预测 让我们尝试预测未来吧&#xff01; 新的一年快乐&#xff0c;朋友们 ✨ 2024 年的钟声已经敲过&#xff0c;我们有必要去预见一下将塑造本年度的各种潮流。 我们不能预见未来&#xff0c;所以无法精确预知将会发…

libzmq使用zmq_poller就出现 was not declared in this scope

问题描述: 最近在使用zmq的 pub/sup模型的时候,使用zmq_poller就出现 was not declared in this scope 问题分析 关于这个问题,见zmq.h 619行左右: 619: #ifdef ZMQ_BUILD_DRAFT_API poller相关的api接口都在里面,如果这里没有定义ZMQ_BUILD_DRAFT_API宏,poller相关的API是无…

k8s的node亲和性和pod亲和性和反亲和性 污点 cordon drain

node亲和性和pod亲和性和反亲和性 污点 cordon drain 集群调度: schedule的调度算法 预算策略 过滤出合适的节点 优先策略 选择部署的节点 nodeName:硬匹配&#xff0c;不走调度策略&#xff0c;node01 nodeSelector:根据节点的标签选择&#xff0c;会走调度的算法 只…

PSoc62™开发板之PWM呼吸灯

实验目的 利用PWM动态调节输出功率达到控制LED呼吸变化的效果 实验准备 PSoc62™开发板&#xff08;开发板已经板载LED&#xff09; 板载资源 板载有多少pwm 创建工程例程&#xff0c;在libraries/HAL_Drivers/drv_pwm.h中查看BSP支持的pwm数量及对应的GPIO&#xff0c;可…

pgsql中epoch用法

问题描述 提示&#xff1a;这里描述项目中遇到的问题&#xff1a; 昨天又被叫回来加班,説是数据问题,又回来加班搞,到了以后发现数据没问题,那就是查询接口的事了,写查询接口的人用时间戳去查询,明明直接可以直接用日期查询,非得改成时间戳查询,结果还是有问题,接下来复盘一下…

【华为OD】系统需要提供人民币(CNY)、美元(USD)、英镑(GBP)、港币(HKD)价值 转换功能。

题目描述: 系统需要提供人民币(CNY)、美元(USD)、英镑(GBP)、港币(HKD)价值 转换功能。为了简单处理,题目的说明和考生调试可以用下面的默认汇 率:2 3 1 CNY = 2 HKD 1 USD = 8 CNY 1 GBP = 2 USD请按照汇率实现货

「 网络安全术语解读 」内容安全策略CSP详解

引言&#xff1a;什么是CSP&#xff0c;它为什么可以防御一些常见的网络攻击&#xff0c;比如XSS攻击&#xff0c;具体原理是什么&#xff1f;以及如何绕过CSP&#xff1f; 1. CSP定义 CSP&#xff08;Content Security Policy&#xff0c;内容安全策略&#xff09;是一种网络…

LeetCode 32. 最长有效括号

最长有效括号 给你一个只包含 ‘(’ 和 ‘)’ 的字符串&#xff0c;找出最长有效&#xff08;格式正确且连续&#xff09;括号子串的长度。 方法一、栈 由于要存在配对&#xff0c;必然有)存在&#xff0c;配对的长度为上一个)到当前)之间的距离&#xff0c;即为最长配对子串&…

centos安装gradle

1.将gradle.zip拷到centos 解压 2.配置环境变量 vim /etc/profile 在最后添加 export GRADLE_HOME/zx/gradle-8.5 export PATH$PATH:$GRADLE_HOME/bin:${PATH} 之后source /etc/profile gradle -version 安装成功

RK3566环境搭建

环境&#xff1a;vmware16&#xff0c;ubuntu 18.04 获取SDK前需要安装 sudo apt update sudo apt install -y repo git python 下载完成后先验证一下MD5码 md5sum rk356x_linux_release_v1.3.0b_20221213_split_dir/*firefly_split* 解压 rk3566ubuntu:/path/to$ mkdir ~…

【7-zip密码】7-Zip如何取消文件加密的密码

7z压缩包设置了密码&#xff0c;解压的时候就需要输入正确的密码才能顺利解压出文件&#xff0c;正常当我们解压文件或者删除密码的时候&#xff0c;虽然方法多&#xff0c;但是都需要输入正确的密码才能完成。忘记密码就无法进行操作。 那么&#xff0c;忘记了7z压缩包的密码…

Linux网络命令

文章目录 Linux网络网络配置命令1、ifconfig&#xff1a;查看网络接口信息&#xff08;显示所有活动网卡&#xff09;1.1 常用命令格式1.2 命令格式&#xff08;图文详解&#xff09;1.2.1 临时修改网卡名称1.2.2 永久修改网卡名称1.2.3 永久修改单个网卡 2、hostname&#xff…