数字图像处理第三版中文版(冈萨雷斯),P71复现

本文主要是介绍数字图像处理第三版中文版(冈萨雷斯),P71复现,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

MATLAB实现比特平面分层(不使用自带bitget函数)

  • 数字图像处理第三版中文版(冈萨雷斯),P71复现
    • 直接上代码
    • 效果图展示
      • 比特平面重建
      • 实现过程中遇到问题
      • 问题图像
        • 运行环境:MATLAB R2017b;Windows10

数字图像处理第三版中文版(冈萨雷斯),P71复现

考虑到自己是初学数字图像处理,为了掌握比特平面分层的思想,不是用bitget函数。这里不累述原理。
这里附两个链接:
【1】参考比特平面分成程序。源码有些小问题,会将数值超过判定范围的值都置零了,而如果数值超过判定范围且该位为1的被错误置零。
【2】使用自带bitget函数的代码

直接上代码

clc
clear allImage = imread('Fig0314(a)(100-dollars).tif');%读取图像
subplot(3,3,1)
imshow(Image);
title('原始图像');[M,N] = size(Image);
Temp = double(Image);
BPLImage = zeros(M,N,8);
n = 8;
for k=1:8for i = 1:Mfor j = 1:Nif (Temp(i,j) / 2^(n-1)) >= 1     %判断是否在该比特层中BPLImage(i,j,n) = 1;Temp(i,j) = Temp(i,j) - 2^(n-1);end       endendsubplot(3,3,n+1)imshow(uint8(BPLImage(:,:,n)),[]);ind = num2str(n);imti = ['第',ind,'个位平面'];title(imti);n = n-1;
endfigure()
subplot(1,3,1)
ReBPLImage1 = BPLImage(:,:,8) * 128 + BPLImage(:,:,7) * 64 + BPLImage(:,:,6) * 32;
imshow(uint8(ReBPLImage1))
title('比特平面8和7重建')subplot(1,3,2)
ReBPLImage2 = BPLImage(:,:,8) * 128 + BPLImage(:,:,7) * 64 + BPLImage(:,:,6) * 32;
imshow(uint8(ReBPLImage2))
title('比特平面8、7和6重建')subplot(1,3,3)
ReBPLImage3 = BPLImage(:,:,8) * 128 + BPLImage(:,:,7) * 64 + BPLImage(:,:,6) * 32 ...+ BPLImage(:,:,5) * 16;
imshow(uint8(ReBPLImage3))
title('比特平面8、7、6和5重建')

效果图展示

比特平面重建

在这里插入图片描述

实现过程中遇到问题

clc
clear allImage = imread('Fig0314(a)(100-dollars).tif');%读取图像
subplot(3,3,1)
imshow(Image);
title('原始图像');[M,N] = size(Image);
Temp = Image;
BPLImage = zeros(M,N,8);
n = 8;
for k=1:8for i = 1:Mfor j = 1:Nif (Temp(i,j) / 2^(n-1)) >= 1     %判断是否在该比特层中BPLImage(i,j,n) = 1;Temp(i,j) = Temp(i,j) - 2^(n-1);end       endendsubplot(3,3,n+1)imshow(uint8(BPLImage(:,:,n)),[]);ind = num2str(n);imti = ['第',ind,'个位平面'];title(imti);n = n-1;
end

问题图像

在这里插入图片描述

1.就是因为第10行出现少用了一个double,将图像uint8的数据类型转化为可计算的double类型。

运行环境:MATLAB R2017b;Windows10

这篇关于数字图像处理第三版中文版(冈萨雷斯),P71复现的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/395937

相关文章

JavaEE7 Servlet 3.1(JSR 340)规范中文版

http://www.iteye.com/news/27727-jinnianshilongnian     Jave EE 7中的部分规范已正式获得批准通过,其中包括JSR340 Java Servlet 3.1规范,去年翻译了该规范,在此分享出来,希望对某些朋友有所帮助,不足之处请指正。   点击直接下载    在线版目录   Servlet3.1规范翻译

Detectorn2预训练模型复现:数据准备、训练命令、日志分析与输出目录

