[DNN学习所得]让IE也能实现解压缩功能(提供演示源码下载)

ubuntu18.04安装opencv3.4.0及opencv_contrib3.4.0 解压缩 opencv3.4.0下载地址: https://fei0917.lanzous.com/iCObcembxsd opencv_contrib3.4.0下载地址: https://fei0917.lanzous.com/iaNqSembyzg 将下载的opencv3.4.0及opencv3.4.0_contrib解压,并将opencv3.4.0_contrib的文件夹放到opencv3.4.0的文件夹中。 环境配置 在正式安装opencv以前,需要先配置环境,否则安装opencv后不能正常使用。在 阅读详情
 

  在看DNN时发现了一个很酷的功能:能通过IE浏览器实现对Zip文件的压缩和生成Zip文件文件压缩包的功能。在仔细看过程序以后发现它是调用的SharpZipLib.dll类库中的内容实现的压缩与解压功能。上网查了一下SharpZipLib,发现它居然是开源的,在http://www.icsharpcode.net网站上有下。在网站里关于SharpZipLib的源文件和调用演示包括帮助文档都有下,不过当然全是E文的。(真不知在中国有哪家公司在做.net的开源,真的十分想看国产的优秀开源项目)

在SharpZipLib中实现解压的方法(演示代码):

using  System;
using  System.Text;
using  System.Collections;
using  System.IO;
using  System.Diagnostics;
using  System.Runtime.Serialization.Formatters.Binary;
using  System.Data;

using  ICSharpCode.SharpZipLib.BZip2;
using  ICSharpCode.SharpZipLib.Zip;
using  ICSharpCode.SharpZipLib.Zip.Compression;
using  ICSharpCode.SharpZipLib.Zip.Compression.Streams;
using  ICSharpCode.SharpZipLib.GZip;


class  MainClass
{            
    
// 在控制命令行下输入要解压的Zip文件名
    public static void Main(string[] args)
    
{
        
// 创建读取Zip文件对象
        ZipInputStream s = new ZipInputStream(File.OpenRead(args[0]));
        
// Zip文件中的每一个文件
        ZipEntry theEntry;
        
// 循环读取Zip文件中的每一个文件
        while ((theEntry = s.GetNextEntry()) != null) {
            
            Console.WriteLine(theEntry.Name);
            
            
string directoryName = Path.GetDirectoryName(theEntry.Name);
            
string fileName      = Path.GetFileName(theEntry.Name);
            
            
// create directory
            Directory.CreateDirectory(directoryName);
            
            
if (fileName != String.Empty) {
                
// 解压文件
                FileStream streamWriter = File.Create(theEntry.Name);
                
                
int size = 2048;
                
byte[] data = new byte[2048];
                
while (true) {
                    
// 写入数据
                    size = s.Read(data, 0, data.Length);
                    
if (size > 0) {
                        streamWriter.Write(data, 
0, size);
                    }
 else {
                        
break;
                    }

                }

                
                streamWriter.Close();
            }

        }

        s.Close();
    }

}

在SharpZipLib中实现压缩的方法:
using  System;
using  System.IO;

using  ICSharpCode.SharpZipLib.Checksums;
using  ICSharpCode.SharpZipLib.Zip;
using  ICSharpCode.SharpZipLib.GZip;

class  MainClass
{
    
// 输入要压缩的文件夹和要创建的Zip文件文件名称
    public static void Main(string[] args)
    
{
        
string[] filenames = Directory.GetFiles(args[0]);
        
        Crc32 crc 
= new Crc32();
        
// 创建输出Zip文件对象
        ZipOutputStream s = new ZipOutputStream(File.Create(args[1]));
        
// 设置压缩等级
        s.SetLevel(6); // 0 - store only to 9 - means best compression
        
// 循环读取要压缩的文件,写入压缩包        
        foreach (string file in filenames) {
            FileStream fs 
= File.OpenRead(file);
            
            
byte[] buffer = new byte[fs.Length];
            fs.Read(buffer, 
0, buffer.Length);
            ZipEntry entry 
= new ZipEntry(file);
            
            entry.DateTime 
= DateTime.Now;
            
            entry.Size 
= fs.Length;
            fs.Close();
            
            crc.Reset();
            crc.Update(buffer);
            
            entry.Crc  
= crc.Value;
            
            s.PutNextEntry(entry);
            
            s.Write(buffer, 
0, buffer.Length);
            
        }

        
        s.Finish();
        s.Close();
    }

}

  类中应该还有其他功能,还没有来得及看。具体SharpZipLib中是如何实行的也还没有来得及看,先试一试最简单功能,大家有兴趣可以下载看看。默认提供的演示程序是控制台下运行的(好像还有其他环境中运行的,不过我没有试),我照着做了一个WEB应用程序的,希望能对大家有用。

