Matlab图像灰度直方图及边缘提取

在这里插入图片描述

脚本

Plot

x=-pi:pi/40:pi;  %从负Π到Π,间隔为Π除40.
y=sin(x);
plot(x,y,'-r');  %横纵坐标,线条类型为实线,r代表红色。

灰度直方图

G=imread ('cameraman.tif');%读取图像
figure(1), imhist(G); %灰度直方图
M = size(G,1); %获得矩阵的维度,行数
N = size(G,2); %获得矩阵的维度,列数
G=double(G); %变换图像存储格式
for i=1:M
    for j=1:N
        if G(i,j)>=65
            G(i,j)=1;
        else
            G(i,j)=0;
        end
    end
end
figure(1), imshow(G);

灰度图像边缘提取

edge 函数

I = imread('cameraman.tif');
BW1 =edge(I,'sobel');
figure(3),imshow(BW1);

BW2=edge(I,'roberts');
figure(4),imshow(BW2);

BW3 = edge(I,'log') ;
figure(5),imshow(BW3);

自定义绘制灰度直方图

G=imread('cameraman.tif');
M=size(G,1);  %行数
N=size(G,2);  %列数
sum=M*N;  %像素总数
for k=0:255  %灰度值只有0~255
    o=0;  %o记录每个灰度值出现的次数。比如灰度值为15的像素总共有几个
    for i=1:M
        for j=1:N
            if G(i,j)==k
                o=o+1;
            end
        end
    end
    y(k+1)=o;
end
%y=y/sum;  %百分比显示
x=0:1:255;
plot(x,y,'-r');

自定义边缘提取函数

function y=selfedge(I,h,t)  %I为图像,h为算子,t为自定义阈值
I=double(I);
W= conv2(I,h);  %对二维图像进行卷积计算,乘以算子
M = size(W,1);  %维数
N = size(W,2);
for i=1:M
    for j=1:N
        if W(i,j)>=t
            W(i,j)=1;
        else
            W(i,j)=0;
        end
    end
end
figure,imshow(W);
end
  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
调用自定义函数解决题目: 1.读自然图像、生成合成图像、高相关图像、高去相关图像,调用yasuo.m函数,完成压缩,并显示不同像素值的图像 2.读自然图像、生成合成图像、高相关图像、高去相关图像,调用yasuo.m函数,完成压缩,并显示不同像素值的图像;调用dfff.m,得到傅里叶变换后的图像 3.读自然图像、生成合成图像、高相关图像、高去相关图像,fft中心变换,得到傅里叶变换后的图像,调用fwhtdya2d.m,得到walsh变换后的图像,进行两种变换的对比 4.读自然图像、生成合成图像、高相关图像、高去相关图像,调用yasuo.m函数,完成压缩,并显示不同像素值的图像;调用dfff.m,得到傅里叶变换后的图像和傅里叶变换需要的时间,显示变换后的图像,显示傅里叶变换时间随图像像素的变化 5.调用butterworthw.m,使用不同的阶数:2,5,10,显示不同阶数butterworth高通滤波和低通滤波滤波器的传递函数和处理后的图像,用于对比阶数对图像处理的影响 6.调用butterworthw.m,显示原图像、原图像频谱、低通滤波、高通滤波的传递函数,以及滤波器处理后的图像 7.读自然图像、生成合成图像、高相关图像、高去相关图像,使用标准差为0.1、0.5、0.9的拉普拉斯高斯滤波器进行滤波处理4种图像,同时显示原图像和滤波处理后图像 8.读自然图像,转换成灰度图片,计算其直方图,并两次增强,储存两次增强的图像,同时显示原图像、增强图像、再次增强图像和它们的直方图 9.读出自然图象,转换成灰度图片,生成合成图片,调用kirsch.m,提图像边缘并显示,调用sobele.m,提图像边缘并显示,同时显示自然图像、合成图像、它们kirsch提边缘处理的图像、它们sobel提边缘处理的图像,便于对比 10.读自然图像、生成合成图像、高相关图像、高去相关图像,调用yasuo.m函数,完成压缩,并显示不同像素值的图像;调用dfff.m,得到傅里叶变换后的图像、傅里叶变换、傅里叶中心变换需要的时间,显示不同种类图像变换后的图像,显示傅里叶变换、傅里叶中心变换所需时间时间随图像像素的变化

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dylan、

耕码不易,白嫖可耻

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值