当前位置: 首页 > wzjs >正文

做网站需要知道什么厦门人才网唯一官方网站

做网站需要知道什么,厦门人才网唯一官方网站,沂南网站建设,2017网站发展趋势实验题目:图像压缩编码 实验目的:理解游程编码原理,掌握其实现方法;理解离散余弦变换编码原理,掌握其实现方法;对实验结果进行分析,得出实验结论并撰写实…

实验题目:图像压缩编码                                     

实验目的:理解游程编码原理,掌握其实现方法;理解离散余弦变换编码原理,掌握其实现方法;对实验结果进行分析,得出实验结论并撰写实验报告。

实验环境:(硬件和软件)  PC机、 Matlab软件                                                             

实验内容:

(1)基于游程编码的图像压缩。

(2)基于离散余弦变换的图像压缩。

实验(1)步骤

(1)新建程序文件

(2)编写程序如下

% 加载图像img = imread('lena.jpg'); % 假设图像文件名为 'lena.jpg'% 如果图像是彩色的,先转换为灰度图像if size(img, 3) == 3img_gray = rgb2gray(img);elseimg_gray = img;end% 设置不同的阈值thresholds = [0.2, 0.4, 0.6];% 创建一个新的 figurefigure;% 原始灰度图像subplot(2, 2, 1);imshow(img_gray);title('实验人: zylj-2310120168');xlabel('原始灰度图像');% 阈值 0.2 的二值化图像subplot(2, 2, 2);img_bw1 = im2bw(img_gray, thresholds(1));imshow(img_bw1);title('实验人: zylj-2310120168');xlabel(['阈值: ', num2str(thresholds(1))]);% 阈值 0.4 的二值化图像subplot(2, 2, 3);img_bw2 = im2bw(img_gray, thresholds(2));imshow(img_bw2);title('实验人: zylj-2310120168');xlabel(['阈值: ', num2str(thresholds(2))]);% 阈值 0.6 的二值化图像subplot(2, 2, 4);img_bw3 = im2bw(img_gray, thresholds(3));imshow(img_bw3);title('实验人: zylj-2310120168');xlabel(['阈值: ', num2str(thresholds(3))]);% 计算压缩比original_bits = 8; % 原始灰度图像每像素 8 位compressed_bits = 1; % 二值化图像每像素 1 位compression_ratio = original_bits / compressed_bits;% 输出压缩比结果fprintf('压缩比为 %.1f:1\n', compression_ratio);

(3)运行程序

实验(2)步骤

(1)新建程序文件

(2)编写程序如下

% 加载图像img = imread('lena.jpg'); % 假设图像文件名为 'lena.jpg'% 如果图像是彩色的,先转换为灰度图像if size(img, 3) == 3img_gray = rgb2gray(img);elseimg_gray = img;end% 归一化到 [0, 1]img_normalized = double(img_gray) / 255;% 设置 DCT 块大小block_size = 8;% 设置模板矩阵mask1 = [1 1 1 1 1 0 0 0;1 1 1 1 0 0 0 0;1 1 1 0 0 0 0 0;1 1 0 0 0 0 0 0;1 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0];mask2 = [1 1 1 1 0 0 0 0;1 1 1 1 0 0 0 0;1 1 0 0 0 0 0 0;1 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0];mask3 = [1 1 1 0 0 0 0 0;1 1 1 0 0 0 0 0;1 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0];% 创建一个新的 figurefigure;% 原始灰度图像subplot(2, 2, 1);imshow(img_gray, []);title('实验人: zylj-2310120168');xlabel('原始灰度图像');% 使用 mask1 压缩reconstructed_img1 = dct_compress(img_normalized, mask1, block_size);subplot(2, 2, 2);imshow(reconstructed_img1, []);title('实验人: zylj-2310120168');xlabel(['mask1 均方误差: ', num2str(calculate_mse(img_normalized, reconstructed_img1))]);% 使用 mask2 压缩reconstructed_img2 = dct_compress(img_normalized, mask2, block_size);subplot(2, 2, 3);imshow(reconstructed_img2, []);title('实验人: zylj-2310120168');xlabel(['mask2 均方误差: ', num2str(calculate_mse(img_normalized, reconstructed_img2))]);% 使用 mask3 压缩reconstructed_img3 = dct_compress(img_normalized, mask3, block_size);subplot(2, 2, 4);imshow(reconstructed_img3, []);title('实验人: zylj-2310120168');xlabel(['mask3 均方误差: ', num2str(calculate_mse(img_normalized, reconstructed_img3))]);% 计算均方误差的函数function mse = calculate_mse(original, compressed)mse = mean((original - compressed).^2, 'all');end% DCT 压缩和重建函数function reconstructed_img = dct_compress(img, mask, block_size)[rows, cols] = size(img);reconstructed_img = zeros(rows, cols);% 扩展 mask 到图像大小mask_extended = repmat(mask, ceil(rows / block_size), ceil(cols / block_size));mask_extended = mask_extended(1:rows, 1:cols);for i = 1:block_size:rowsfor j = 1:block_size:cols% 提取块block = img(i:min(i+block_size-1, rows), j:min(j+block_size-1, cols));% DCT 变换dct_block = dct2(block);% 应用模板dct_block = dct_block .* mask_extended(i:min(i+block_size-1, rows), j:min(j+block_size-1, cols));% 逆 DCT 变换idct_block = idct2(dct_block);% 重建图像reconstructed_img(i:min(i+block_size-1, rows), j:min(j+block_size-1, cols)) = idct_block;endendend

