数字图像处理课程设计报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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('素描图直方图');

相关文档
最新文档