比特平面重建图像matlab,matlab实现 图像的比特平面分层 代码
题目:自定义一个用于比特平面分层的函数,给定一副8比特灰度图像(EXP3B.tif和EXP3C.tif),输出该图像第1阶至第8阶比特平面图像。
说明:函数模板为imageBit = myImageBitPlaneSlicing(img);其中,输入参数img为一幅m×n×1的8比特图像;输出参数imageBit为一个3维数组,即imageBit为一个m×n×i (i= 1, 2, …, 8)的矩阵,要求该矩阵的第i个通道上存储第i阶比特平面图像,其中最低阶比特平面为i = 1的比特平面。
实现思路:
像素是由比特组成的数字,一幅8比特图像可看为8个1比特图像组成,所以我们可以尝试将图像数据转化为二进制字符串,再来判断每个像素的二进制中的某位是否为1,对此做出相应的处理。
流程:
1. 将图像数据转为double类型的,这样比较节省储存空间
2. 获取图像的高r和宽c
3. 定义一个8层的 r X c的零矩阵,用于存放最后的结果
4. 将图像数据转换为8位的二进制字符串,便于判断位于第几比特平面
5. 将图像的二进制字符串矩阵转化为[r,c,8]的矩阵
6. 遍历每个像素点,取出矩阵中每个像素点的二进制数,并遍历二进制数的每一位的值,判断是否为1,若为1则赋值为1,否则赋值为0
7.依次输出每一层的图像
实现效果:
实现源代码:
function imageBit = myImageBitPlaneSlicing(img)
img = double(img);%将图像数据转为double类型的,这样比较节省储存空间
[r,c] = size(img)
imageBit = zeros(r,c,8);%定义一个8层的 r X c的零矩阵
img_bin = dec2bin(img,8);%将图像数据转换为二进制字符串,便于判断位于第几比特平面
[r1,c1] = size(img_bin)%此时矩阵的大小为[r * c,8]
img_bin = reshape(img_bin(:),r,c,c1);%将图像的二进制矩阵转化为[r,c,8]的矩阵
%[r,c,l] = size(img_bin)%此时大小为[r,c,8]
for i = 1 :r
for j = 1:c
temp = img_bin(i,j,:);%取出矩阵中每个像素点的二进制数
for k = 1:8
if isequal(temp(9-k),48)%int('1')=48,判断第k位二进制数是否为'1'
imageBit(i,j,k) = 0;
else
imageBit(i,j,k) = 1;
end
end
end
end
end
clc;
clear;
close all;
img1 = imread('EXP3B.tif');
imageBit1 = myImageBitPlaneSlicing(img1);
figure('name','比特平面分层 EXP3B.tif');
subplot(3,3,1);
imshow(img1);
title('原始图像:EXP3B.tif');
for i = 1:8
subplot(3,3,i 1);
imshow(imageBit1(:,:,i))
title(['第',num2str(i),'比特平面']);
end
来源:http://www.icode9.com/content-4-69501.html
比特平面重建图像matlab,matlab实现 图像的比特平面分层 代码相关推荐
- 【图像重建】基于matlab字典学习KSVD图像低秩重建【含Matlab源码 1762期】
⛄一.低秩稀疏图像重建简介 1 矩阵的低秩稀疏分解理论 从数学上讲, 矩阵的秩反应了矩阵的固有属性, 矩阵的低秩性是指矩阵的秩相对于矩阵的行数和列数而言很小.低秩矩阵稀疏分解模型是将已知矩阵M (M∈ ...
- 图像的读取 matlab,Matlab编程环境下图像的读取
<Matlab编程环境下图像的读取>由会员分享,可在线阅读,更多相关<Matlab编程环境下图像的读取(7页珍藏版)>请在人人文库网上搜索. 1.实验一 Matlab编程环境下 ...
- matlab图像水印技术研究,动态图像数字水印matlab的实现开题报告.doc
您所在位置:网站首页 > 海量文档  > 计算机 > matlab 动态图像数字水印matlab的实现开题报告.doc ...
- 图像的 matlab代码,常用的一些图像处理Matlab源代码
#1:数字图像矩阵数据的显示及其傅立叶变换 #2:二维离散余弦变换的图像压缩 #3:采用灰度变换的方法增强图像的对比度 #4:直方图均匀化 #5:模拟图像受高斯白噪声和椒盐噪声的影响 #6:采用二维中 ...
- MATLAB图形图像处理——图像灰度变换
MATLAB图形图像处理--图像灰度变换 一.MATLAB入门知识 1.什么是MATLAB 2.MATLAB处理图像 图像数据 数据类型 位深 函数 imread imwrite 二.图像灰度变换基础 ...
- 用Matlab编程实现图像的傅立叶变换和逆变换并显示出来
用Matlab编程实现图像的傅立叶变换和逆变换并显示出来 % 用Matlab编程实现图像的傅立叶变换并显示出来 % 可进行傅立叶变换和逆变换恢复 clear all close all clc I=i ...
- matlab一般函数的绘制方法,基于MATLAB的函数图像绘制方法
C DOI:10.16707~.cnki.fjpc.2017.01.084 E 晒 亍嚣 基于 MATLAB的函数图像绘制方法 张笑笑 一,童 键 z (1湖南省长沙市第一中学 湖南 长沙 410() ...
- Matlab数字图像处理——图像的空间变换
Matlab空间变换函数 imtransform Matlab空间变换函数 imtransform 可以实现图像仿射变换(如 平移.旋转.剪切.缩放).投影变换, 该函数可与 maketform 配合 ...
- 【图像修复】基于matlab深度信息图像修复【含Matlab源码 2299期】
⛄一.深度信息图像修复简介 0 引言 图像修复是指对待修复图像中缺损的部分,利用已有的图像信息对缺损区域进行修复,是计算机图像和视觉中的研究热点之一.在图像修复领域,通常采用的是基于块的纹理合成的修复 ...
最新文章
- Android 7.0 源码分析项目一期竣工啦
- 基于京东手机销售数据用回归决策树预测价格
- mysql 有ntext_深入char、varchar、text和nchar、nvarchar、ntext的区别详解
- python的f-string 格式化字符串
- Linux 源码编译安装过程-以安装XZ解压为例
- pytorch 构造读取数据的工具类 Dataset 与 DataLoader (pytorch Data学习一)
- 亚马逊出的平板电脑_亚马逊推出新款平板电脑,售价90美元
- struts入门实例
- excel单元格内回车换行
- 帝国插件自动采集文章主动推送给搜索引擎自动安装目录
- 敏捷迭代开发——Time-Boxing时间盒
- 来也科技收购Mindsay背后:新旧势力交锋智能自动化备受关注
- 重庆“易法院”上线 民众足不出户参与诉讼全过程
- 基于云的产品上线部署qqfarm
- 已解决:Failure to find com.oracle:ojdbc6:jar:11.2.0.4.0-atlassian-hosted
- 从零开始 教你如何搭建Discuz!4.1论坛(图)
- AXURE原型设计:数据可视化设计
- 编程读取Revit中材料的渲染属性
- 使用Java语言输出水仙花数,详细解答
- 宣传片拍摄过程详细解析
热门文章
- linux 限额系统,Linux中的磁盘限额点点滴滴
- 【硬刚大数据】2021年从零到大数据专家之数据仓库篇
- mysql全文索引定义语法分析器
- 分享内容至第三方应用(QQ,微信好友,朋友圈)
- 【优质推荐】RedisCluster集群模式深入分析
- 机器人足球仿真第二次作业
- 牛听听显示服务器正在升级,升级了牛听听读书牛3.0版本,陪着孩子玩的停不下来...
- 华为android能用几年,华为手机能用几年 一般智能手机能用多少年
- 洗衣服wash 题解
- 海岛大亨6(Tropico 6) for Mac v11 模拟经营类游戏中文版下载