赞
踩
层次:
灰度级:表示像素明暗程度的整数量。
层次:表示图像实际拥有的灰度级的数量。
对比度:一幅图像中灰度反差的大小
对比度=最大亮度/最小亮度
清晰度:亮度、对比度、尺寸大小、细微层次、颜色饱和度
MATLAB:
imhist(l)
l = imread('pet.bmp');
imshow(Il);
l1 = im2double(l) %图像灰度值得双精度化
l2 = 2 * l1 %把灰度值扩大2倍
figure,imshow(l2);
l = imread('pet.bmp');
l1 = im2double(l);
figure,imhist(l1);
l2 = imadjust(l1, [0 0.3], [0 1]); %把图像灰度范围从[0,0.3]拉伸到[0, 1]
figure,imshow(l2);
figure,imhist(l2);
l = imread('spectrum.bmp');
imshow(l);
l1 = double(l); %双精度化
l2 = log(l1 + 1); %对数变换
l3 = mat2gray(l2); %把图像的灰度范围变换为[0 1]范围
figure,imshow(l3);
l = imread('pout.tif');
imhist(l, 64);
J = histeq(l); %直方图均衡化处理
[J, T] = histeq(l); %绘制变换函数
figure
plot((0:255) / 255,T);
A = imread('concordaerial.png');
Ref = imread('concordorthophoto.png');
size(A);
size(Ref);
B = imhistmatch(A,Ref);
imshow(B),title('Histogram Matched RGB Image')
clear; close all
l = imread(',,'); imshow(l);
l1 = imnoise(l, 'salt & pepper', 0.02); %加入密度d=0.02椒盐噪声
figure,imshow(l1);
l = imread('eigth.tif'); imshow(l);
l1 = imnoise(l, 'gaussian', 0, 0.02); %叠加高斯噪声
figure, imshow(l1);
l2 = filter2(fspecial('average',3),l1)/255; %3*3领域均值滤波
figure,imshow(l2);
l = imread('eight.tif');
subplot(221),imshow(l);
l1 = imnoise(l, 'guassian', 0, 0.02); %叠加高斯噪声
subplot(222),imshow(l1);
l2 = imfilter(l1, fspecial('gaussian', 3)); %3*3高斯滤波
#利用中值滤波,对椒盐噪声干扰的图像进行平滑处理。 l = imread('eight.tif'); l1 = imnoise(l, 'salt & pepper', 0.04); %叠加椒盐噪声 figure,imshow(l1); l2 = double(l1); [M,N] = size(l2); l3 = noise(size(l2)); for i =2:M -1 for j=2:N - 1 l3(i,j) = median([l2(i-1,j-1) l2(i-1,j) l2(i-1,j+1)... l2(i,j-1) l2(i,j) l2(i,j+1)... l2(i+1,j-1) l2(i+1,j) l2(i+1,j+1)]); end end for i=2:M-1 l3(i,1) = l3(i,2); l3(i,N) = l3(i,N-1); end l3(1,:) = l3(2,:); l3(M,:) = l3(M-1,:); figure,imshow(uint8(l3));
l = imread('eight.tif'); imshow(l);
l1 = imnoise(l, 'gaussian', 0, 0.2)
figure,imshow(l1);
l2 = wiener(l1,[3,3]);
figure,imshow(l2);
有些情况下,如灰度变化均匀的图像,只利用一阶导数可能找不到边界,此时可用二阶导数。
有拉普拉斯算法和拉普拉斯高斯算法。
利用梯度算法、索贝尔算法、普瑞维特算法,拉普拉斯算法,LoG算法对原始图像进行锐化处理。
l = imread('saturn.png'); %读入一幅PNG图像
subplot(2,3,1),imshow(l),title('原始图像');
l = im2double(l); %双精度化处理
[IX,IY] = gradient(l); %返回矩阵L梯度值的X和Y分量
l1 = sqrt(IX.*IX +IY.*IY);%得到梯度算法结果图像
subplot(2,3,2),imshow(l1,[]);title('gradient value');
h2 = fspecial('sobel'); %索贝尔算法
l2 = imfilter(l,h2); %采用索贝尔滤波
h3 = fspecial('prewitt'); %普瑞维特算法
l3 = imfilter(l,h3); %采用普瑞维特滤波
h4 = fspecial('laplacian') %拉普拉斯算法
l4 = imfilter(l,h4)
h5 = fspecial('log'); %LoG算法
l5 = imfilter(l,h5);
[l,map] =imread('cameraman.tif');%读入一幅TIFF图像 subplot(2,3,1),imshow(l,map);title('原始图像'); %把一个图形窗口划分为2×3矩形显示区域,在左上角的区域显示图像l l1=double();%双精度化处理 [IX,IY]=gradient(I1); %返回图像矩阵I梯度值的X和Y分量 G=sqrt(IX.*IX+IY.*IY); %得到梯度算法结果图像 J1=G;%第1种锐化,微分图像直接输出 J2=l;%让J2等于l K=find(G>=7); %找出梯度大于7的索引号 J2(K)=G(K);%梯度大于7的轮廓取梯度值,背景不变 subplot(2,3,3),imshow(J2,map);title('第2种锐化'); %在右上角的区域显示第2种锐化结果图像 J3=l; %让J3等于l K=find(G>=7); %找出梯度大于7的索引号 J3(K)=255;%让梯度大于7的轮廓取值255(白色),背景不变 subplot(2,3,4),imshow(J3,map);title('第3种锐化);%在左下角的区域显示第3种锐化结果图像 J4=G; %让J4等于G K=find(G<=7); %找出梯度小于7的索引号 J4(K)=255;%让梯度小于7的背景取255,轮廓取梯度值 subplot(2,3,5),imshow(J4,map);title('第4种锐化');%在中下区域显示第4种锐化结果图像 J5=l; %让J5等于I K=find(G<=7); %找出梯度小于7的索引号 J5(K)=0; %让梯度小于7的背景取值0(黑色) K=find(G>7); %找出梯度大于7的索引号 J5(K)=255; %让梯度大于7的轮廓取值255(白色) subplot(2,3,6),imshow(5,map);title('第5种锐化');%在右 下角的区域显示第5种锐化结果图像
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。