题目如下:
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=Im