数字图像处理 第六章课后作业

文档地址:数字图像处理第六章课后作业.pdf_数字图像处理第六章课后答案-图像处理文档类资源-CSDN下载https://download.csdn.net/download/qq_44143405/12549547

第一题

6-7 在彩色 RGB 系统中,每幅 RGB 图像均为12比特图像,共有多少种不同的灰度?

第二题

6-24 怎样才能实现与3.3.2节中匹配(规定)的灰度直方图等效的彩色直方图?

附录含 matlab 实行步骤(含程序)

第三题

6-25 考虑下列 500×500 的 RGB 彩色图像,图像中方框是完全饱和的红色、绿色和蓝色,且每种颜色处在最大亮度[例如,对于红色方框是(1,0,0)]。由该图生成了一幅 HSI 图像。

(a)描述每幅 HSI 分量图像的外观。

(b)用一个 250×250 的平均模板来平滑 HSI 图像的饱和度分量。描述结果的外观(在中,您可通过滤波操作忽略图像的边界效应)。

(c)对色调图像重复(b)

附录含 matlab 实行步骤(含程序)

第二题代码块

程序:

Image1=im2double(imread('lotus.bmp'));hsi = rgb2hsi(Image1);                 %将RGB图像转化为HSI空间h = hsi(:,:,1);s = hsi(:,:,2);i = hsi(:,:,3);NewImage2=histeq(i);figure,subplot(121),imhist(hsi);title('原图像直方图');subplot(122),imhist(NewImage2);title('直方图均衡化');hsi1 = cat(3,h,s,i);rgb1 = hsi2rgb(hsi1);hsi2 = cat(3,h,s,NewImage2);rgb2 = hsi2rgb(hsi2);figure,subplot(121),imshow(rgb1),title('原图像');subplot(122),imshow(rgb2),title('均衡化后图像');

第三题代码块

程序:

clear all ;clc;%生成红绿蓝格子rgb_G = zeros(500,500);rgb_G(1:250,1:250) = 1;rgb_G(251:500,251:500) = 1;rgb_R = zeros(500,500);rgb_R(1:250,251:500) = 1;rgb_B = zeros(500,500);rgb_B(251:500,1:250) = 1;rgb = cat(3,rgb_R,rgb_G,rgb_B);hsi = rgb2hsi(rgb);                   %将RGB图像转化为HSI空间h = hsi(:,:,1);s = hsi(:,:,2);i = hsi(:,:,3);K = fspecial('average',[250 250]);    %250*250的平均模板H = imfilter(h,K,'replicate');        %模糊H分量hsi1 = cat(3,H,s,i);rgb1 = hsi2rgb(hsi1);S = imfilter(s,K,'replicate');        %模糊S分量hsi2 = cat(3,h,S,i);rgb2 = hsi2rgb(hsi2);%显示图像figure, imshow(rgb),    title('RGB彩色图像');figure; imshow(rgb1,[]),title('H模糊后的图像');figure; imshow(rgb2,[]),title('S模糊后的图像');

由于matlab 2018b 中没有自带rgb2hsi、hsi2rgb函数,下面附带了这两个函数的源程序。

rgb2hsi函数

