题目如下:
1、业务背景
学生考试会用蓝色笔答卷,老师用红色笔批改,考卷是黑色字印刷。在考完和批改发下来后,学生会对做错的题目拍照打印。把打印的题目规整为错题本。用户期望打印的只有题目,不希望有自己写错的答题和老师的批注。
2、业务需求
期望可以实现拍题目照片,再由用户选择去除蓝色笔迹,或去除红色笔迹,或同时去除红、蓝笔迹再进行打印。
3、软件需求
期望实现传入照片图片,输出处理后的图片;
处理要求:
1)用户可以选择去除蓝色,或红色,或同时去除红、蓝笔迹;
2)对图片中黑色字和未去除颜色的笔迹做加强处理;
3)对图片中非黑色字和未去除颜色的笔迹部份处理成白色。
最终期望输出的图片,保留的黑色字和保留笔迹越清晰越好。


解:利用形态学图像处理知识,首先选出红色区域,如下:

[FileName, FilePath]=uigetfile('*.jpg;*.png;*.tif;*.img;*.gif;','请选择图像数据');
str=[FilePath FileName];
Image=imread(str);% 以对话框的形式选择打开一幅图像%设置参数
Gray=rgb2gray(Image);
R=Image(:,:,1); G=Image(:,:,2); B=Image(:,:,3);
diff_R=0; diff_G=0; diff_B=0;  % 设置红、绿、蓝三种颜色提取阈值(越大越严格)%颜色提取
Image_R=Image;
RP_R=Image(:,:,1); RP_G=Image(:,:,2); RP_B=Image(:,:,3);
XYR=~((R-G)>diff_R&(R-B)>diff_R);  % 提取红色条件是R分量与G、B分量差值大于设定
Mask=Gray(XYR);  % 灰照片掩膜
RP_R(XYR)=Mask; RP_G(XYR)=Mask; RP_B(XYR)=Mask;  % 使得非红色区域变为灰色
Image_R(:,:,1)=RP_R; Image_R(:,:,2)=RP_G; Image_R(:,:,3)=RP_B;figure;
subplot(121);imshow(Image);title("待处理图片");
subplot(122);imshow(cat(1,R));title("处理后的图片");

之后会陆续增加功能优化……

PS:或者读者有什么需求可以提出来,我来优化~~

算法应用二:【去除笔迹】+【目标提取】用户选择去除错题本上的红色笔迹,只保留题目并打印出来相关推荐

  1. 本科时写的一篇《关于ISAR图像的自动目标提取技术》

    ISAR图像中目标选取算法的研究 院 (系):  电子与信息工程学院  专    业:信息对抗技术 学 号:           指导教师:  2015年7月       毕业设计(论文) 题     ...

  2. 基于监控视频的前景目标提取-数学建模

    摘  要 本文研究了本次大赛D题的5个问题.包括静态和动态背景下前景目标检测与提取.存在摄像机抖动情况下前景目标检测与提取.应用以上建立的三种模型对各种视频文件进行显著帧号提取以及多摄像机协同的目标检 ...

  3. 《OpenCv视觉之眼》Python图像处理十二 :Opencv图像轮廓提取之基于一阶导数的Roberts算法、Prewitt算法及Sobel算法

    本专栏主要介绍如果通过OpenCv-Python进行图像处理,通过原理理解OpenCv-Python的函数处理原型,在具体情况中,针对不同的图像进行不同等级的.不同方法的处理,以达到对图像进行去噪.锐 ...

  4. 基于用户投票的排名算法(二):Reddit

    基于用户投票的排名算法(二):Reddit 作者: 阮一峰 日期: 2012年3月 7日 (不好意思,这个系列中断了近两周,我会尽快在这几天,把后面几篇写完.) 上一次,我介绍了Hacker News ...

  5. 近期论文内容:ISAR图像目标提取算法-【2】重心法

    上一节中最大值法存在目标信息丢失的问题,这里将采用一种更好的算法去定位选框的中心点,即采用图像灰度重心的方法. 灰度重心的计算可以从纵向横向两个方向分别进行. 以下是代码: clc; clear al ...

  6. 系统学习NLP(二十一)--关键词提取算法总结

    先说一下自动文摘的方法.自动文摘(Automatic Summarization)的方法主要有两种:Extraction和Abstraction.其中Extraction是抽取式自动文摘方法,通过提取 ...

  7. python图像分割算法_Opencv(二)—图像分割之分水岭算法!

    做图像处理时,我们可能会遇到一个问题:我们只需要图片的一部分区域,如何把图片中的某部分区域提取出来 或者 图像想要的区域用某种颜色(与其它区域颜色不一致)标记起来 ,以上描述的问题在像处理领域称为 图 ...

  8. 推荐系统lambda架构学习笔记之推荐系统算法(二)

    推荐系统算法 随着机器学习技术的逐渐发展与完善,推荐系统也逐渐运用机器学习的思想来进行推荐.将机器学习应用到推荐系统中的方案真是不胜枚举.以下对Model-Based CF算法做一个大致的分类: 基于 ...

  9. 如何去除网页噪声提取数据(02) —— 汽车之家(字体反爬)

    如何去除网页噪声提取数据(02) -- 汽车之家(字体反爬) 1. 需求介绍 继去哪儿网之后,我又盯上了汽车之家这个网站,这个网站的反爬策略挺有意思的,采用了时下最流行的字体反爬技术,让我心神荡漾,对 ...

最新文章

  1. Android 7.0解决抓取不到https请求的问题
  2. linux 编辑脚本 vi,linux中vi编辑器的练习心得
  3. 数据库中间件mycat
  4. j2ee三大框架怎么选_【漯河衡器】怎么选地磅?新手选地磅的三大标准
  5. 基于visual Studio2013解决C语言竞赛题之1027 YN
  6. 文本编辑软件_IDE与文本编辑器的比较
  7. 路由器的地址转换功能
  8. 【好刊】中科院2区,CCF推荐,SCIEI双检
  9. 07.JavaScript弹窗——alert、prompt、confirm
  10. AcrelEMS-IDC综合能效管理系统在某数据中心的应用
  11. 重装电脑xp系统找不到服务器,技术员为你解答XP系统提示“没有启动服务器服务”的修复方案...
  12. 洛谷:P4568 [JLOI2011]飞行路线(分层图 / 二分错解(x))
  13. android 水晶报表,水晶报表分组,统计,求和,sum()函数使用
  14. 全网首发Modown主题8.31开心版
  15. simpleCaptcha语音验证码实现及其扩展
  16. 老生常谈:如何快速提升项目管理和团队效率?
  17. 艰难坎坷终到此,从此星光不问赶路人
  18. 为什么一些linux基础静态库(如libc.a)里面包含那么多目标文件.o呢? 为什么不将这些.o文件进行提前糅合呢?
  19. Scratch软件编程等级考试三级——20191221
  20. python解决租房问题_高德API+Python帮你解决租房问题

热门文章

  1. Flex4学习笔记(二)--语法相关
  2. Windows2003 + SQL2000群集安装手册(DELL MD3000) 之MD3000 RAID配置方法(2)
  3. Oracle结构组成
  4. python实训day5
  5. 找出N个无序数中第K大的数
  6. Jenkins中Publish Over SSH插件使用
  7. Java Iterable类
  8. bzoj千题计划240:bzoj3900: 交换茸角
  9. 学习进度条__软件工程概论第一周学习计划
  10. JY01-KX-01