Detectorn2预训练模型复现:数据准备、训练命令、日志分析与输出目录 在深度学习项目中,目标检测是一项重要的任务。本文将详细介绍如何使用Detectron2进行目标检测模型的复现训练,涵盖训练数据准备、训练命令、训练日志分析、训练指标以及训练输出目录的各个文件及其作用。特别地,我们将演示在训练过程中出现中断后,如何使用 resume 功能继续训练,并将我们复现的模型与Model Zoo中的

UMI复现代码运行逻辑全流程(一)——eval_real.py(尚在更新)

一、文件夹功能解析 全文件夹如下 其中,核心文件作用为: diffusion_policy:扩散策略核心文件夹,包含了众多模型及基础库 example:标定及配置文件 scripts/scripts_real:测试脚本文件,区别在于前者倾向于单体运行,后者为整体运行 scripts_slam_pipeline:orb_slam3运行全部文件 umi:核心交互文件夹,作用在于构建真

文章解读与仿真程序复现思路——电力自动化设备EI\CSCD\北大核心《考虑燃料电池和电解槽虚拟惯量支撑的电力系统优化调度方法》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源程序擅长文章解读,论文与完整源程序,等方面的知识,电网论文源程序关注python

《计算机视觉工程师养成计划》 ·数字图像处理·数字图像处理特征·概述~

1 定义         从哲学角度看:特征是从事物当中抽象出来用于区别其他类别事物的属性集合,图像特征则是从图像中抽取出来用于区别其他类别图像的属性集合。         从获取方式看:图像特征是通过对图像进行测量或借助算法计算得到的一组表达特性集合的向量。 2 认识         有些特征是视觉直观感受到的自然特征,例如亮度、边缘轮廓、纹理、色彩等。         有些特征需要通

《数字图像处理(面向新工科的电工电子信息基础课程系列教材)》P98

更改为 差分的数学表达式从泰勒级数展开式可得: 后悔没听廖老师的。 禹晶、肖创柏、廖庆敏《数字图像处理(面向新工科的电工电子信息基础课程系列教材)》 禹晶、肖创柏、廖庆敏《数字图像处理》资源二维码

【vulhub】thinkphp5 2-rce 5.0.23-rce 5-rce 漏洞复现

2-rec 1.启动环境  cd /.../vulhub/thinkphp/2-rce # cd进入2-rce靶场文件环境下docker-compose up -d # docker-compose启动靶场docker ps -a # 查看开启的靶场信息 2.访问192.168.146.136:8080网页 3.构造payload http

【漏洞复现】赛蓝企业管理系统 GetJSFile 任意文件读取漏洞

免责声明:         本文内容旨在提供有关特定漏洞或安全漏洞的信息,以帮助用户更好地了解可能存在的风险。公布此类信息的目的在于促进网络安全意识和技术进步,并非出于任何恶意目的。阅读者应该明白,在利用本文提到的漏洞信息或进行相关测试时,可能会违反某些法律法规或服务协议。同时,未经授权地访问系统、网络或应用程序可能导致法律责任或其他严重后果。作者不对读者基于本文内容而产生的任何行为或后果承担

深度学习每周学习总结N9:transformer复现

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 | 接辅导、项目定制 目录 多头注意力机制前馈传播位置编码编码层解码层Transformer模型构建使用示例 本文为TR3学习打卡,为了保证记录顺序我这里写为N9 总结: 之前有学习过文本预处理的环节,对文本处理的主要方式有以下三种: 1:词袋模型(one-hot编码) 2:TF-I

【达梦数据库】误删数据库目录问题复现解决方式

目录 1、环境搭建1.1、查询数据库版本1.2、创建表1.3、插入数据1.4、查询数据 2、故障重演2.1、服务器内直接删除整个库文件2.2、查询数据:数据可查2.3、查看进程:进程存在2.4、查看proc进程文件:deleted 3、数据恢复3.1、逻辑导出导入-(数据丢失,废弃)3.1.1、全库导出3.1.2、重新初始化库3.1.3、全库导入3.1.4、查询数据:数据丢失