下载WEB下的演示程序>>
更多相关内容>>

MATLAB实现深度神经网络的时间序列多步预测 深度神经网络(Deep Neural Network, DNN)是一种在人工智能领域得到广泛应用的机器学习模型,它通过模拟人类大脑的神经元工作方式,利用大量数据进行学习训练,从而实现对复杂模式的识别。DNN通过多层的非线性变换,能够处理和提取数据中的高层次特征,成为解决各类问题,包括图像识别、语音识别和自然语言处理等领域的关键技术。时间序列预测是指根据历史时间序列数据,预测未来某一时间点或时间范围内的数据点,广泛应用于经济、金融、气象、能源管理等多个领域。 阅读详情

相关推荐

Deep Learning 经典文章与代码(matlab)

有深度学习中必读经典,以及相应的matlab代码。 此外,文章中本人做的笔记,希望能帮助大家更好的理解。 文章为:1.A fast learning algorithm for deep belief nets(Hinton) 2. Learning Deep Architectures for AI (Bengio) 3. A Practical Guide to Training Restricted Boltzmann Machines(Hinton) 等。。 code 为经典的deep learning tool(matlab版),有DBN,NN,CNN,etc。

DNN多输入多输出 | MATLAB实现DNN全连接神经网络多输入多输出

深度神经网络 (DNN) 凭借其强大的非线性拟合能力,在诸多领域取得了显著成果。然而,传统的DNN模型通常只考虑单一输入和单一输出。在实际应用中,许多问题涉及多个输入变量和多个输出变量,例如,多变量时间序列预测、多目标图像识别以及多传感器数据融合等。因此,构建能够处理多输入多输出 (MIMO) 数据的DNN模型显得尤为重要。本文将深入探讨DNN MIMO的原理,并结合MATLAB平台,详细阐述如何实现一个全连接DNN MIMO模型。一、 DNN MIMO的原理。

Matlab_dashi的博客 1227

深度学习matlab代码

hinton论文代码注解 Matlab示例代码为两部分,分别对应不同的论文: 1. Reducing the Dimensionality of data with neural networks   ministdeepauto.m backprop.m rbmhidlinear.m 2. A fast learing algorithm for deep belief net   mnistclassify.m   backpropclassfy.m

【DNN回归预测】基于DNN神经网络实现多输入多输出数据回归预测附matlab代码

1]张嘉纹, 党小宇, 杨凌辉,等. 海面短波地波通信中基于DNN神经网络的单样本极化滤波器预测研究[J]. 电子学报, 2020, 48(11):2250-2257.err = any(hat_c~=c);

matlab_dingdang的博客 1393

dnnmatlab代码-MATLAB:MATLAB相关机器学习代码

dnn matlab 代码 MATLAB MATLAB 相关机器学习代码 本文件夹中的程序包括BPNN、DBN、DNN三个深度模型的MATLAB程序 对文件夹中的程序做输入下说明: 主函数为nnmain,在内部有switch结构的接口可以选择具体使用的模型; 《传递函数》文件夹中主要包括模型可选择的传递函数的子程序,包括常用的sigmoid、tanh、ReLU等; 《模型搭建与训练程序》文件夹中主要包括构建模型、模型预训练、BP训练等过程中需要的子程序; 《数据处理程序》文件夹中主要包括数据归一化、预处理、画图输出等子程序; 《结果保存》文件夹用于保存模型训练所得的结果 《data》文件夹主要用于存储用于训练和测试的数据,

dnnmatlab代码-Subspace-DNN:子空间