实验数据记录:

图片暂时不予提供

问题讨论:

图像二值化

基本原理:图像二值化是将灰度图像转换为二值图像的过程,通过设定一个阈值,将图像中的像素值分为两类,即前景和背景。通常,前景像素值为 1(白色),背景像素值为 0(黑色)。

压缩比计算:二值化图像的压缩比为 8:1,因为二值化图像每个像素只用 1 位表示,而原始灰度图像每个像素用 8 位表示。

阈值选择的影响:不同的阈值会影响二值化图像的视觉效果。较低的阈值会使更多的像素被识别为前景,图像细节更丰富,但可能会引入噪声;较高的阈值会使图像更简洁,但可能会丢失一些细节。

应用场景:图像二值化在文档处理、字符识别、目标检测等领域有广泛应用。它能够简化图像处理流程,提高处理效率,同时减少存储需求。

DCT 压缩

基本原理:DCT(离散余弦变换)压缩是一种基于变换编码的图像压缩技术。它通过将图像分成小块(通常是 8x8 的块),对每块进行 DCT 变换,然后对变换后的系数进行量化和编码,从而实现图像的压缩。

模板矩阵的作用:模板矩阵用于选择保留的低频系数和舍弃的高频系数。不同的模板矩阵会影响压缩效果和图像质量。保留更多的低频系数可以提高图像质量,但会降低压缩比;反之,舍弃更多的高频系数可以提高压缩比,但会降低图像质量。

均方误差(MSE):均方误差是衡量原始图像和压缩图像之间差异的指标。MSE 越小,表示压缩图像与原始图像越接近,图像质量越高。

应用场景:DCT 压缩在图像和视频压缩领域有广泛应用,如 JPEG 图像压缩和 MPEG 视频压缩。它能够在保证一定图像质量的同时,显著减少存储需求和传输带宽。

辩证分析

图像二值化与 DCT 压缩的比较:

压缩比:图像二值化具有固定的压缩比(8:1),而 DCT 压缩的压缩比可以通过调整模板矩阵灵活控制。

图像质量:图像二值化会丢失大量细节信息,适合简单的二值图像处理;DCT 压缩通过保留低频系数,在压缩比和图像质量之间取得平衡,适合复杂图像的压缩。

应用场景:图像二值化适用于需要简化图像处理流程的场景,如文档处理和字符识别;DCT 压缩适用于需要在压缩比和图像质量之间取得平衡的场景,如图像和视频存储与传输。

多方面看问题:

技术原理:图像二值化和 DCT 压缩虽然原理不同,但都旨在通过减少冗余信息实现图像压缩。

应用场景:不同的压缩技术适用于不同的应用场景,需要根据具体需求选择合适的方法。

优缺点:图像二值化简单高效,但丢失大量细节;DCT 压缩灵活可控,但计算复杂度较高。

综上所述,图像二值化和 DCT 压缩各有优缺点,适用于不同的应用场景。在实际应用中,需要根据具体需求选择合适的方法,以在压缩比和图像质量之间取得最佳平衡

http://www.dtcms.com/wzjs/101074.html

相关文章:

  • php做网站速成行业关键词分类
  • diango是做网站的后端吗google seo是什么
  • 网站出售成人企业管理培训课程
  • 如何提高你的网站的粘性广州网站建设方案维护
  • 寿光网站建设价格关键词排名优化软件策略
  • 开发一个网站平台多少钱举例说明seo
  • 做app封装的网站刘雯每日资讯
  • 重庆市门户网站制作从哪里找网络推广公司
  • 北仑网站推广网络营销推广的特点
  • 延安做网站的公司电话seo排名工具哪个好
  • 织梦模板下载商城网站模板(高端大气上档次:带数据)快速排名工具免费
  • 攀枝花建设工程质量监督站投诉网站海南网站建设
  • 国外免费注册域名的网站怎么知道自己的域名
  • 网店代运营网站怎么进入百度推广账户
  • 网站 做 专家问答最常见企业网站有哪些
  • 莱西做网站搜外
  • wordpress 4.7.5企业站seo外包
  • 宜黄住房和城乡建设部网站如何建立一个网站平台
  • 专业网站建设推荐职业技能培训中心
  • vue 做企业网站行不美食软文300字
  • 智慧景区网站建设免费学生网页制作成品
  • 建网站做日租房燕郊今日头条
  • 做外贸主要在那些网站找单郑州推广优化公司
  • 核酸二维码seo搜索优化推广
  • 网站域名如何从代理商那里转出来自媒体引流推广
  • 网站建设分析书引言国外搜索引擎排名
  • 新媒体 网站建设推广策划
  • flash 网站 源码市场营销策划书范文5篇精选
  • wordpress付费插件网站seo推广排名平台有哪些
  • 广州正规网站建设有哪些互联网广告推广公司