python opencv 实现对二值化后的某一像素值做修改和mask叠加

news2024/10/7 1:25:32

实现对二值化后的某一像素值做修改

使用OpenCV的findNonZero函数找到所有非零(也就是像素值为255)的像素,然后遍历这些像素并修改他们的值。示例代码:

import cv2  
import numpy as np  
  
# 加载并二值化图像  
img = cv2.imread('image.png', 0)  
ret, img = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY)  
  
# 找到所有非零像素  
non_zero_pixels = np.where(img == 255)  
  
# 遍历并修改非零像素的值  
for x, y in zip(*non_zero_pixels):  
    img[x, y] = 20  # 将像素值修改为0  
  
# 保存修改后的图像  
cv2.imwrite('modified_image.png', img)

mask叠加

mask叠加的方法:首先创建一个和mask大小一样的且都为0的矩阵,然后,遍历mask,使用cv2.add相加。

import cv2
import glob
import numpy as np
from natsort import os_sorted
imageList=glob.glob('mask/*.jpg')

count_imag=len(imageList)
image_value=np.zeros((720, 1280),dtype = np.uint8)
for i,img_path in enumerate(imageList):
    imag_name=img_path.replace('\\','/').split('/')[-1]
    img=cv2.imread(img_path,cv2.IMREAD_GRAYSCALE)
    th, threshed = cv2.threshold(img, 254.1, 255, cv2.THRESH_BINARY)
    image_value=cv2.add(image_value,threshed)


th, threshed = cv2.threshold(image_value, 250, 255, cv2.THRESH_BINARY)
print(threshed)
#使用opencv显示图像
cv2.imshow('black image', threshed)
cv2.waitKey(0)

文章目录

  • 实现对二值化后的某一像素值做修改
  • mask叠加
  • 摘要
  • YoloV8改进策略:基于分层注意力的FasterViT,让YoloV8实现性能的飞跃
  • YoloV8改进策略:InceptionNext主干替换YoloV8和YoloV5的主干
  • YoloV8改进策略:轻量级的CloFormer助力Yolov8在速度和精度上实现双双提升
  • YoloV8改进策略:InceptionNeXt和YoloV8完美结合,让YoloV8大放异彩
  • YoloV8改进策略:新出炉的EMA注意力机制助力YoloV8更加强大
  • YoloV8改进策略:VanillaNet极简主义网络,大大降低YoloV8的参数
  • YoloV8改进策略:RFAConv模块即插即用,实现YoloV8丝滑上分
  • YoloV8改进策略:让SeaFormer走进Yolov8的视野,轻量高效的注意力模块展现出无与伦比的魅力
  • YoloV8改进策略:将DCN v1与v2运用到YoloV8中,化身成上分小黑子
  • YoloV8改进策略:基于双层路由注意力的视觉Transformer提升YoloV8的检测能力
  • YoloV8改进策略:来自谷歌最新的优化器——Lion,在速度和精度上双双提升。Adam表示年轻人不讲武德
  • YoloV8改进策略:Conv2Former与YoloV8深度融合,极简网络,极高性能
  • YoloV8改进策略:将ConvNextV2与YoloV8激情碰撞,能迸发出什么样的火花呢?
  • YoloV8改进策略:将CIoU替换成Wise-IoU,幸福涨点,值得拥有,还支持EIoU、GIoU、DIoU、SIoU无缝替换。
  • YoloV8改进策略:增加分支,减少漏检
  • YoloV8改进策略:将FasterNet与YoloV8深度融合,打造更快更强的检测网络
  • Yolov8网络详解与实战(附数据集)

摘要

本专栏是讲解如何改进Yolov8的专栏。改进方法采用了最新的论文提到的方法。改进的方法包括:增加注意力机制、更换卷积、更换block、更换backbone、更换head、更换优化器等;每篇文章提供了一种到N种改进方法。

评测用的数据集是我自己标注的数据集,里面包含32种飞机。每种改进方法我都做了测评,并与官方的模型做对比。

代码和PDF版本的文章,我在验证无误后会上传到百度网盘中,方便大家下载使用。

这个专栏,求质不求量,争取尽心尽力打造精品专栏!!!

