其他分享
首页 > 其他分享> > 数字图像处理实验1.1:matlab实现减少图像灰度级

数字图像处理实验1.1:matlab实现减少图像灰度级

作者:互联网

Digital Image Processing

1. Reducing the Number of Gray Levels in an Image

减少图像中的灰度级别的数量
(a)编写一个计算机程序,能够将图像中的灰度数从256减少到2,整数幂为2。所需的灰度级别的数量需要是程序的可变输入。
(b)下载图。2.21(a),并复制图中所示的结果。

matlab代码:

function ex_1(gray_level)
%   改变图像的灰度级
%   此处显示详细说明
%   gary_level是输入的参数,代表着目标灰度级
%   I为输入图片
%   transI为输出图片
%   reduce为减小的倍数
clc;
%%
%打开图片
[file,path] = uigetfile('*.*');%将返回文件的名称和路径。如果用户点击取消或窗口关闭按钮 (X),uigetfile 将为两个输出参数都返回 0
if isequal(file,0)
   disp('User selected Cancel');
else
   disp(['User selected ', fullfile(path,file)]);
end
filep=strcat(path,file);%将路径和图片名连接
I=imread(filep);%打开图片
%%
%改变灰度级别
reduce=256/gray_level;
transI=uint8(fix(double(I)/reduce)*255/(gray_level-1));
%%
%输出原图
figure%幕布
subplot(1,2,1)
imshow(I)
title('原图')
%%
%输出灰度图
subplot(1,2,2)
imshow(transI)
title(['当前灰度级 ',num2str(gray_level)])
end

对于该代码的几点说明:

1.创建:该代码是一个函数:应在matlab中 新建——>函数,然后写在这个里面

 

 2.运行:在命令行窗口输入函数名+函数的参数

学弟学妹们加油啊!!!

数字图像处理要好好学,有没有上dragon fly 老师的课的UU??

参考书:

 

 

标签:gray,1.1,灰度级,level,%%,数字图像处理,matlab,file
来源: https://blog.csdn.net/karonneveralone/article/details/120435774