dnn matlab代码主意 抽象的 随着深度学习的发展,提出了一些多尺度深度神经网络(MscaleDNN)算法,并通过将高频分量缩小到低频空间而在多尺度问题上取得了显著成功。 在本文中,我们通过将均化理论和MscaleDNN算法相结合,构造了用于解决一类非线性多尺度问题的子空间分解DNN(以SDNN命名)体系结构。 这个新架构包括两部分:一个普通的DNN子模块和一个MscaleDNN子模块,它们分别用于捕获低频分量和高频分量,以解决多尺度问题。 此外,我们的新方法还精心选择了一些常见的激活功能。 特别是,为MscaleDNN模块设计了一种基于傅立叶分解和扩展的新型激活函数,极大地提高了MscaleDNN的性能。 最后,通过介绍不同维数欧几里德空间中自变量的具有不同尺度信息的$ p $ -Laplacian问题的一些数值示例,我们证明了SDNN体系结构是可行的,并且对于低值的$ p $ -Laplacian问题都具有良好的精度。和高频振荡的情况。 要求 可以在解释器python3.6或python3.7下的tensorflow--1.14或1.15中实现代码 注意 2D辅助matlab

vs 编译设置obj路径_如何编译OpenCV4.1.0支持OpenVINO推断引擎加速支持

点击上方↑↑↑“OpenCV学堂”关注我OpenVINO开发使用系列教程第十篇,如何编译OpenCV + OpenVINO支持,实现自定义版本OpenCV加速支持。好东西记得要分享!OpenVINO自发布以来,依靠其强大的加速性能,在CPU上进行深度学习模型加速优势,迅速受到很多公司与开发者的青睐,但是如何从OpenCV源码编译生成OpenVINO的inferinference engi...

weixin_39573822的博客 262

matlab开发-DNNELearningAlgorithm

matlab开发-DNNELearningAlgorithm。dnne学习算法的matlab代码

c++大型项目源码_【E2E】Tesseract5+VS2017+win10源码编译攻略

一,记录我目前在win10 X64和VS2017的环境下成功编译Tesseract5.0的方式;二,记录在VS2017 C++工程中调用Tesseract4.0的方法;三,记录编译和调用Tesseract4.0过程中踩到的坑和相应的解决方案或看法。最终结果:识别为:==================================================================...

weixin_39760434的博客 615

⭐⭐⭐全网最详细YOLOv8教程,从环境配置到自己训练,再到数据集的制作,包的各位⭐⭐⭐

问题原因:当你“pip install ultralytics” 时,torch和torchvision会作为它的依赖一起安装了,当执行“pip install torch torchvision torchaudio --index-url。”时,会卸载torch,然后再安装torch+cuda版本,但是不会自动卸载torchvision已有版本,然后再安装torchvision+cuda版本。🎉🎉🎉恭喜各位道友,已经可以训练模型了,现在就是制作自己的数据集,所谓申神通秘境,随心所欲,万物皆可识别也

weixin_74840239的博客 7492

基于STM32的简易电压、频率、占空比测量仪

任务详解:我们需要实现三个功能: 第一个是测频率的功能,输入信号为频率为1kHz~10kHz的三种波形(方波、三角波、正弦波),这也是我们最常见的三种波形。幅度是不需要测量的,所以先不关心幅度。 第二个是电压报警功能,当输入信号的幅度超过15V时,我们需要报警(这里我用了一个红色LED当报警器,有条件的还可以加个蜂鸣器)并且把此时的信号幅度显示在OLED屏幕上。 第三个是通信方式的要求,需要有串口通信功能。 第四个是计算占空比的任务,这个任务的输入是幅度为1V~10V、频率为20Hz ~1kHz的方波,需要

weixin_43469377的博客 7251

cppan 命令_攻略|Tesseract5+VS2017+win10源码编译

原标题:攻略|Tesseract5+VS2017+win10源码编译作者简介禾路,资深OpenCV开发者,擅长图像识别,融合与增强1.记录我目前在win10 X64和VS2017的环境下成功编译Tesseract5.0的方式;2. 记录在VS2017 C++工程中调用Tesseract4.0的方法;3. 记录编译和调用Tesseract4.0过程中踩到的坑和相应的解决方案或看法输入图像 1. 下...

weixin_39663970的博客 705

C#实战:如何用HslCommunication快速搞定三菱FX5U PLC通讯(附完整代码)

本文详细介绍了如何利用HslCommunication库在C#环境中快速实现与三菱FX5U PLC的通讯。通过实战代码演示,从环境搭建、建立连接、核心数据读写到构建健壮的监控服务,系统讲解了如何高效完成数据采集与交互,大幅提升工业自动化项目的开发效率。

s4t5u6v的博客 1200

Net 通常用于dll 第三方插件

log4net.dll ----记录日志 本人用能够 pangu.dll ----分词工具 用于高级搜索 拆分字词 能够非常好用 fastreport --------高速制作报表工具 本人仅仅做过webform的 资源在博客资源里 RSS.NET.dll RSS.NET是一款操作RSS feeds的开源.NET类库。它为解析和编写RSS feeds...

