MATLAB灰度彩转换程序

%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):给图像分别添加高斯噪声和椒盐噪声。

本文发布于:2024-09-22 08:33:22,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/359121.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:灰度   图片   计算
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议