数字图像处理课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字图像处理
课程设计报告
姓名:
学号:
班级:
设计题目:图像处理
教师:赵哲老师
提交日期: 12月29日
一、设计内容:
主题:《图像处理》
详细说明:对图像进行处理(简单滤镜,模糊,锐化,高斯模糊等),对图像进行处理(上下对称,左右对称,单双色显示,亮暗程度调整等),对图像进行特效处理(反色,实色混合,色彩平衡,浮雕效果,素描效果,雾化效果等),
二、涉及知识内容:
1、二值化
2、各种滤波
3、算法等
三、设计流程图
四、实例分析及截图效果:
运行效果截图:
第一步:读取原图,并显示
close all;clear;clc;
% 清楚工作窗口clc 清空变量clear 关闭打开的窗口close all
I=imread('');
% 插入图片赋给I
imshow(I);% 输出图I
I1=rgb2gray(I);%图片变灰度图
figure%新建窗口
subplot(321);% 3行2列第一幅图
imhist(I1);%输出图片
title('原图直方图');%图片名称
一,图像处理模糊
H=fspecial('motion',40);
%% 滤波算子模糊程度40 motion运动
q=imfilter(I,H,'replicate');%imfilter实现线性空间滤波函数,I图经过H滤波处理,replicate反复复制
q1=rgb2gray(q);
imhist(q1);
title('模糊图直方图');
二,图像处理锐化
H=fspecial('unsharp');%锐化滤波算子,unsharp不清晰的
qq=imfilter(I,H,'replicate');
qq1=rgb2gray(qq);
imhist(qq1);
title('锐化图直方图');
三,图像处理浮雕(来源网络)
%浮雕图
l=imread('');
f0=rgb2gray(l);%变灰度图
f1=imnoise(f0,'speckle',;
%高斯噪声加入密度为的高斯乘性噪声 imnoise噪声污染图像函数 speckle斑点
f1=im2double(f1);%把图像数据类型转换为双精度浮点类型
h3=1/9.*[1 1 1;1 1 1;1 1 1];
%采用h3对图像f2进行卷积滤波
f4=conv2(f1,h3,'same');
%进行sobel滤波
h2=fspecial('sobel');
g3=filter2(h2,f1,'same');%卷积和多项式相乘 same相同的
k=mat2gray(g3);% 实现图像矩阵的归一化操作
四,图像处理素描(来源网络)
f=imread('');
[VG,A,PPG] = colorgrad(f);
ppg = im2uint8(PPG);
ppgf = 255 - ppg;
[M,N] = size(ppgf);T=200;
ppgf1 = zeros(M,N);
for ii = 1:M
for jj = 1:N
if ppgf(ii,jj) ppgf1(ii,jj)=0; else ppgf1(ii,jj)=235/(255-T)*(ppgf(ii,jj)-T); end end end ppgf1 = uint8(ppgf1); H=fspecial('unsharp'); Motionblur=imfilter(ppgf1,H,'replicate'); figure;imshow(ppgf1); 调用 function [VG, A, PPG] = colorgrad(f, T) if (ndims(f)~=3) || (size(f,3)~=3) error('Input image must be RGB'); end sh = fspecial('sobel'); sv = sh'; Rx = imfilter(double(f(:,:,1)), sh, 'replicate'); Ry = imfilter(double(f(:,:,1)), sv, 'replicate'); Gx = imfilter(double(f(:,:,2)), sh, 'replicate'); Gy = imfilter(double(f(:,:,2)), sv, 'replicate'); Bx = imfilter(double(f(:,:,3)), sh, 'replicate'); By = imfilter(double(f(:,:,3)), sv, 'replicate'); gxx = Rx.^2 + Gx.^2 + Bx.^2; gyy = Ry.^2 + Gy.^2 + By.^2; gxy = Rx.*Ry + Gx.*Gy + Bx.*By; A = *(atan(2*gxy./(gxx-gyy+eps))); G1 = *((gxx+gyy) + (gxx-gyy).*cos(2*A) + 2*gxy.*sin(2*A)); A = A + pi/2; G2 = *((gxx+gyy) + (gxx-gyy).*cos(2*A) + 2*gxy.*sin(2*A)); G1 = G1.^; G2 = G2.^; VG = mat2gray(max(G1, G2)); RG = sqrt(Rx.^2 + Ry.^2); GG = sqrt(Gx.^2 + Gy.^2); BG = sqrt(Bx.^2 + By.^2); PPG = mat2gray(RG + GG + BG); if nargin ==2 VG = (VG>T).*VG; PPG = (PPG>T).*PPG; end f1=rgb2gray(f); imhist(f1); title('素描图直方图');