OpenCV实现对图片ROI的随机擦除(个人笔记)

python opencv 已知图片和mask,抠出mask区域 目录 前言: 目标: 思路: 完整代码: 前言 在ICDAR2021竞赛中,需要取出图片中需要分割的样本,对样本进行仿射变换,背景替换,生成更丰富的样本。 目标 结合mask取出input中的两张卡片 input mask ... 阅读详情
import numpy as np
import cv2 as cv
import random


def mask_opration(src_image, location, mask_image):
    """
    把mask_iamge根据mask_shape添加到目标图片上
    :param src_image:
    :param location:需要添加到的位置框,(xmin, ymin, xmax, ymax)
    :param mask_image: 彩色图
    :return:
    """
    # 根据mask_shape获取roi
    left, top, right, bottom = location
    roi = src_image[top:bottom, left:right]

    grid_num = np.random.randint(3, 5)
    mask_shape = grid_mask(location, grid_num)
    _, center_mask = cv.threshold(mask_shape, 125, 255, cv.THRESH_BINARY)  # 为了确保是二值化图片
    center_mask = np.tile(np.expand_dims(center_mask, axis=-1), [1, 1, 3])  # 位操作间维度保持一致
    mask_image = cv.bitwise_and(mask_image, center_mask)

    edge_mask = cv.bitwise_not(center_mask)
    mask_inv_image = cv.bitwise_and(roi, edge_mask)
    mask = cv.bitwise_xor(mask_image, mask_inv_image)
    src_image[top:bottom, left:right] = mask
    return src_image


def grid_mask(roi, grid_num):
    xmin,
Python实战:基于OpenCV与图像修复的视频水印/字幕智能擦除 本文详细介绍了如何使用Python和OpenCV实现视频水印与字幕的智能擦除技术。通过图像修复算法和自动化处理流程,开发者可以高效去除视频中的固定水印或字幕,提升视频素材的可用性。文章涵盖环境搭建、核心算法、实战案例及性能优化,特别适合自媒体工作者和影视爱好者。 阅读详情

相关推荐

C++集成ZXing与OpenCV实现高性能二维码识别:从原理到工程实践

二维码识别作为计算机视觉中的一项基础技术,其核心原理是将图像中的黑白模块矩阵解码为结构化数据。ZXing(Zebra Crossing)是业界广泛使用的开源二维码识别库,其Java版本历史悠久且功能完善。然而,在追求极致性能、低延迟或需要深度集成的C++项目中,跨语言调用往往带来额外的性能开销和复杂性。为此,社区推出了C++原生移植版本ZXing-CPP,它完整实现了ZXing的核心算法,并提供了与现代C++项目兼容的API。其技术价值在于,开发者可以在纯C++环境中获得与Java版本相媲美的识别能力,同时

weixin_33738578的博客 469

本地化图片水印工具:隐私安全与批量处理实践

图片水印技术是数字版权保护的重要手段,通过嵌入可见或不可见标识来声明所有权。其核心原理包括图像分层渲染、ROI区域混合和LSB隐写术等技术,能在不影响画质的前提下实现版权追踪。现代水印工具更注重隐私安全与处理效率,采用本地化运算避免数据外泄,结合GPU加速提升批处理速度。在电商内容管理、摄影作品分发等场景中,支持动态模板与正则命名的高级功能可显著提升工作流效率。本文介绍的离线水印方案特别适合处理敏感数据,内置的AES加密和内存隔离机制为医疗、法律行业提供额外安全保障。

weixin_42706667的博客 269

基于OpenCV和MFC的图片拖动与缩放实现详解