weixin_30687811的博客 115

C8T6和ZET6选型更换过程中出现.\Obj\Project.sct(7): error: L6235E: More than one section matches selector - cann

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、问题原因二、解决方法三、现象总结 前言 又一件离谱的事情发生了,我之前转换过程中没有发生的错误,今天拿出来程序重新编译了一下,结果他奶奶滴一个新的错误出现了,而且我还完全不知道是什么原因导致的,先上图: 一、问题原因 之前我已经尝试过更换芯片选型,但是没有出现此类问题,今天更改的时候发现了,我还以为是个偶然错误,结果换来换去,还是有这个问题,那我之前说c8t6的程序更改成zet6上跑只需改芯片选型和宏定义岂不是啪啪打.

wx18045623090的博客 1489

BLE蓝牙胎压监测

胎压监测系统新技术

qq_41851841的博客 1255

vs2017 中怎样添加stdafx_【E2E】Tesseract5+VS2017+win10源码编译攻略

一,记录我目前在win10 X64和VS2017的环境下成功编译Tesseract5.0的方式;二,记录在VS2017 C++工程中调用Tesseract4.0的方法;三,记录编译和调用Tesseract4.0过程中踩到的坑和相应的解决方案或看法。最终结果:识别为:==================================================================...

weixin_30488255的博客 100

Jetson Orin Nano GPIO 实战,用 devmem 玩转 Pinmux 引脚复用配置

devmem 是一个直接读写寄存器的工具,通过 mmap 将 /dev/mem 中的物理地址区域映射到用户空间进程地址空间,从而实现直接读写,正常情况下在 /dev 下可以看到 mem。可以看到对应 bit5 bit6 分别为 1,对应配置为 E_IO_HV 为 ENABLE 以及 E_INPUT 为 ENABLE。需要 TRM 手册查看相关寄存器,以及安装 busybox,busybox 内置了 devmem。根据 TRM 手册,找到 I2C_SDA 的 pinmux 地址偏移是 0x18。

darcsdn 1643

Photo-SLAM论文理解、环境搭建、代码理解与实测效果

目的:虽然目前基于隐式神经(NeRF)表征的SLAM系统相比传统SLAM增加了逼真视觉重建的能力,但是依赖于计算资源(违背了SLAM系统的应用需求)。作者将3DGS实时渲染能力与传统的基于稀疏特征的SLAM系统ORB-SLAM3结合,从而保证能在嵌入式平台上实时运行。创新点:基于几何特征主动致密化超级基元(hyper primitive,参数除了高斯椭球自带的位置、协方差(旋转和缩放)、密度、SH系数以外,还有ORB特征,可以理解为传统地图点和高斯椭球的结合);

weixin_42269064的博客 1683

使用AI编写测试用例——详细教程

现阶段AI还不能完全替代人工测试用例编写,但如果把AI当做一个提高效率的工具,它将会是一个很强大的辅助。

公众号|软件测试老吴 3万+

Qt入门教程【基础控件篇】QLineEdit输入框

QLineEdit输入框

小鱼酱的博客 3262

Windows10中OpenCV-4.3.0的快速编译与安装

Windows10中OpenCV的编译与安装 每次装新系统或开新项目,都不可避免要重复做这件事,类似的记录很多,今天是装新机,重新记录一下,做个快速备忘。 最新版OpenCv已经到了4.3.0。以前的版本也有过一次记录,是关于vs2017的,在这里可以找到一些参考 https://blog.youkuaiyun.com/tanmx219/article/details/81452343 https://blog.youkuaiyun.com/ezhchai/article/details/80557936 但整体上感觉还

tanmx219的博客 2575

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

linux查找最近文件在哪里,Linux查找最近修改的文件

BFS/DFS算法介绍与实现(转)广度优先搜索(Breadth-First-Search)和深度优先搜索(Deep-First-Search)是搜索策略中最经常用到的两种方法,特别常用于图的搜索.其中有很多的算法都用到了这两种思想,比 ...Eclipse连接VirtualBox中的Android x86Android x86 Alt+F1打开命令行,命令netcfg查看当前ip,...

weixin_35631730的博客 2046

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

上一篇: Loading a true type font with GDI+
下一篇: ASP.net 验证码(C#)
slightboy
博客等级 码龄23年 3粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值