MATLAB批量为png透明(抠图)图片替换添加背景
MATLAB批量为png透明(抠图)图片替换添加背景
说明
最近有个小需求, 需要抠图后将抠图的背景替换为指定图片, 如果一张一张做, 图片多了实在是不好用.
前提
- 准备好背景图片, 一张
- 准备好目标图片, 很多张
- 可以利用powertoys将目标图片统一为与背景图片相同尺寸, 采用填充的办法
- 然后将修改好大小的图片放在自己的一个文件夹里, 我这里的目标图片(抠好的)是png格式含有透明信息.
- 运行MATLAB脚本
脚本代码
Path = '.\dealwith\'; % 设置数据存放的文件夹路径, 注意替换为自己的路径, 也就是扣好后调整了大小的图片
File = dir(fullfile(Path,'*.png')); % 获取文件夹下所有符合后缀名为.png文件的完整信息
FileNames = {File.name}'; % 得到符合后缀名为.png的所有文件的文件名,转换为n行1列%% 文件个数
[file_num,~] = size(FileNames);%% 获取背景图片数据, 也可以是别的图像格式
A1 = imread('自制底板.jpg','jpg');%%开始循环, 设置并行数量, 像素比较大的时候可以节省时间
core = 6;
p = parpool(core); % 这里适合使用并行运算, core是你的计算机的物理核心数, 我的是6核心12线程, 因此设置为6% 根据文件数file_num做循环
for num=1:file_num% 读取第num个目标图片[A2, map, alpha] = imread(strcat(Path ,FileNames{num})); %这里做了简单的路径字符串拼接% figure(2)% f = imshow(A2);% set(f, 'AlphaData', alpha);% 用背景图片数据初始化图片A3A3 = A1;[m,n] = size(alpha);parfor i= 1:mfor j = 1:nk = double(alpha(i,j))/double(255); %将透明通道归一化A3(i,j,:) = k*A2(i,j,:) + (1-k)*A1(i,j,:); % 根据归一化的透明度按比例将背景与目标进行混合, 保留原透明图片的边缘过度endend
imwrite(A3,strcat('.\ok\',FileNames{num}));%这里的路径建议与前面的区分, 避免直接覆盖
sprintf('%2.2f%%', num/file_num*100) % 简单显示处理完成当前任务的百分比, 也就是:(当前图片数/全部图片数)
end
delete(p)%删除并行池
MATLAB批量为png透明(抠图)图片替换添加背景相关推荐
- MATLAB批量按要求重命名图片/文件
有时候想要按我们要求重命名一些图片,但是又太多,人工太麻烦,可以用matlab批量重命名: clear path ='C:\Users\26594\Desktop\train_images\'; %F ...
- matlab导出图片背景_matlab美化图片之添加背景颜色
background.png The image is generated by myself in matlab. 只是在产生的图案中给想要标注的地方添加背景颜色,同时要求背景颜色在线图的下面,代码 ...
- matlab 加入背景,matlab美化图片之添加背景颜色
background.png The image is generated by myself in matlab. 只是在产生的图案中给想要标注的地方添加背景颜色,同时要求背景颜色在线图的下面,代码 ...
- C1—— cesium 离线开发去除在线图片自己添加背景图
第一步: vsCode全局搜索createDefaultImageryProviderViewModels将providerViewModels里push的全部注释掉(主要是Cesium.js的). ...
- 使用ImageMagick将eps批量导出为透明png图片
一.前言 后文的解释比较啰嗦,这里先上总结论:下载magick软件,在命令行使用下述两行代码: mogrify -density 120 -format png *.eps mogrify -tran ...
- matlab出图底色透明
matlab出图底色透明 使用图片导出功能,保存为png格式,底色即为透明
- 如何给PDF文件所有页面添加背景图片
在很多的时候,大家都会使用到PDF文件,有时编辑好的PDF文档觉得比较单调,需要添加一些背景图片,应该如何操作呢?是否有批量操作能直接给所有页面都添加呢?一起看看下面的文章,就能找到你要的方法啦. 很 ...
- Python绘图添加背景图片
Python绘图添加背景图片 为什么要添加背景图片? 添加背景图片时遇到的问题 1.背景图片不清晰 原始背景图片 绘图后背景图片 添加背景图片Python代码 2.线条在离散点上面 看官,走过路过,不 ...
- MATLAB旋转后生成透明背景图片
1.读入图片 2.旋转图片 3.改变背景颜色 4.抠图 I = imread('0.png');%读取图片 for i=1:1:90I_rotating = imrotate(I,i*-1,'bili ...
最新文章
- python中匿名函数的作用_Python 中的匿名函数,你会用吗
- Python + Selenium 练习篇 - 获取页面所有邮箱
- 在CSS3中,可以利用transform功能来实现文字或图像的旋转、缩放、倾斜、移动这四种类型的变形处理...
- 【封装那些事】 缺失封装
- 医院的“数据中心”,究竟应该怎么建?
- 强/若类型语言 动/静态语言
- 最长不下降子序列问题
- xp搭建 php环境,windows xp 下 LAMP环境搭建
- ssh-keygen实现免密码登陆
- MySQL高级知识(七)——索引面试题分析
- IOS开发基础知识--碎片14
- 信息论和贝叶斯(或许会继续补充)
- 关于样本量的快速证明
- [置顶] ibatis框架----控制台输出SQL语句
- 怎么样用云服务器进行深度学习
- RT_Thread自问自答
- 企查查接口full的实现`
- 怀旧服背包显示本服务器金,WOW怀旧服1.13.5说明:赠送4个背包格 开放仇恨数值API...
- 【直流无刷电机与永磁同步电机有什么区别?】
- 利用Python爬虫,对自己的博客进行数据分析
热门文章
- jQuery之过关小游戏
- IoU、GIoU、DIoU、CIoU
- php怎么求阶乘_编写PHP递归函数求10的阶乘。
- 丽博的超预期广州建博会:年轻多元、智能科技、直播破界
- SSM+Shiro的DEMO
- 小程序性能优化之页面预加载方案——让你的小程序运行如飞 集成篇
- python基于PHP+mysql母婴用品销售购物平台
- linux ca-certificates维护openssl证书
- ue4cmd怎么调用_ue4控制台怎么使用,常用命令是那些?
- Game Programming with DirectX -- 02[并非3D的3D]