这几天很痛苦地去学习了下用 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 之去除水印相关推荐

  1. matlab去除图片水印_初试 Matlab 之去除水印

    这几天很痛苦地去学习了下用 Matlab 来处理图像,其实那些算法我觉得还不算很难理解,可是 Matlab 这种反人类的语法(可能对于我来说是这样吧,毕竟熟悉了 C++ / Java 的语法一时间很难 ...

  2. matlab去除图片水印_怎么用matlab从含有水印的图像中提取出水印

    展开全部 3 视频水印的嵌入和检测方案 3.1水印的预处理 采用二值图像作为待嵌入的水印数据,本文e69da5e887aa323131333532363134313032313635333133333 ...

  3. Atitit.去除水印的方案

    Atitit.去除水印的方案 1.1. 查找水印的位置 Kegwa imgd posit zo ok le .. Auto find d zo troub ...manu easy 1.2. 还原去除 ...

  4. Matlab | 空间域水印技术:LSB(Least Significant Bit):计算峰值信噪比PSNR(matlab源代码)

    ================================================ 博主github:https://github.com/MichaelBeechan 博主CSDN:h ...

  5. CSDN博客图片水印|自定义水印|去除水印

    参考博文1:https://blog.csdn.net/stereohomology/article/details/54561782 参考博文2:https://blog.csdn.net/u011 ...

  6. HitPaw Watermark Remover视频图去除水印工具V1.2.1.1

    简介: HitPaw Watermark Remover视频图去除水印工具,只需单击即可从视频和图像中删除水印,可以帮助用户处理各种水印内容,并使屏幕更清洁. 该软件还可以删除视频中的日期,建筑物,人 ...

  7. 使用Aspose.Cell for Java操作Excel(已去除水印)

    首先,在src下新建一个"license.xml", 内容如下: 1 <License> 2 <Data> 3 <Products> 4 < ...

  8. 图片在线去水印-一键图片去除水印工具

    我们经常会看到喜欢的图片带了水印,这让很多人很无奈,不得不舍弃喜欢的图片.今天小编教大家两个方法,即便是有水印的图片也可以用软件处理掉.那么怎么去水印呢?接下来详细为大家介绍去水印的详细方法. 一.水 ...

  9. vue中 gojs 的使用及去除水印

    描述: GoJS是一个用于构建交互式图表和图形的JavaScript和TypeScript库.GoJS允许你为你的用户建立各种各样的图表和图形,从简单的流程图和组织图到高度具体的工业图,SCADA和B ...

最新文章

  1. 【原创视频教程】学生信息管理系统5--学员成绩管理
  2. tflearn 中文汉字识别,训练后模型存为pb给TensorFlow使用——模型层次太深,或者太复杂训练时候都不会收敛...
  3. Python pandas
  4. [小明学Shader]14.热扭曲效果
  5. 分享25个新鲜出炉的 Photoshop 高级教程
  6. angularjs控制器之间的数据共享与通信
  7. python函数递归 斐波那契数列
  8. IT-游戏 学习资源思维导图(持续更新,欢迎关注点赞加评论)
  9. 凭什么说这门编程语言是下一代 Java?
  10. 新增的表单元素 结构伪类选择器
  11. 设置广告 php,设置ecshop广告位
  12. 终极算法【2】——终极算法
  13. word生成目录和给目录添加虚线和页码
  14. 笔记本电脑发射无线信号的操作步骤及命令
  15. hr标签和注释的总结
  16. 风寒感冒 风热感冒区别
  17. ppt提示内存或系统资源不足_电脑使用一段时间后,提示“系统资源不足”,怎么办?...
  18. 华为服务器gpu芯片怎么样,GPU服务器怎么样
  19. netconf协议开发
  20. 简述覆盖表(Covering Arrays)

热门文章

  1. 什么是通用离散传感器
  2. 第五章:Tensorflow 2.0 利用十三层卷积神经网络实现cifar 100训练(理论+实战)
  3. fixedColumns.js固定列,行对不齐
  4. 关于FIR滤波器的系数
  5. 什么是基于模型设计(MBD)?
  6. 建立App的Lite版本
  7. Quartus||在Ubuntu内安装Quartus Prime Lite版20.1
  8. 微信小程序自定义键盘
  9. laravel版本对应的php版本要求
  10. 纪念经典的 D7(Delphi 7编码转换程序)