function hsi = rgb2hsi(rgb)% hsi = rgb2hsi(rgb)把一幅RGB图像转换为HSI图像,% 输入图像是一个彩色像素的M×N×3的数组,% 其中每一个彩色像素都在特定空间位置的彩色图像中对应红、绿、蓝三个分量。% 假如所有的RGB分量是均衡的,那么HSI转换就是未定义的。% 输入图像可能是double(取值范围是[0, 1]),uint8或 uint16。% 输出HSI图像是double,% 其中hsi(:, :, 1)是色度分量,它的范围是除以2*pi后的[0, 1];% hsi(:, :, 2)是饱和度分量,范围是[0, 1];% hsi(:, :, 3)是亮度分量,范围是[0, 1]。% 抽取图像分量rgb = im2double(rgb);r = rgb(:, :, 1);g = rgb(:, :, 2);b = rgb(:, :, 3);% 执行转换方程% 实现H分量num = 0.5*((r - g) + (r - b));den = sqrt((r - g).^2 + (r - b).*(g - b));% 防止除数为0theta = acos(num./(den + eps));H = theta;H(b > g) = 2*pi - H(b > g);H = H/(2*pi);% 实现S分量num = min(min(r, g), b);den = r + g + b;% 防止除数为0den(den == 0) = eps;S = 1 - 3.* num./den;H(S == 0) = 0;%实现I分量I = (r + g + b)/3;% 将3个分量联合成为一个HSI图像hsi = cat(3, H, S, I);%hsi = H;    %分别返回3个分量%hsi = S;%hsi = I;

hsi2rgb函数

function rgb=hsi2rgb(hsi)%rgb=hsi2rgb(hsi)把一幅HSI图像转换为RGB图像%其中HSI是double型%hsi(:,:,1)是色度分量,它的范围是除以2*pi后在[0,1]内%hsi(:,:,2)是饱和度分量,它的范围是在[0,1]内%hsi(:,:,3)是亮度分量,它的范围是在[0,1]内%输出图像的分量是%rgb(:,:,1)为红%rgb(:,:,2)为绿%rgb(:,:,3)为蓝%提取HSI的各个分量hsi=im2double(hsi);%把hsi转化为双精度浮点类型H=hsi(:,:,1)*2*pi;S=hsi(:,:,2);I=hsi(:,:,3);%执行变换方程R=zeros(size(hsi,1),size(hsi,2));G=zeros(size(hsi,1),size(hsi,2));B=zeros(size(hsi,1),size(hsi,2));%RG区(0<=H<2*pi/3)idx=find((0<=H) & (H<2*pi/3));%寻找0<=H<2*pi/3B(idx)=I(idx).*(1-S(idx));R(idx)=I(idx).*(1+S(idx).*cos(H(idx))./cos(pi/3-H(idx)));G(idx)=3*I(idx)-(R(idx)+B(idx));%BG区(2*pi/3<=H<4*pi/3)idx=find((2*pi/3<=H) & (H<4*pi/3));%寻找2*pi/3<=H<4*pi/3R(idx)=I(idx).*(1-S(idx));G(idx)=I(idx).*(1+S(idx).*cos(H(idx)-2*pi/3)./cos(pi-H(idx)));B(idx)=3*I(idx)-(R(idx)+G(idx));%BR区(4*pi/3<=H<=2*pi)idx=find((4*pi/3<=H) & (H<=2*pi));%寻找4*pi/3<=H<=2*piG(idx)=I(idx).*(1-S(idx));B(idx)=I(idx).*(1+S(idx).*cos(H(idx)-4*pi/3)./cos(5*pi/3-H(idx)));R(idx)=3*I(idx)-(G(idx)+B(idx));%将3个分量联合成为一个RGB图像rgb=cat(3,R,G,B);rgb=max(min(rgb,1),0);