谢谢大家支持!!!
在这里插入图片描述

YoloV8改进策略:基于分层注意力的FasterViT,让YoloV8实现性能的飞跃

YoloV8改进策略:基于分层注意力的FasterViT,让YoloV8实现性能的飞跃
这篇文章向大家展示如何使用FasterViT改进YoloV8,我尝试了几种方法,选出了三种效果比较好的方法推荐给大家。
FasterViT结合了cnn的快速局部表示学习和ViT的全局建模特性的优点。新提出的分层注意力(HAT)方法将具有二次复杂度的全局自注意力分解为具有减少计算成本的多级注意力。我们受益于基于窗口的高效自我关注。每个窗口都可以访问参与局部和全局表示学习的专用载体Token。在高层次上,全局的自我关注使高效的跨窗口通信能够以较低的成本实现。FasterViT在精度与图像吞吐量方面达到了SOTA Pareto-front。
在这里插入图片描述

YoloV8改进策略:InceptionNext主干替换YoloV8和YoloV5的主干

YoloV8改进策略:InceptionNext主干替换YoloV8和YoloV5的主干

这篇文章主要讲解如何使用InceptionNext主干网络替换YoloV8和YoloV5的主干。更改了InceptionNext网络结构,和Yolov5、YoloV8的架构。
在这里插入图片描述

YoloV8改进策略:轻量级的CloFormer助力Yolov8在速度和精度上实现双双提升

YoloV8改进策略:轻量级的CloFormer助力Yolov8在速度和精度上实现双双提升

CloFormer是清华大学在今年发表的轻量级主干网络,引入了AttnConv,一种attention风格的卷积算子。所提出的AttnConv使用共享权重来聚合局部信息,并配置精心设计的上下文感知权重来增强局部特征。AttnConv和普通attention的结合使用池化来减少CloFormer中的FLOPs,使模型能够感知高频和低频信息。
在这里插入图片描述

YoloV8改进策略:InceptionNeXt和YoloV8完美结合,让YoloV8大放异彩

YoloV8改进策略:InceptionNeXt和YoloV8完美结合,让YoloV8大放异彩

InceptionNeXt是今年颜水成团队发布的一篇论文,将ConvNext和Inception的思想融合,即IncepitonNeXt。InceptionNeXt-T实现了比convnext - t高1.6倍的训练吞吐量,并在ImageNet- 1K上实现了0.2%的top-1精度提高。

在这里插入图片描述

YoloV8改进策略:新出炉的EMA注意力机制助力YoloV8更加强大

YoloV8改进策略:新出炉的EMA注意力机制助力YoloV8更加强大

EMA注意力机制是今年新的高效的多尺度注意力模块。以保留每个通道上的信息和降低计算开销为目标,将部分通道重塑为批量维度,并将通道维度分组为多个子特征,使空间语义特征在每个特征组中均匀分布。具体来说,除了对全局信息进行编码以重新校准每个并行分支中的通道权重外,还通过跨维度交互进一步聚合两个并行分支的输出特征,以捕获像素级成对关系。
在这里插入图片描述

YoloV8改进策略:VanillaNet极简主义网络,大大降低YoloV8的参数

YoloV8改进策略:VanillaNet极简主义网络,大大降低YoloV8的参数

VanillaNet,一个包含优雅设计的神经网络架构。通过避免高深度,shotcut和复杂的操作,如自主意力,VanillaNet令人耳目一新的简洁,但非常强大。每一层都被精心制作得紧凑而直接,非线性激活函数在训练后被修剪以恢复原始结构。VanillaNet克服了固有复杂性的挑战,使其成为资源受限环境的理想选择。其易于理解和高度简化的架构为高效部署提供了新的可能性。大量的实验表明,VanillaNet提供的性能与著名的深度神经网络和视觉转换器相当,展示了极简主义在深度学习中的力量。VanillaNet的这一富有远见的旅程具有重新定义景观和挑战基础模型现状的巨大潜力,为优雅有效的模型设计开辟了一条新的道路。

在这里插入图片描述

YoloV8改进策略:RFAConv模块即插即用,实现YoloV8丝滑上分

