数据压缩第三次作业

数据压缩之降维(一)——PCA降维 学习《python machine learning》chapter5——Compressing data via dimensionality reduction 主要内容如下: (1)主要成分分析 Principal Component Analysis (PCA) ——非监督学习 (2)线性判别分析 Linear Discriminant Analysis (LDA) ——监督学习 ... 阅读详情

作业3:读入一个24bitRGB文件(以down.rgb为例,其分辨率为256*256),输出该数据文件中R、G、B三个分量(各8bit表示)的概率分布示意图(类似下图)和熵。

MATLAB代码
clc;
close all;
clear all;

file1=fopen(“down.rgb”);
X=fread(file1);%读入文件
L=length(X);
R=zeros(256,1);
G=zeros(256,1);
B=zeros(256,1);
for i=1:L
if mod(i,3)==0
R(X(i)+1)=R(X(i)+1)+1;
elseif mod(i,3)==2
G(X(i)+1)=G(X(i)+1)+1;
elseif mod(i,3)==1
B(X(i)+1)=B(X(i)+1)+1;
end
end%用被3除取余数的方法判断是哪一个分量
plot(0:255,R,‘R’);
hold on;
plot(0:255,G,‘G’);
hold on;
plot(0:255,B,‘B’);

MATLAB运行结果在这里插入图片描述

C++代码

#include<stdio.h>
#include<iostream>
#include<math.h>
using namespace std;
const int width = 256;
const int height = 256;

int main()
{
	const int size = width * height * 3;
	FILE *p;
	if ((p = fopen("down.rgb", "rb")) == NULL)
		cout << "file not opened."<<endl;
	else
		cout << "file opened."<<endl;//判断是否打开文件
	unsigned char a[size];
	unsigned char R[width * height] = { 0 };
	unsigned char G[width * height] = { 0 };
	unsigned char B[width * height] = { 0 };
	fread(a, sizeof(unsigned char),size, p);
	int x = 0;
	int y = 0;
	int z = 0;
	for (int i = 0; i < width * height * 3; i++)
	{
		if (i % 3 == 0)
		{
			B[x] = a[i];
			x++;
		}
		else if (i % 3 == 1)
		{
			G[y] = a[i];
			y++;
		}
		else if (i % 3 == 2)
		{
			R[z] = a[i];
			z++;
		}
	}//用被3除求余数的方法判断是RGB哪个分量
	int RT[256] = { 0 };
	int GT[256] = { 0 };
	int BT[256] = { 0 };
	for (int i = 0; i < 256; i++)
	{
		for (int j = 0; j < width * height; j++)
		{
			if (i == R[j])
				RT[i]++;
			if (i == G[j])
				GT[i]++;
			if (i == B[j])
				BT[i]++;
		}
	}//统计各分量出现的次数
	double RF[256] = { 0 };
	double GF[256] = { 0 };
	double BF[256] = { 0 };
	for (int i = 0; i < 256; i++) {
		RF[i] = double(RT[i]) / (width * height);
		GF[i] = double(GT[i]) / (width * height);
		BF[i] = double(BT[i]) / (width * height);
	}//计算各分量的频率
	FILE *r;
	FILE *g;
	FILE *b;
	if ((r = fopen("r.txt", "w")) == NULL)
		cout<<"file not opened."<<endl;
	else
		cout<<"flie opened."<<endl;
	if ((g = fopen("g.txt", "w")) == NULL)
		cout << "file not opened."<<endl;
	else
		cout << "flie opened." << endl;
	if ((b = fopen("b.txt", "w")) == NULL)
		cout << "file not opened."<<endl;
	else
		cout << "flie opened." << endl;//创建txt文件用来存放各分量数据
	fprintf(r, "symbol\tfrequency\n");
	for (int i = 0; i < 256; i++)
	{
		fprintf(r, "%d\t%f\n", i, RF[i]);
	}
	fprintf(g, "symbol\tfrequency\n");
	for (int i = 0; i < 256; i++)
	{
		fprintf(g, "%d\t%f\n", i, GF[i]);
	}
	fprintf(b, "symbol\tfrequency\n");
	for (int i = 0; i < 256; i++)
	{
		fprintf(b, "%d\t%f\n", i, BF[i]);
	}//写入各分量数据
	double HR = 0;
	double HG = 0;
	double HB = 0;
	for (int i = 0; i < 256; i++) {
		if (RF[i] != 0)
			HR = HR - RF[i] * log(RF[i]) / log(2);
		if (GF[i] != 0)
			HG = HG - GF[i] * log(GF[i]) / log(2);
		if (BF[i] != 0)
			HB = HB - BF[i] * log(BF[i]) / log(2);
	}//计算各分量的熵值
	cout << "H(R)=" << HR <<endl;
	cout << "H(G)=" << HG << endl;
	cout << "H(B)=" << HB << endl;
	fclose(p);
	fclose(r);
	fclose(g);
	fclose(b);
	return 0;
}

