数字图像处理实验(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);endendend
运行下面程序:
%%
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)
实验结果:
很明显,随着灰度级的减小,图片越来越不清晰。
数字图像处理实验(2):PROJECT 02-02, Reducing the Number of Gray Levels in an Image相关推荐
- 【图像处理】图像灰度级减少, 图像缩放(Reducing the Number of Gray Levels, Zooming and Shrinking)
实验要求 (1.a) 编写一个以2 的幂次方将给定图像的灰度级数从256 减少到2 的程序.图像的灰度级数以参数变量的形式传递到所编写的程序中. (1.b) 使用图2.21(a) 以(1.a)中编写的 ...
- Reducing the Number of Gray Levels, Zooming and Shrinking Images
摘 要:本实验分为三部分:编写一个以2的幂次方将一幅图像的灰度级数从256减少到2:编写一个基于像素复制法的图像缩放程序,要求缩放因子为整数:编写一个基于双线性插值法的图像缩放程序,要求输入参数 ...
- 数字图像处理实验(总计23个)汇总
以下这些实验中的代码全部是我自己编写调试通过的,到此,最后进行一下汇总. 数字图像处理实验(1):PROJECT 02-01, Image Printing Program Based on Half ...
- 数字图像处理matlab实验对图像复原,数字图像处理实验07图像的复原处理
数字图像处理实验 一.数字图像处理实验 实验七 图像的复原处理 一.实验目的 熟悉几种在实际应用中比较重要的图像复原技术,学会用MATLAB复原函数对退化图像进行复原处理. 二.实验内容 1.用点扩散 ...
- 数字图像处理实验——Python语言实现
数字图像处理实验--Python语言实现 实验一:数字图像处理入门 实验二:直方图均衡 实验三:线性平滑和锐化--掩模法 实验四:非线性平滑--中值滤波 实验五:非线性锐化--梯度法 GitHub地址 ...
- 数字图像处理实验三图像增强
一.实验目的 (1)了解图像增强的目的及意义,加深对图像增强的 感性认识,巩固所学的图像增强的理论知识和相 关算法. (2)熟练掌握直方图均衡化和直方图规定化的计算过 程. (3)熟练掌握空域滤波中常 ...
- 数字图像处理实验四图像频域增强
一.实验目的 (1)了解图像增强的目的及意义,加深对图像增强的感性认识,巩固所学的图像增强的理论知识和相关算法. (2)熟练掌握低通.高通.带通.同态滤波器的使用方法,明确不同性质的滤波器对图像的影响 ...
- 数字图像处理实验5图像复原
一.实验目的 (1)了解图像复原的目的及意义,加深对图像复原理论的认识. (2)掌握维纳滤波复原基本原理. (3)掌握约束最小二乘方复原方法. (4)掌握盲解卷积复原方法 二.实验内容 (1)维纳滤 ...
- 实验1 数字图像处理的MATLAB基础,《数字图像处理(实验部分)》实验1_数字图像处理中MATLAB使用基础...
<数字图像处理(实验部分)>教案 实验一:数字图像处理中MATLAB使用基础实验 一. MATLAB软件安装 二. 进入MATLAB运行环境 三. MATLAB编程基础 3.1.变量 预定 ...
最新文章
- 天玥运维安全网关默认密码_Soul网关发布全新架构V2.2.0,让高性能网关变得如此简单
- Python 经典模块可能都学过,10道题测试你会不会用?
- tp5视图里写原生php,tp5中使用原生sql查询总结
- spanning-tree extend system-id
- php如何跟踪调试,PHP使用debug_backtrace方法跟踪调试代码调用详解
- Saltstack之自定义grains
- 一周成python大神_2个月把你变成selenium+Python大神,上海悠悠带你飞!
- 苹果电脑Android我的电脑,苹果电脑连接安卓手机怎么在电脑上找到手机文件?...
- Vue DevTools `Devtools inspection is not available` 使用问题
- 皮肤电研究: 情绪识别的特征提取与选择
- 从Vimeo获取img缩略图?
- Win10下手把手教你Mask R-CNN用自己的数据集训练(从labelme标记开始)
- WIN10鼠标指针在等待状态下出现重影、假影、虚影,、显示错误的问题。
- Android自定义TabActivity(实现仿新浪微博底部菜单更新UI)
- 面向数据共享的教育数据标准体系研究与建设实践
- 于娟《生命日记》——复旦大学教师于娟对大学生健康的建议
- 华为RPA使用注意事项
- 淮北卫生学校可有计算机专业,浅谈卫生学校计算机教学的发展
- c++中“::”和“:”啥意思
- Php微信支付token,微信支付的哪个环节会用到access_token
热门文章
- mysql 平均响应时间_Percona-Server/MySQL响应时间统计
- 【C++】37.为什么要使用Lambda表达式
- 【opencv】1.opencv安装、编译、运行等踩坑记录
- Resilience4j-轻量级熔断框架
- EasyMock 使用方法与原理剖析
- 什么是Java对象分配率?
- Java程序员从笨鸟到菜鸟之(一百零八)一步一步学习webservice(二)webservice基本原理
- 鸟哥的Linux私房菜(服务器)- 第六章、 Linux 网络侦错
- 程序员面试题精选100题(54)-C++/C#面试题(3)
- Python爬虫入门(7):正则表达式