学习目标:学习图像处理关键技术知识点
%% 获取RGB图像中具体的3个像素点的像素值
clear all;
RGB=imread('peppers.png');
r=[12 23 36];
c=[35 40 60];
p=impixel(RGB,r,c)
%% 获取任意一点的像素值 非常方便
clear all;
close all;
imshow('peppers.png');
h=impixelinfo;
set(h,'position',[10 10 30 30]); %显示框在哪
%% 绘制灰度图像的等高线
clear all;
close all;
RGB=imread('peppers.png');
I=rgb2gray(RGB);
figure;
imcontour(I);
set(gcf,'position',[100,100,200,300]);
%% 对图像进行中值滤波
clear all;
close all;
I=imread('trees.tif');
I=imnoise(I,'salt & pepper',0.03);
J=medfilt2(I,[3 3]); %优点:在去除噪声时还可以有效的保护图像边缘 3行3列的中值法
figure;
subplot(121);
imshow(I);
subplot(122);
imshow(uint8(J),[])
set(gcf,'position',[100,100,600,600]);
%% 对图像进行自适应滤波,根据图像局部均值和方差进行自动调整,还可估计噪声的类型
clear all;
close all;
I=imread('trees.tif');
I=imnoise(I,'Gaussian',0,0.01);
J=wiener2(I,[5 5]); %自适应滤波 五行五列的模板
figure;
subplot(121);
imshow(I);
subplot(122);
imshow(uint8(J),[]);
set(gcf,'position',[100,100,400,200]);
%% 图像边缘检测 不同的算子效果不一样
clear all; close all;
I=imread('trees.tif');
J1=edge(I,'Sobel');
J2=edge(I,'prewitt');
J3=edge(I,'Roberts');
figure;
subplot(221),imshow(I);
subplot(222),imshow(J1);title('Sobel');
subplot(223),imshow(J2);title('Prewitt');
subplot(224),imshow(J3);title('Roberts');