YoloV8改进策略:RFAConv模块即插即用,实现YoloV8丝滑上分
RFAConv是一种新的注意力机制,称为感受野注意力(RFA)。卷积块注意力模块(CBAM)和协调注意力模块(CA)只关注空间特征,不能完全解决卷积核参数共享的问题,但在RFA中,感受野空间特征不仅集中,而且为大尺寸卷积核提供了良好的注意力权重。RFA设计的感受野注意力卷积运算(RFAConv)可以被认为是取代标准卷积的一种新方法,它带来的计算成本和许多参数几乎可以忽略不计。由于作者没有开源我自己复现了一版,并尝试将其加入到YoloV8网络中。
在这里插入图片描述

YoloV8改进策略:让SeaFormer走进Yolov8的视野,轻量高效的注意力模块展现出无与伦比的魅力

YoloV8改进策略:让SeaFormer走进Yolov8的视野,轻量高效的注意力模块展现出无与伦比的魅力

SeaFormer使用压缩轴和细节增强的方法设计了一个通用的注意力块。它可以进一步用于创建一系列具有卓越成本效益的骨干体系结构。再加上一个轻分割头,我们在基于arm的移动设备上在ADE20K和cityscape数据集上实现了分割精度和延迟之间的最佳权衡。关键的是,我们以更好的性能和更低的延迟击败了适合移动设备的竞争对手和基于transformer的对手,而且没有花哨的东西。
在这里插入图片描述

YoloV8改进策略:将DCN v1与v2运用到YoloV8中,化身成上分小黑子

YoloV8改进策略:将DCN v1与v2运用到YoloV8中,化身成上分小黑子

尝试用DCNv1与DCNv2代替普通的卷积!
在这里插入图片描述

YoloV8改进策略:基于双层路由注意力的视觉Transformer提升YoloV8的检测能力

YoloV8改进策略:基于双层路由注意力的视觉Transformer提升YoloV8的检测能力
双层路由注意力实现具有内容感知的更灵活的计算分配。利用稀疏性来节省计算和内存,同时只涉及适用于GPU的密集矩阵乘法。用所提出的双层路由注意力建立了一个新的通用视觉transformer,称为BiFormer。
在这里插入图片描述

YoloV8改进策略:来自谷歌最新的优化器——Lion,在速度和精度上双双提升。Adam表示年轻人不讲武德

YoloV8改进策略:来自谷歌最新的优化器——Lion,在速度和精度上双双提升。Adam表示年轻人不讲武德

Lion将ViT在ImageNet上的准确率提高了2%,并在JFT上节省了高达5倍的预训练计算。在视觉-语言对比学习方面,在ImageNet上实现了88.3%的零样本和91.1%的微调精度,分别超过了之前的最佳结果2%和0.1%。在扩散模型上,Lion通过获得更好的FID分数并将训练计算量减少了2.3倍,超越了Adam。在自回归、掩码语言建模和微调方面,Lion表现出与Adam类似或更好的性能。对Lion的分析表明,其性能增益随着训练批大小的增加而增长。由于符号函数产生的更新范数更大,它还需要比Adam更小的学习率。

YoloV8改进策略:Conv2Former与YoloV8深度融合,极简网络,极高性能

YoloV8改进策略:Conv2Former与YoloV8深度融合,极简网络,极高性能
Conv2Former是在ConvNeXt基础上,做了进一步的优化,性能得到了提升。
在这里插入图片描述

YoloV8改进策略:将ConvNextV2与YoloV8激情碰撞,能迸发出什么样的火花呢?

YoloV8改进策略:将ConvNextV2与YoloV8激情碰撞,能迸发出什么样的火花呢

ConvNextV2将一个全卷积掩码自编码器框架和一个新的全局响应归一化(GRN)层,可以添加到ConvNeXt架构中,以增强通道间的特征竞争,它显著提高了纯ConvNets在各种识别基准上的性能,包括ImageNet分类、COCO检测和ADE20K分割。

在这里插入图片描述

YoloV8改进策略:将CIoU替换成Wise-IoU,幸福涨点,值得拥有,还支持EIoU、GIoU、DIoU、SIoU无缝替换。

