第一章上机作业。
使用函数读取图像lena512_存取到矩阵中。
clear;
a=imread('lena512_')
b=imread('lena512_')
c=rgb2gray(b);
figure(1);subplot(1,2,1);imshow(a);title('读取灰度图像');subplot(1,2,2);imshow(b);title('读取彩色图像');
figure(2);subplot(1,2,1);imshow(b);title('原彩色图像');subplot(1,2,2);imshow(c);title('把彩色图像转换为灰度图像');
for i=1:256
for j=1:256
d(i,j)=a(i,j);
endend
figure(3);subplot(1,2,1);imshow(a);title('显示原图像');subplot(1,2,2);imshow(d);title('显示图像的局域部分');
第二章计算机作业。
1) 图像的采样。
下采样。a=imread(''
m,n]=size(a);
b=zeros(m/2,n);
for i=1:m/2
b(i,1:end)=a(2*i,1:end);
endc=zeros(m/2,n/2);
for j=1:n/2
c(1:end,j)= uint8(b(1:end,2*j));
endd = uint8(c);
imshow(d);
下采样。a=imread(''
m,n]=size(a);
b=zeros(m/2,n);
for i=1:m/2
b(i,1:end)=a(2*i,1:end);
endc=zeros(m/2,n/2);
for j=1:n/2
c(1:end,j)= uint8(b(1:end,2*j));
endd = uint8(c);
subplot(1,2,1);
imshow(d);
上采样。m,n]=size(d);
f=zeros(2*m,n);
for i=1:2*m-1
f(i,1:end)=d(floor(i/2)+1,1:end);
endg=zeros(2*m,2*n);
for j=1:2*n-1
g(1:end,j)= uint8(f(1:end,floor(j/2)+1));
ende = uint8(g);
subplot(1,2,2);
imshow(e);
> b=imresize(a,[row/2,column/2]);
> imshow(b);
> a=imread(''
> [row,column]=size(a);
> b=imresize(a,[row/2,column/2]);
> imshow(b);
> g=im2bw(a,0.4);
> imshow(g);
> g=im2bw(a,0.48);
> imshow(g);
> g=im2bw(a,0.5);
> imshow(g);
> g=im2bw(a,0.55);
> imshow(g);
对比可知阈值设置在0.48左右比较合适。
> a=imread(''
> noise=uint8(randn(size(a)))
> b=a+noise;
> imshow(b);
第三章上机作业。
1) 图像的直方图。
i=imread(''
m1=zeros(1,256);
m,n]=size(i);
for i=1:256
for j=1:256
m1(i(i,j))=m1(i(i,j))+1;
endend
x=1:256;
y=m1;subplot(1,2,1);
imshow(i);
title('原图像');
subplot(1,2,2);
bar(x,y,'g');
title('直方图');
调用imhist的效果更好一些。
2) 图像的直方图均衡。
i=imread(''
m1=zeros(1,256);
m,n]=size(i);
for i=1:256
for j=1:256
m1(i(i,j))=m1(i(i,j))+1;
endend
m2=zeros(1,256);
for i=1:256
m2(i)=m1(i)./m*n);
endm3=zeros(1,256);
for i=1:256
for j=1:i
m3(i)=floor(m2(j)*255+0.5)+m3(i);
endend
m4=zeros(m,n);
for i=1:m
for j=1:n
m4(i,j)=m3(i(i,j)+1);
endend
i=uint8(i);
m4=uint8(m4);
subplot(2,2,1);
imshow(i);
title('原图像');
x=1:256;
y=m1(x);
subplot(2,2,2);
bar(x,y,'r');
imhist(i);
title('原图像的直方图');
axis([0,256,0,10000]);
subplot(2,2,3);
imshow(m4);
title('直方图均衡后的图像');
y=m3(x);
subplot(2,2,4);
bar(x,y,'r');
imhist(m4);
title('直方图均衡后的直方图');
axis([0,200,0,10000]);
3) 图像降噪实验。
a=imread(''
subplot(2,2,1);
imshow(a);
title('原图像');
b=imnoise(a,'salt & pepper',.2);
subplot(2,2,2);
imshow(b);
title('加入椒盐噪声的图像');
c=medfilt2(b,[3,3]);
subplot(2,2,3);
imshow(c);
title('进行3x3中值滤波后的图像');
d=medfilt2(b,[7,7]);
subplot(2,2,4);
imshow(d);
title('进行7x7中值滤波后的图像');
自己编的中值滤波器函数。
a=imread(''
subplot(2,2,1);
imshow(a);
title('原图像');
n=rand(size(a))*255;
b=imnoise(a,'salt & pepper',.2);
c=(b==0)|(b==255);
z=c.*n+(1-c).*double(a);
d=z/255;
subplot(2,2,2);
imshow(d);
title('加入噪声后的图像');
n2=input('请输入中值滤波的模板的大小');
y4=midfilt(z,n2);
subplot(2,2,3);
imshow(y4);
title('用自己编写的函数进行中值滤波之后的结果');
滤波函数:function d=midfilt(x,n);
row,cloumn]=size(x);
x1=double(x);
x2=x1;
for i=1:row-n+1
for j=1:cloumn-n+1
c=x1(i:i+(n-1),j:j+(n-1));
e=reshape(c,1,n*n);
mm=median(e);
x2(i+(n-1)/2,j+(n-1)/2)=mm;
endend
d=uint8(x2);
输入n2=15的结果:
第四章上机作业。
a = imread('lena512_')
figure,imshow(a),title('原图像');
k=fspecial('sobel') 定义滤波算子k
y=filter2(k,a);
figure,imshow(y),title('sobel滤波');
图像模板匹配。
rgb_image=imread(''
gray_image=rgb2gray(rgb_image);
image=double(gray_image);
ed_image=image;
rgb_back=imread(''
gray_back=rgb2gray(rgb_back);
back=double(gray_back);
x1,y1]=size(image);%原图的大小。
x2,y2]=size(back);%模板图像大小(模板要小些)
for i=1:(x1-x2+1)
for j=1:(y1-y2+1)
i=image(i:(i+x2-1),j:(j+y2-1));
t=back(1:x2,1:y2);
**er_i=mean(mean(i));
计算机图像处理基础大作业答案
西南大学网络与继续教育学院课程考试答题卷。答 优点 与分辨率无关,用户可以对图形任意放大或缩小。而不会影响它的清晰度和光滑度 便于修改,通过调整其控制点位置,可轻松修改形状。缺点 重画图像困难 逼真度低,要画出自然度高的图像需要很多的技巧。5.写出色域的定义。学号 姓名 层次 专升本。类别 网教专业...
随机信号处理计算机作业
设有ar 2 模型x n 0.3x n 1 0.5x n 2 w n w n 是零均值正态白噪声,方差为4。1 用matlab模拟产生x n 的500观测点的样本函数,并绘出波形 2 用产生的500个观测点估计x n 的均值和方差 3 画出理论的功率谱 4 估计x n 的相关函数和功率谱。通过本实验...
计算机安全事件处理
翻译 陈海燕,cissp 计算机安全介绍 nist手册 第十二章 英文版pdf 注 以下内容因排版原因有所省略。计算机系统会受到众多不幸事件的影响,从数据文件损坏到病毒,到自然灾害。可以通过标准的操作规程从这样一些不幸事件中恢复。例如,频繁发生的不幸事件 如错误删除文件 通常可以被很容易地修复 如通...