图像处理与桌面应用开发中,如何高效实现图像交互式显示是常见技术难点。OpenCV负责图像数据的读取与预处理,MFC提供界面框架,而Picture Control作为显示容器,需解决BGR格式转换、鼠标消息映射及高效绘制策略等问题。通过封装cv::Mat与CImage的转换函数,结合鼠标事件(WM_LBUTTONDOWN、WM_MOUSEWHEEL等)处理,可实现流畅的图片拖动和滚轮缩放,并支持缩放中心跟随鼠标的友好交互。该技术广泛应用于图像标注、缺陷检测调试和实时预览等工程场景,具有较高的实用价值。本文基于

weixin_29161785的博客 129

答题卡识别系统毕设实战:Python+OpenCV+PyQt完整实现与避坑指南

图像处理是计算机视觉的基础领域,而答题卡识别作为经典应用,广泛用于考试阅卷、表单自动识别等场景。基于Python与OpenCV,开发者可以通过灰度化、边缘检测、透视校正等步骤,实现图像几何变换与目标定位;借助Otsu阈值分割与像素比例统计,完成涂点判定;再结合VGG风格的轻量CNN网络,实现学号数字识别。PyQt5则提供了桌面端的交互界面,将算法流程封装为可操作的软件。本文从环境搭建、源码复现到模型训练,系统拆解答题卡识别项目的每个模块,并总结了中文路径兼容、界面卡死等高频问题与解决方案,帮助毕设学生及工程

weixin_34187862的博客 402

OpenCV答题卡识别:从图像预处理到填涂判分的完整流程

答题卡识别是计算机视觉在教育自动化中的典型应用,其核心在于将非标准拍摄或扫描图像转化为结构化数据。原理上依赖图像预处理(灰度化、自适应阈值)、几何校正(轮廓检测与透视变换)、区域分割(投影法)及模式判别(多维填涂判据)。技术价值体现在无需深度学习、低算力可部署、全流程可调试,特别适合本科毕设与边缘场景落地。应用场景覆盖考试阅卷、在线测评、教务自动化等,本文聚焦OpenCV经典图像处理链路,详解灰度化、自适应阈值、轮廓检测、透视变换四大关键步骤,提供可复现、可答辩的工程化实现。

weixin_33968104的博客 433

基于计算机视觉的答题卡识别判分系统:Python实现与避坑指南

计算机视觉技术通过图像预处理、特征提取与模式识别实现自动化分析。在答题卡识别场景中,透视校正与自适应二值化解决了手机拍摄的畸变和光照不均问题,填涂判定阈值与ROI坐标标定则直接影响识别精度。该技术将人工从逐题阅卷中解放,仅需复核异常标记,大幅提升批量阅卷效率。从教育考试到问卷统计,基于Python的答题卡识别判分系统正成为计算机视觉入门与工程实践的典型应用。

weixin_26861329的博客 212

OpenCV车道线检测管线详解:色域阈值、Canny与霍夫变换

计算机视觉中的车道线检测是自动驾驶与辅助驾驶的基础任务之一。传统图像处理方法无需标注数据,通过HLS色域阈值提取车道线的颜色特征,再借助Canny边缘检测定位路面与标线的灰度跳变,最后由霍夫变换将离散边缘点投票拟合为直线。该管线计算开销极低、可解释性强、便于分步调试,适合在结构化道路的实时场景中作为轻量级基线方案;面对弯道与光照变化时,还能通过逆透视变换和多项式拟合进一步扩展能力。本文以OpenCV实现为例,系统拆解颜色掩码、边缘提取、线段分组与滑动平滑的完整流程,帮助开发者快速搭建一套可运行的车道线检测原

weixin_29051149的博客 295

图解基站机房:AAU、RRU与BBU之间的线缆连接与规格选择

本文以图解方式详解了5G基站机房中AAU、RRU与BBU三大核心设备之间的线缆连接方案与规格选择。重点阐述了电力线(如2×10 mm²直流电缆)、数据光缆(如野战光缆与波分复用)及射频馈线的功能、选型标准与实战布线法则,为通信工程部署与维护提供清晰指导。

weixin_29306011的博客 497

手把手教你用STM32标准库写一个能OTA升级的Bootloader(附完整代码)