YoloV8改进策略:将CIoU替换成Wise-IoU,幸福涨点,值得拥有,还支持EIoU、GIoU、DIoU、SIoU无缝替换。
这篇文章讲述如何在yolov8中,使用Wise-IoU涨点。首先,翻译了论文,让大家了解什么是Wise IoU,以及Wise IoU的三个版本。接下来讲解如何在yolov8中添加Wise IoU。

在这里插入图片描述

YoloV8改进策略:增加分支,减少漏检

YoloV8改进策略:增加分支,减少漏检

通过增加一个分支,来提高小目标的检测
在这里插入图片描述

YoloV8改进策略:将FasterNet与YoloV8深度融合,打造更快更强的检测网络

YoloV8改进策略:将FasterNet与YoloV8深度融合,打造更快更强的检测网络
fastternet,这是一种新的神经网络家族,它在各种设备上获得了比其他网络更高的运行速度,而不影响各种视觉任务的准确性。

在这里插入图片描述

Yolov8网络详解与实战(附数据集)

Yolov8网络详解与实战(附数据集)
在这里插入图片描述

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

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

相关文章

实验七 组合器模式的应用

实验目的 1)掌握组合器模式(composite)的特点 2 分析具体问题,使用组合器模式进行设计。 实验内容和要求 在例3.3的设计中,添加一个空军大队( Wing)类,该类与Squadron、Group类是平行的,因此应该继承了AirU…

【聚沙成塔系列】通信笔记知识汇总一

什么是NCO 载波NCO通过控制频率w控制。每次要累加的数字M就是频率控制字。调节M进而控制载波频率。 什么是带宽 3db带宽 常说的3dB带宽,是指在信号功率谱对称的情况下,功率谱密度比信号频谱中心处的峰值下降3dB的两个频率之间的频率范围 工作带宽 工作…

十年老程序员分享13个最常用的Python深度学习库和介绍,赶紧收藏码住!

文章目录 前言CaffeTheanoTensorFlowLasagneKerasmxnetsklearn-theanonolearnDIGITSBlocksdeepypylearn2Deeplearning4j关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源码合集①Python工具包②Python实战案…

什么是本地存储的有效期?

前言 本地存储是一种在Web开发中常用的客户端存储数据的方式,它可以让网页应用程序在用户的浏览器中存储和检索数据,而无需依赖服务器来保存信息。本地存储的有效期是指数据存储在用户的设备上可以被访问和保留的时间段。在本地存储中,有两种…

7 mysql索引

1、索引的本质 索引(Index)是帮助MySQL高效获取数据的数据结构。 2、InnoDB支持常见的索引 B树索引、 全文索引、 哈希索引, 其中比较关键的是B树索引 3、HashMap不适合做数据库索引? 1.hash表只能匹配是否相等,不…

高数笔记06:无穷级数

图源:文心一言 时间比较紧张,仅导图~~🥝🥝 第1版:查资料、画导图~🧩🧩 参考资料:《高等数学 基础篇》武忠祥 🐳目录 🐳常数项级数 🐋概要 &…

ABAP Json和对象的转换

se24新建类ZCL_JSON保存 点击修改,进入下图界面,点击红框。 复制粘贴下面代码 CLASS zcl_json DEFINITIONPUBLICCREATE PUBLIC .PUBLIC SECTION. *"* public components of class ZCL_JSON *"* do not include other source files here!!!TYP…

效率至少提高2倍!最实用的Linux命令合集

📢专注于分享软件测试干货内容,欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!📢交流讨论:欢迎加入我们一起学习!📢资源分享:耗时200小时精选的「软件测试」资…

上门预约按摩家政小程序开发;

上门预约按摩家政小程序开发,都可以做 上门按摩,服务预约小程序开发 服务预约类小程序开发。 小程序开放订单预约、即时服务、在线评价用户管理、会员充值、平优惠券、、平台自营、抢单、事个人入驻、分销邀请、商户入驻 等等 按摩上门预约、回收上门预约…

CSS默认宽度

所谓的默认宽度&#xff0c;就是不设置width属性时&#xff0c;元素所呈现出来的宽度 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title></title><style>* {margin: 0;padding: 0;}.box {/…

【数据结构】——顺序表(增删查改)