DIP第六章习题解答相关推荐

  1. DIP第四章习题解答

    数字图像处理 第四章课后作业 文档地址:数字图像处理第四章课后作业(最终更改版).pdf_数字图像处理第四版课后答案,数字图像处理冈萨雷斯第四版答案-图像处理文档类资源-CSDN下载https://d ...

  2. DIP第三章习题解答

    数字图像处理 第三章课后作业 下载地址:https://download.csdn.net/download/qq_44143405/1254953https://download.csdn.net/ ...

  3. c语言作业题五六章答案,数据结构(C语言版)第五六章习题答案

    数据结构(C语言版)第五六章习题答案,人民邮电出版社,答案很详细. (15)设F是一个森林,B是由F变换得的二叉树.若F中有n个非终端结点,则B中右指针域为空的结点有( )个. A. n-1 B.n ...

  4. 信号与系统第四章-第六章习题易错点整理

    信号与系统第四章-第六章习题易错点整理 鄙人学疏才浅,资料仅供自己学习 留意书上蓝色圈的题目 第四章-傅里叶变换 注意基波角频率为全部Ω的最大公约数 在计算傅里叶的An.Bn时,需要额外考虑n=0的情 ...

  5. c语言作业题五六章答案,C语言程序设计五六章习题和课堂测试答案.doc

    C语言程序设计五六章习题和课堂测试答案 C语言程序设计第四五六章习题和课堂测试答案,还有期末C语言复习例题//3--1矩形面积 #includevoid main(){float a,b;float ...

  6. c语言程序设计教程第三版答案9.5,C语言程序设计-第5-9章习题解答.ppt

    C语言程序设计-第5-9章习题解答 华中科技大学计算机学院 C语言程序设计 第5-9章 部分习题解答 作业中问题较多的习题 第5章5.4(2) 第6章6.1,6.3,6.5(6),6.8 第7章无 第 ...

  7. MATLAB仿真斜坡信号的校正,控制系统仿真matlab第六章习题答案.doc

    控制系统仿真matlab第六章习题答案 控制系统仿真第六章课后题 作业6.1 在图6.1中,已知单位负反馈系统被控对象的传递函数为 试编写matlab程序,设计系统的超前矫正器Gc(s),要求: 1) ...

  8. Scala学习4之快学scala第六章习题之6.6花色枚举

    快学scala第六章习题之6.6花色枚举 6.6 编写一个扑克牌4种花色的枚举,让其toString方法分别返回♣,♦,♥,♠ 代码: </pre><pre name="c ...

  9. c语言判断正整数位数 请用strengh,C语言程序设计-4、12章习题解答.doc

    C语言程序设计-4.12章习题解答 C语言程序设计概述 一个C程序的执行是从 A . A.从main()函数开始,直到main()函数结束B.第一个函数开始,直到最后一个函数结束C.第一个语句开始,直 ...

最新文章

  1. 大厂面试必问的 4 大开源框架,你真会吗?
  2. C语言 读取txt文档按行读取到新的txt文档
  3. mysql---视图
  4. wcf系列5天速成——第二天 binding的使用(2)(转载)
  5. 焦作的计算机三级考试考点,3月河南计算机等级考试考点分布情况
  6. iphone开热点电脑总是搜不到问题的解决办法(百试百灵)
  7. linux系统 date命令,linux系统 的 date命令
  8. Android About ContentProvider
  9. 统计无符号整数二进制中 1 的个数(Hamming Weight)
  10. 不同的载体 不同的商业模式
  11. 添加 identity impersonate=true userName=username password=password/,解决问题!
  12. matlab getdata函数,用getdata函数读取数据的时候数据读取不过来
  13. dubbo源码解析之dubbo配置解析
  14. 税务信息化与计算机技术应用开发,税务信息化与计算机技术应用开发岗位辞职报告范文...
  15. 蒟蒻的控制台贪吃蛇(新手实验)
  16. VS创建 Win32 应用程序(实现窗口的创建)
  17. Three.js 实现虎年春节3D创意页面
  18. vue收藏/取消收藏,点赞、取消点赞一个道理,切换图标
  19. python入门小程序之列表练习
  20. 副本与ISR设计--Kafka从入门到精通(十四)

热门文章

  1. canvas绘制正文形并填充-2
  2. 玩转Win10的45个快捷键
  3. 使用 python-nmap 进行端口扫描
  4. 专车降价滴滴快车使命终结?
  5. 【vSphere系列二】安装 Openfiler 存储
  6. 《学得少考得好》读书笔记
  7. cudnn v4安装
  8. linux上传github项目
  9. Java经典面试题(N人循环报M个数出列)实现
  10. Consul 服务注册与发现03—— 服务消费者