%A simple program for pseudo colouring
%The program converts a gray level image (0-256)(single layer) to pseudo color image (3 layer)
%by altering the conditions and values, U can create more perfect pseudo color image.
clc;
clear all;
im=input('Enter the file name (gray level image) :','s');
k=imread(im);
[x y z]=size(k);
% z should be one for the input image
k=double(k);
for i=1:x
for j=1:y
if k(i,j)>=0 & k(i,j)<50
m(i,j,1)=k(i,j,1)+5;
m(i,j,2)=k(i,j)+10;
m(i,j,3)=k(i,j)+10;
end
if k(i,j)>=50 & k(i,j)<100
m(i,j,1)=k(i,j)+35;
m(i,j,2)=k(i,j)+28;
m(i,j,3)=k(i,j)+10;
end
if k(i,j)>=100 & k(i,j)<150
m(i,j,1)=k(i,j)+52;
m(i,j,2)=k(i,j)+30;
m(i,j,3)=k(i,j)+15;
end
if k(i,j)>=150 & k(i,j)<200
m(i,j,1)=k(i,j)+50;
m(i,j,2)=k(i,j)+40;
m(i,j,3)=k(i,j)+25;
end
if k(i,j)>=200 & k(i,j)<=256
m(i,j,1)=k(i,j)+120;
m(i,j,2)=k(i,j)+60;
m(i,j,3)=k(i,j)+45;
end
end
end椒盐噪声
figure,imshow(uint8(k),[]);
figure,imshow(uint8(m),[]);
这是我的代码,想实现逆滤波,但结果不对,不知道问什么。
matlab 2009-12-02 21:53:32 阅读63 评论0 字号:大中小 订阅
clear
close all
J=imread('111.bmp');
I=rgb2gray(J);
imshow(I);
a=0.1,b=0.1,T=1;
[m,n]=size(I);
if m>n
max=m;
I(:,n+1:m)=0;
else
max=n;
I(m+1:n,:)=0;
end
H=zeros(max,max);
for u=1:max
for v=1:max
j=3.1415926*(u*a+v*b);
H(u,v)=T*sin(j)*exp(-i*j)/j;
end
end
G=fft2(double(I));
F2=G.*(inv(H));
F3=ifft2(double(F2));
imwrite(F3,'wiener.bmp');
figure,imshow(F3);
matlab 2009-11-28 22:23:14 阅读33 评论0 字号:大中小 订阅
现在有这样一个问题
现在希望计算图象中
像素点的灰度值和其邻域均值均相等的像素点的个数
我的原有程序如下
im_hue = imread('001.jpg');im_gray = rgb2gray(im_hue);%得到彩的图片以及相应的灰度图片 im_mean = fix( filter2(fspecial('average',3),im_gray) );%计算图片的邻域灰度均值
[im_r,im_c] = size(im_gray);%计算灰度图片的大小
value_im = zeros(im_r*im_c,2);%存储灰度图片像素的灰度值及其邻域灰度均值
value_im(:,1) = reshape(im_gray,im_r*im_c,1);%存储灰度图片像素的灰度值并改变矩阵的形式为列向量
value_im(:,2) = reshape(im_mean,im_r*im_c,1);域灰度均值并改变矩阵的形式为列向量
im_gray_tmp_2d_entroy = zeros(256,256);%存储灰度图片特征二元组(i,j)出现的频数
%计算灰度图片特征二元组(i,j)出现的频数
for i=0:255
for j=0:255
im_gray_tmp_2d_entroy(i+1,j+1) = size( find( value_im(:,1)==i & value_im(:,2)==j ), 1) / (im_r*im_c);%计算存储灰度图片特征二元组(i,j)出现的频数
end
end
主要是上面这个循环花费的时间代价太大
希望高手指点优化的程序
谢谢
《数字图像处理》
matlab 2009-11-24 11:29:02 阅读50 评论0 字号:大中小 订阅
针对给出的图像(moon.tif)或者自行选择的灰度图像:
1):给图像分别添加高斯噪声和椒盐噪声。