iOS 高级去水印,涂鸦去水印
目前在研究一下图像的处理,看了一下相关的软件,比如:《去水印大师》,究竟去水印是怎么处理的呢?看图分析。

一共是三个功能:快速去水印、高级去水印、涂鸦去水印
快速去水印:暂时没找到好的处理方法,可以使用高斯模糊的方式去处理,效果还不错。
高级去水印:这个要使用opencv这个C++的库
涂鸦去水印:就单纯的涂鸦处理
高级去水印
可参考github:
https://github.com/ahgdwang/WaterMarkDelete
https://github.com/CodingClearLoveLove/Watermarks2
涂鸦去水印
可参考github:
https://github.com/siyunyou/CRJDrawImageView
总结
1、涂鸦去水印和高级去水印,可以混合使用。由于涂鸦去水印,每画一笔,都是在CAShapeLayer图层上操作,而高级去水印是基于图片处理的,因而,需要将涂鸦去水印每一笔画完去保存成一张图片。
2、处理图片的UIImageView,需要根据图片的大小比例去创建,这样,会出现图片比例是无限循环小数的时候,每次保存图片都会让图片失真并且缩小。暂时没有好的处理方式。
OpenCV的库,研究起来,还是很吃力的,可以看看以下的文章
1、https://www.jianshu.com/p/eed90371a3a6
2、http://blog.devtang.com/2013/10/19/the-tech-detail-of-ape-client-2/
3、https://www.jianshu.com/p/476ba34fca96
4、https://www.jianshu.com/p/96be2417cc98
iOS 高级去水印,涂鸦去水印的更多相关文章
- 北京联想招聘-IOS高级 加入qq 群:220486180 或者直接在此 留言咨询
ios 高级开发 Job ID #: 47980 Position Title: 高级iOS development engineer Location: CHN-Beijing Functional ...
- (转发)IOS高级开发~Runtime(四)
用C代替OC: #import <objc/runtime.h> #import <objc/message.h> #import <stdio.h> extern ...
- (转发)IOS高级开发~Runtime(三)
11.系统类的方法实现部分替换 - (void) methodExchange { Method m1 = class_getInstanceMethod([NSStringclass],@selec ...
- (转发)IOS高级开发~Runtime(二)
一些公用类: @interface ClassCustomClass :NSObject{ NSString *varTest1; NSString *varTest2; NSString *varT ...
- (转发)IOS高级开发~Runtime(一)
IOS高级开发-Runtime(一) IOS高级开发-Runtime(二) IOS高级开发-Runtime(三) IOS高级开发-Runtime(四) 一些公用类: @interface Custom ...
- IOS高级编程之一:多点触摸与手势验证
前段时间学习了IOS基础的一些控件的使用作为基础,现在开始学习一些高级编程的东西,手势处理器.文件I/O.定位.网络通信.多线程这些,分享一些学习的重点,还是很实用的. 今天就先介绍个简单点得,手势处 ...
- iOS 高级框架的介绍
Core Data.Core Graphics.Core Animation 和 OpenGL ES 框架,是对于应用程序开发很重要的高级技术,因此需要花时间来学习和掌握. Core Data 框架管 ...
- 【转】iOS高级向的十道面试问题
原文:http://onevcat.com/2013/04/ios-interview/ 不管对于招聘和应聘来说,面试都是很重要的一个环节,特别对于开发者来说,面试中的技术问题环节不仅是企业对应聘者技 ...
- 新浪微博资深大牛全方位剖析 iOS 高级面试
第1章 课程简介本章对这门课程所讲述内容进行概要介绍,其中包括课程目标.适合人群,课程特色.课程收获.课程安排等.整个课程学习完结后,有机会获得电话模拟面试及内推. 1-1 课前必读(不看会错过一个亿 ...
随机推荐
- + CategoryInfo : NotSpecified: (:) [], PSSecurityException + FullyQualifiedErrorId : RuntimeException
File C:\Users\danv\Documents\WindowsPowerShell\profile.ps1 cannot be loaded because the execution of ...
- Python 中文(大写)数字转阿拉伯数字(转)
# constants for chinese_to_arabic CN_NUM = { '〇' : 0, '一' : 1, '二' : 2, '三' : 3, '四' : 4, '五' : 5, ' ...
- Selenium断言的使用,等待
自动化测试常用断言的使用方法(python) 自动化测试中寻找元素并进行操作,如果在元素好找的情况下,相信大家都可以较熟练地编写用例脚本了,但光进行操作可能还不够,有时候也需要对预期结果进行判断. 这 ...
- Python-Django学习
1,安装Django与python版本的对应1.8 2.7,3.2--3.51.9,1.10 2.7,3.4,3.51.11 2.7,3.4,3.5,3.62.0 2.1 第一种安装:pip inst ...
- java单链表反转(花了半个多小时的作品)
欢迎光临............... 首先我们要搞清楚链表是啥玩意儿?先看看定义: 讲链表之前我们先说说Java内存的分配情况:我们new对象的时候,会在java堆中为对象分配内存,当我们调用方法的 ...
- react_app 项目开发_遇到的坑
1. favicon.ico <link rel="shortcut icon" type="image/x-icon" href="./fav ...
- 查看webdriver API
pydoc是Python自带的模块,主要用于从python模块中自动生成文档 生成web页面文档: cmd->python -m pydoc -p 8888 -p:在本机上启动服务 8888:端 ...
- 白盒测试实践-day01
一.任务进展情况 了解本次测试的主要任务,进行小组分工. 二.存在的问题 由于最近比较忙,任务来不及做. 三.解决方法 坚持一下.
- ASP.NET JS调用WebService——简单例子
一.创建好WebService 二.编辑页面与js 三. 运行页面并点击按钮,结果如下 简单调用吧!
- Hibernate-day04
HIbernate中的HQL查询 Hibernate中的查询方式:1,使用HQL:使用hibernate提供的面向对象的查询语句;2,使用SQL:在hibernate中允许使用原生的SQL直接查询;3 ...