C++运行结果
在这里插入图片描述
在这里插入图片描述

Hadoop数据压缩总结 觉得有帮助的,请多多支持博主,点赞关注哦~ 文章目录Hadoop数据压缩一、概述二、MR 支持的压缩编码1、压缩格式2、编码/解码器3、压缩性能的比较三、压缩方式选择1、Gzip 压缩2、Bzip2 压缩3、Lzo 压缩4、Snappy 压缩四、压缩位置选择五、压缩位置选择六、压缩实操案例1、数据流的压缩和解压缩2、Map 输出端采用压缩3、Reduce 输出端采用压缩 Hadoop数据压缩 一、... 阅读详情

相关推荐

VS2022打包C#安装包(最新、最全)

VS2022打包C#安装包(最新、最全)

qq_37959253的博客 9901

人工智能基础——数据压缩

因此,数据压缩作为一种重要的技术手段,在人工智能的发展中扮演着至关重要的角色。这种压缩技术包括剪枝、量化、知识蒸馏等多种方法,可以在不明显降低模型性能的情况下,大幅减小模型的体积,提高模型的效率和部署性。随着人工智能技术的不断发展,相信数据压缩技术也会在未来发挥更为重要的作用,为人工智能的发展和应用带来更多的可能性和机遇。常见的图像压缩方法包括JPEG、PNG等,它们可以在尽量保持图像质量的前提下,显著减小图像的体积。在人工智能中,数据压缩有着广泛的应用,包括但不限于模型压缩、图像压缩、语音压缩等领域。

m0_70911440的博客 386

SFF-8654接口引脚定义全解析:从SAS到U.2的高速硬件连接核心