目录 前言&#xff1a; 顺序表&#xff1a; 1、概念及分类 1.1顺序表分类 静态顺序表 动态顺序表 2、接口实现 2.1功能要求 2.2功能实现 &#x1f4a1;初始化顺序表 &#x1f4a1;销毁顺序表 &#x1f4a1;顺序表尾插入 &#x1f4a1;检查是否扩容 &#x1f4a1;…

科技创意赋能乡村文旅振兴

近日&#xff0c;由北京大学创意产业研究中心联合中国国际科技促进会新基建专委会共同主办的“科技创意赋能乡村振兴研讨会”在京举行&#xff0c;与会专家学者围绕“和美乡村共同富裕智慧文旅”主题进行深入探讨。北京大学创意产业研究中心副主任吕艺、国家文化和旅游公共服务…

Python点云处理(十九)点云地面点提取——CSF布料模拟算法

目录 0 简述1 算法原理2 具体步骤3 实现0 简述 对于点云地面点滤波,众多传统算法滤波效果容易受到地形特征的影响(通常在复杂场景及陡峭地形区域滤波效果较差)且常常需要用户对数据有较为丰富的先验知识来进行设置滤波器中的各种参数。为了解决这些问题,张吴明教授等人提出…

Allegro如何快速将目标旋转90度操作指导

Allegro如何快速将目标旋转90度操作指导 在用Allegro进行PCB设计的时候,时常需要目标旋转90度,我们常用的命令是Spin,如下图以旋转电阻为例 点击Edit点击SpinOp

数据结构初阶---复杂度的OJ例题

复杂度的OJ例题 一、消失的数字1.思路一2.思路二3.思路三 二、旋转数组1.思路一2.思路二3.思路三 一、消失的数字 数组nums包含从0到n的所有整数&#xff0c;但其中缺了一个。请编写代码找出那个缺失的整数。你有办法在O(N)时间内完成吗&#xff1f; 链接&#xff1a;力扣&…

用「埋点」记录自己,不妄过一生

最近有朋友问我「埋点怎么做」&#xff0c;给朋友讲了一些互联网广告的案例&#xff0c;从源头的数据采集讲到末尾的应用分析和流量分配等&#xff08;此处省略N多字&#xff09; 解释完以后&#xff0c;我想到一个问题&#xff1a;有了埋点可以做分析&#xff0c;那我们对自己…

尚硅谷大数据项目《在线教育之实时数仓》笔记006

视频地址&#xff1a;尚硅谷大数据项目《在线教育之实时数仓》_哔哩哔哩_bilibili 目录 第9章 数仓开发之DWD层 P041 P042 P043 P044 P045 P046 P047 P048 P049 P050 P051 P052 第9章 数仓开发之DWD层 P041 9.3 流量域用户跳出事务事实表 P042 DwdTrafficUserJum…

Android岗位居然要求有鸿蒙开发的需求了?HarmonyOS它来了

鸿蒙才开发几年,就已经让对手们脊背发凉了&#xff0c;要知道主流操作系统都是积累几十年的产物。 以苹果MacOS为例,其前身NextStep是85年开干的。另一家微软公司,Win95爆卖的时候,中国还没加入WTO。 大家使用过鸿蒙系统产品的,应该能直观感觉到它的流畅性,易用性,如果你有个…

leetcode刷题日记:70.Climbing Stairs(爬楼梯)

给了我们n阶楼梯让我们去爬&#xff0c;每次只能爬1阶或2阶&#xff0c;这个我们可以使用递归的方法进行解决&#xff0c;向上爬的过程与向下降的过程是一样的&#xff0c;所以我们就可以这样考虑&#xff0c;现在就是n阶楼梯每一次下降1阶或2阶有多少种方法刚好下降到0阶。 i…

IDEA取消git对项目的版本控制

前言 前几天新建项目的时候不小心选了个git仓库&#xff0c;导致这个测试项目一直被git管理着。 解决办法 1 右键项目 选择打开资源目录 2 删除.git文件 把目录下的.git文件删掉 3 删除idea中的git管理 删除完.git文件后&#xff0c;进入idea&#xff0c;右下角会有这样的提…