数字图像处理实验(2):PROJECT 02-02, Reducing the Number of Gray Levels in an Image ...

实验要求:

Reducing the Number of Gray Levels in an Image
Objective
To understand how the number of gray levels affect the image perceptual quality.
Main requirements:
Ability of programming with C, C++, or Matlab.
Instruction manual:
(a) Write a computer program capable of reducing the number of gray levels in a image from 256 to 2, in integer powers of 2. The desired number of gray levels needs to be a variable input to your program.
(b) Download Fig. 2.21(a) and duplicate the results shown in Fig. 2.21 of the book.

英文不懂的查字典,不做赘述。
编写MATLAB函数”reduceGrayLevel.m”:

function img_o = reduceGrayLevel( img_i, level )
%UNTITLED2 此处显示有关此函数的摘要
%   此处显示详细说明
    imagesize = size(img_i);
    num = 256 / level;

    %创建新的图像,与原图像大小相同
    img_o = uint8(zeros(imagesize(1), imagesize(2)));

    % 灰度变换
    for r = 1:1:imagesize(1)
        for c = 1:1:imagesize(2)
            img_o(r, c) = fix(double(img_i(r,c))/num) * 255 / (level-1);
        end
    end

end

运行下面程序:

%%
clear all;
clc;
close all;

%%
image_name = 'general_img.jpg';
image = imread(image_name);

image_level_128 = reduceGrayLevel(image, 128);
image_level_64 = reduceGrayLevel(image, 64);
image_level_32 = reduceGrayLevel(image, 32);
image_level_16 = reduceGrayLevel(image, 16);
image_level_8 = reduceGrayLevel(image, 8);
image_level_4 = reduceGrayLevel(image, 4);
image_level_2 = reduceGrayLevel(image, 2);

figure(1)
subplot(2,4,1), imshow(image)
subplot(2,4,2), imshow(image_level_128)
subplot(2,4,3), imshow(image_level_64)
subplot(2,4,4), imshow(image_level_32)
subplot(2,4,5), imshow(image_level_16)
subplot(2,4,6), imshow(image_level_8)
subplot(2,4,7), imshow(image_level_4)
subplot(2,4,8), imshow(image_level_2)

实验结果:
这里写图片描述

很明显,随着灰度级的减小,图片越来越不清晰。

转载于:https://www.cnblogs.com/xuhongbin/p/7134172.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值