在高速数据存储与传输领域,接口标准是连接主机与存储设备、确保信号完整性与协议互通性的物理基础。其核心原理在于通过精确定义的物理引脚和电气特性,承载不同的高速串行通信协议,如SAS和PCIe。这类高密度连接器的技术价值在于以紧凑的形态支持多协议兼容与高速率传输,满足了企业级存储、高性能计算对带宽和可靠性的苛刻要求。典型的应用场景包括服务器硬盘背板连接、NVMe U.2固态硬盘直连以及外部存储扩展。本文聚焦于SFF-8654(亦称Mini SAS HD)这一关键接口,深入剖析其引脚定义、信号分区(如高速数据通道

weixin_29188043的博客 711

伯克利人工智能研究院开源深度学习数据压缩方法Bit-Swap,性能创新高

(图片付费下载自视觉中国)作者 | Friso Kingma译者 | Tianyu责编 | 夕颜出品 | AI科技大本营(ID: rgznai100)【导读】在本篇文章中...

AI科技大本营 2671

网络安全学习路线是怎样的?

为什么要学习安全? 近几年网络安全事件层出不穷,相信大家哪怕没遇到过,但也听过不少了吧。如服务器遭受入侵被黑,用户帐号被盗;被钓鱼、勒索病毒等,这些一旦发生,对企业而言都是不小的打击。因此,网络安全不容忽视,同时随着时代的不断发展,公司对于运维及网络工程师要求也越来越严格。未来越来越吃香的一定是技能方向广的复合型人才。网络安全可以说是一条非常好的发展道路。 今年两会期间,全国政协委员,360集团创始人、董事长周鸿祎提交了关于网络安全行业特殊人才的提案,为广大白帽子人员争取更好...

网安技术分享 8697

【数字图像相关-OpenCorr学习笔记】Epipolar search原理+代码解析

OpenCorr是一个开源C++库,用于研究和开发数字图像相关(DIC)技术它提供了2D和立体声DIC的全功能模块,以及数字体积相关(DVC)。最近正在学习OpenCorr,为了更深层次地理解ICGN,我打算浅浅剖析Opencorr的代码,学习的过程中写下这篇学习笔记,以后忘记了还能回来看看。同时,作为一名在读研究生,希望能得到社区大佬的指点,以及跟同学们一起学习进步。这一期主要讲解Eipipolar search的原理,并且附上部分代码解析。

ywyywyy的博客 1356

多维化计算机数据压缩方法

多维化计算机数据压缩方法 概述 本方法是一种完全不同于传统数据字典模式的压缩算法,借助数据空间的相关概念,本方法将计算机二进制数据进行了多维化处理,再通过空间几何体互动的方式对重复的二进制数据进行压缩处理。 因此,本方法是对现有各种压缩类算法的补充,在其他压缩技术输出的文件上使用本方法仍然可以将数据进行重复压缩处理,如常见的zip/7z/rar等格式的压缩文件,也包括经过H264/H265等流媒

NeilH的专栏 1329

QT应用编程: Win10系统下QT5.12搭建Android开发环境(配件齐全)

在win10系统下,搭建QT5.12.6 的Android开发环境。

7688

压缩人工智能的数据值

压缩人工智能的数据值 Squeezing the value out of data for AI 数据是一切-在许多方面,是唯一的东西-自动驾驶汽车(AVs)供应商依赖深度学习作为自动驾驶的关键。 数据是AV公司在公路上积累大量测试经验的原因,记录并储存了数PB(petabytes)的道路知识。例如,Waymo在7月份宣称在现实世界中超过1000万英里,在模拟中超过100亿英里。 不过,还有一个问题业界不愿意问: 假设AV公司已经在实际道路上收集了数PB(petabytes)甚至EB(exabytes)的

吴建明wujianming_110117 486

【Claude Code 源码解析教程】总体大纲

本教程旨在深入解析 Anthropic Claude Code 项目的源码架构和实现细节。Claude Code 是一个基于 TypeScript + Bun 构建的 AI 编程助手 CLI 工具,代号 "Tengu",具有复杂的多模块架构和丰富的功能特性。本教程基于Claude Code 的源码分析来生成,将帮助您全面掌握 Claude Code 的源码架构和实现细节,为开发类似 AI 编程助手工具奠定坚实基础。

rengang66的博客 387

基于C#开发ABB机器人上位机系统:从操作控制到数据交互的全方位实现

ABB工业机器人是世界领先的自动化设备之一,广泛应用于焊接、装配、搬运、喷涂、包装等多个行业。机器人控制器:用于控制机器人运动、路径规划、状态监控等。上位机系统:提供人机交互界面,允许操作员与机器人进行交互,实现实时控制、参数调整和数据分析。上位机系统通过与机器人控制器通信,采集机器人状态数据,发送控制指令,实现远程监控和控制操作。通过高效的操作界面和数据交互,可以大大提高机器人的工作效率和系统的可维护性。基于C#开发ABB机器人上位机系统,能够实现高效的机器人控制与实时数据交互。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1178

数据压缩第三次作业-RGB文件的读取

数据压缩第三次作业-RGB文件的读取 读入一个24bitRGB文件(以down.rgb为例,其分辨率为256*256),输出该数据文件中R、G、B三个分量(各8bit表示)的概率分布示意图和熵。 一、思路及代码 结合上个小学期视频处理的练习,在C中打开处理文件的思路主要分为以下几个部分: 1.创建文件-fopen 2.创建内存空间-buffer malloc 3.读取文件-fread 4.处理-m...

Big__Koala的博客 596

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

【数据压缩】第三次作业——WAV文件分析

WAV文件分析 文章目录WAV文件分析问题回答AVI文件格式音频和视频的数据是如何放置的?交织放置 or 连续放置?一个视频帧大约占据多少字节?一个音频数据块大约占用多少字节?视频音频wav文件分析概述文件格式所选音频文件存储格式RIFF Chunk文件信息块fmt数据块DataLIST数据块参考文献 问题回答 AVI文件格式 avi的二进制文件是按小端原则存放的,即数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中。 打开一个avi文件: 音频和视频的数据是如何放置的?交织放置 or 连

QKKKKathy的博客 3018

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

数据压缩 第三次作业

2.利用程序huff_enc和huff_dec进行以下操作(在每种情况下,利用由被压缩图像生成的码本)。 (a)对Sena,Sensin和Omaha图像进行编码。 文件名 压缩前 压缩后 压缩比 sena 64.0k 56.1k 87.65% omaha 64.0k 57.0k 89.06% sinan 64.0k 60.2k ...

weixin_30825581的博客 124

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Hadoop数据压缩

hive程序,streaming程序,和java写的mapreduce程序完全和文本处理一样,压缩之后原来的程序不需要做任何修改。在应用中对lzo格式的文件需要做一些特殊处理(为了支持split需要建索引,还需要指定inputformat为lzo格式)。输出之后的数据比较大,处理之后的数据需要压缩存档减少磁盘空间并且以后数据用得比较少的情况。不过,尽管压缩与解压操作的CPU开销不高,其性能的提升和资源的节省并非没有代价。,将其以压缩格式写入底层的流。适合对速度要求不高,但需要较高的压缩率的时候,可以作为。

qq_15304885的博客 781

【python第三次作业】

答:最大堆(Max Heap)1.核心定义在最大堆中,每个父节点的值都大于或等于其左右子节点的值(即 “父 ≥ 子”)。堆的根节点(最顶层节点)是整个堆中最大的元素。子树同样满足最大堆属性(任意子树的根节点是该子树的最大值)。最小堆(Min Heap)核心定义:在最小堆中,每个父节点的值都小于或等于其左右子节点的值(即 “父 ≤ 子”)。堆的根节点是整个堆中最小的元素。子树同样满足最小堆属性(任意子树的根节点是该子树的最小值)。

2401_83287599的博客 961

第三次作业

一、 参考书《数据压缩导论(第4版)》 Page 100 5.给定如表所示的概率模型,求出序列a1a1a3a2a3a1的实值标签。 字母 概率 a1 a2 a3 0.2 0.3 0.5   答:由题可知,p(a1)=0.2, p(a2)=0.3, p(a3)=0.5     因为x(ai)=i, 所...

babeiz15833的博客 117

数据压缩第四次作业

彩色空间转换 实验一:RGB转YUV 转换前的原图片: 代码实现: #include <iostream> #include<cstdlib> using namespace std; int main() { FILE* down; FILE* YUV; const int width = 256; const int height = 256; int ...

qq_43302685的博客 221

第三次作业 黄学才

一、参考书《数据压缩导论(第4版)》 Page 100 5, 6 5、给定如表4-9所示的概率模型,求出序列a1a1a3a2a3a1的实值标签。 解:由上图可知, p(a1)=0.2 ,p(a2)=0.3 ,p(a3)=0.5 FX(0)=0,FX(1)=0.2 ,F...

abcson9090的博客 117

数据压缩第一次作业

教材习题: 1-1:数据压缩就是以最少的数码表示信源所发的信号,减少容纳给定消息集合或数据采样集合的信号空间。从而减少存储空间,提高其传输、存储和处理效率。 1-2:由于科技的快速发展,信息时代带来了信息爆炸,数据压缩的作用及其社会效益、经济效益将来越来越明显。反之,如果不进行数据压缩,则无论传输或存储都很难实用化。而数据压缩的好处在于: 较快地传输各种信源时...

a7107728447的博客 218
上一篇: 数据压缩第二次作业
下一篇: 数据压缩实验报告1 彩色空间转换
タン
博客等级 码龄8年 15粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值