初试 Matlab 之去除水印
这几天很痛苦地去学习了下用 Matlab 来处理图像,其实那些算法我觉得还不算很难理解,可是 Matlab 这种反人类的语法(可能对于我来说是这样吧,毕竟熟悉了 C++ / Java 的语法一时间很难转过来)折磨了我好久。
前些天在网上看到了一张图片:
想 po 上朋友圈,可又觉得右下角的水印被人看着好像不是很好,于是就想能否利用刚学会的一丁点儿的 Matlab 知识来把水印去掉呢?Show you my low code:
首先,读取图片:
>> I = imread('D:\课程文件\图像处理\image\beizi.jpg');
然后,目测下水印在原图中的大概位置,把它提取出来:
>> t = I(490:544, 440:600, 1:3);
imshow(t) 显示出来看看,是这样子的:
然后分别把 t 的 rgb 3 个分量都提取出来:
>> t1 = t(:, :, 1); >> figure, imshow(t1); >> t2 = t(:, :, 2); >> figure, imshow(t2); >> t3 = t(:, :, 3); >> figure, imshow(t3);
分别是这样的:
因为 t2 和 t3 比较相似,而且黑白分明,直接看下两个矩阵里的内容,发现文字部分确实和黑色部分的灰度值相差很大,所以不管三七二十一,直接暴力砍掉那些白色的部分,也就是文字:
[m,n] = size(t2)for i = 1:mfor j = 1:nif t2(i,j) >= 20t2(i,j) = 6;endend end
对 t3 作同样的处理,然后两子图效果如下:
for i = 1:mfor j = 1:nif t3(i,j) >= 20t3(i,j) = 6;endend end
接下来到 t1 了,因为白色文字的灰度值很接近背景颜色,所以需要很小心地找好边界值:
for i = 1:mfor j = 1:nif t1(i,j) >= 210t1(i,j) = 200;endend end imshow(t1);
效果如下:(感觉还可以~)
然后就是把处理好的 3 个子图合并起来:
for i = 1:mfor j = 1:nt(i,j,1) = t1(i,j);t(i,j,2) = t2(i,j);t(i,j,3) = t3(i,j);end end figure, imshow(t);
合并好的图效果如下:(嘻嘻,即将成功的感觉~)
最后,把这个经过处理的原图的一角放回到原图中:
for i = 1:55for j = 1:161I(i + 489, j + 439, 1:3)=t(i, j, 1:3);end end figure, imshow(I);
最终得出的图如下:
虽然能看出淡淡的痕迹,但第一次弄这个,感觉就这样吧 o(* ̄ ▽  ̄*)o
希望高手能指教下~~
转载于:https://www.cnblogs.com/Newdawn/p/4957706.html
初试 Matlab 之去除水印相关推荐
- matlab去除图片水印_初试 Matlab 之去除水印
这几天很痛苦地去学习了下用 Matlab 来处理图像,其实那些算法我觉得还不算很难理解,可是 Matlab 这种反人类的语法(可能对于我来说是这样吧,毕竟熟悉了 C++ / Java 的语法一时间很难 ...
- matlab去除图片水印_怎么用matlab从含有水印的图像中提取出水印
展开全部 3 视频水印的嵌入和检测方案 3.1水印的预处理 采用二值图像作为待嵌入的水印数据,本文e69da5e887aa323131333532363134313032313635333133333 ...
- Atitit.去除水印的方案
Atitit.去除水印的方案 1.1. 查找水印的位置 Kegwa imgd posit zo ok le .. Auto find d zo troub ...manu easy 1.2. 还原去除 ...
- Matlab | 空间域水印技术:LSB(Least Significant Bit):计算峰值信噪比PSNR(matlab源代码)
================================================ 博主github:https://github.com/MichaelBeechan 博主CSDN:h ...
- CSDN博客图片水印|自定义水印|去除水印
参考博文1:https://blog.csdn.net/stereohomology/article/details/54561782 参考博文2:https://blog.csdn.net/u011 ...
- HitPaw Watermark Remover视频图去除水印工具V1.2.1.1
简介: HitPaw Watermark Remover视频图去除水印工具,只需单击即可从视频和图像中删除水印,可以帮助用户处理各种水印内容,并使屏幕更清洁. 该软件还可以删除视频中的日期,建筑物,人 ...
- 使用Aspose.Cell for Java操作Excel(已去除水印)
首先,在src下新建一个"license.xml", 内容如下: 1 <License> 2 <Data> 3 <Products> 4 < ...
- 图片在线去水印-一键图片去除水印工具
我们经常会看到喜欢的图片带了水印,这让很多人很无奈,不得不舍弃喜欢的图片.今天小编教大家两个方法,即便是有水印的图片也可以用软件处理掉.那么怎么去水印呢?接下来详细为大家介绍去水印的详细方法. 一.水 ...
- vue中 gojs 的使用及去除水印
描述: GoJS是一个用于构建交互式图表和图形的JavaScript和TypeScript库.GoJS允许你为你的用户建立各种各样的图表和图形,从简单的流程图和组织图到高度具体的工业图,SCADA和B ...
最新文章
- 【原创视频教程】学生信息管理系统5--学员成绩管理
- tflearn 中文汉字识别,训练后模型存为pb给TensorFlow使用——模型层次太深,或者太复杂训练时候都不会收敛...
- Python pandas
- [小明学Shader]14.热扭曲效果
- 分享25个新鲜出炉的 Photoshop 高级教程
- angularjs控制器之间的数据共享与通信
- python函数递归 斐波那契数列
- IT-游戏 学习资源思维导图(持续更新,欢迎关注点赞加评论)
- 凭什么说这门编程语言是下一代 Java?
- 新增的表单元素 结构伪类选择器
- 设置广告 php,设置ecshop广告位
- 终极算法【2】——终极算法
- word生成目录和给目录添加虚线和页码
- 笔记本电脑发射无线信号的操作步骤及命令
- hr标签和注释的总结
- 风寒感冒 风热感冒区别
- ppt提示内存或系统资源不足_电脑使用一段时间后,提示“系统资源不足”,怎么办?...
- 华为服务器gpu芯片怎么样,GPU服务器怎么样
- netconf协议开发
- 简述覆盖表(Covering Arrays)