本文详细介绍了如何使用STM32标准库开发支持OTA无线升级的Bootloader系统,包括Flash分区规划、Bootloader核心实现、无线升级流程及安全校验机制。通过实战代码示例,帮助开发者快速掌握STM32固件升级技术,提升物联网设备的远程维护能力。

weixin_30181209的博客 262

ArcGIS Enterprise10.9.1的Windows安装部署

ArcGIS Enterprise10.9.1中Windows版本安装介绍。

qq_36250702的博客 2443

基于云平台的ATS系统微服务架构方案研究

在当前智慧地铁的升级转型过程中,城市轨道交通ATS系统面临着稳定性差、运维方 式繁琐和故障应急处理效率低等问题。为此,提出一种基于云平台的ATS系统微服务架构方案; 研究了ATS系统在云平台上的微服务总体架构、ATS应用的微服务划分和设计、容器部署方式 及通信交互模式,可实现系统松耦合和易扩展,达到节约计算资源、提高系统稳定性和运营效 率的目的

mi_lan1的博客 965

论文阅读:Universal and Transferable Adversarial Attacks on Aligned Language Models. LLM Attacks

因为“即开即用”的大型语言模型能够生成大量令人反感的内容,近期的工作集中在对这些模型进行对齐,以防止不受欢迎的生成。尽管在规避这些措施方面取得了一些成功——即所谓的针对大型语言模型(LLMs)的“越狱”——这些攻击需要大量的人类智慧,并且在实践中很脆弱。自动对抗性提示生成的尝试也取得了有限的成功。在本文中,我们提出了一种简单有效的攻击方法,可以导致对齐的语言模型生成令人反感的行为。

CSPhD-winston的博客 1414

threejs中使用Reflector实现出倒影效果,并实现背景透明的效果(Reflector镜面背景透明, 倒影弱化)

在项目中遇到要实现倒影效果,threejs给我们提供了Reflector,可以轻松完成镜面效果,实现倒影。但背景不透明;并且反射出的倒影太亮了;网上没搜到解决方案, 自己修改了下源码实现了想要的效果,做个记录...

weixin_40856652的博客 5720

MATLAB - 机械臂手眼标定(眼在手内) - 估计安装在机器人上的移动相机的姿态

执行手眼校准有助于操作配备末端执行器(简称 “手”)的机械臂,该末端执行器依赖于摄像头提供的视觉数据。一旦完成了眼在手外的校准,机械臂就能准确地移动到摄像头识别的特定像素位置。这种能力是执行精确拾放任务(如分类、堆垛和分拣)的基础,即使在摄像机的确切位置和方向未知的情况下也是如此。机器人-摄像机系统有两种构型:眼在手内和眼在手外。在眼在手内构型中,摄像头直接安装在机器人手臂的末端执行器上。相反,在眼在手的构型中,摄像头固定在一个静止的物体上,机器人手臂在其视野内。

机器人控制与仿真应用 3345

大数据领域数据采集的人工智能辅助技术

在大数据时代,“数据是石油”的隐喻早已深入人心,但采集高质量数据的过程却像“在大海里捞针”——数据源分散如繁星、格式杂乱如碎片、质量参差不齐如泥沙,传统采集方法(写死的脚本、固定的ETL流程)早已力不从心。这篇文章将带你走进AI辅助数据采集的世界:我们会用“智能捕鱼船”的比喻拆解AI如何解决传统采集的痛点,深入解析“数据源自动发现”“自适应数据解析”“实时质量管控”等核心技术的原理,用代码示例还原AI采集的真实流程,最后探讨多模态采集、联邦学习等未来趋势。

小程序开发 2354

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

上一篇: OpenCV实现运动模糊(个人笔记)
下一篇: OpenCV实现数据的旋转、尺度和背景增强(个人笔记)
vector_Lu
博客等级 码龄9年 13粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值