Android小技巧/二维码生成Zxing

二维码钓鱼攻击技术剖析与纵深防御实战指南 二维码作为一种便捷的信息交互技术,其核心原理是将数据编码为二维矩阵图形,通过图像识别快速解码。这项技术因其即扫即用的特性,在移动支付、身份认证和营销推广等场景中展现出巨大价值。然而,攻击者正利用其信息承载的不可读性和用户行为的信任惯性,将二维码改造为新型社会工程学攻击的载体,即二维码钓鱼攻击。这种攻击通过伪造登录页面、分发恶意软件或结合恶意Wi-Fi网络等方式,高效窃取用户凭证与敏感数据。本文聚焦于此类攻击的核心技术特征,如攻击链路的隐蔽性与载荷投递的多样性,并系统性地从个人习惯培养、组织技术管控到事件响应 阅读详情

先上效果图:


主要实现了渐变与中间加LOGO

二维码的容错性比较强 所以即使ps上去也没有什么关系

步骤 生成渐变二维码 -> 加logo

 关键代码:

生成渐变二维码

int WHITE = 0xFFFFFFFF;
		int BLACK = 0x78541400;
		int pixTemp = BLACK;
		for (int y = 0; y < height; y++) {
			int offset = y * width;
			pixTemp += 100;	//实现渐变效果
			for (int x = 0; x < width; x++) {
				pixels[offset + x] = result.get(x, y) ? pixTemp : WHITE;
			}
		}
		Bitmap bitmap = Bitmap.createBitmap(width, height,
				Bitmap.Config.ARGB_8888);
		bitmap.setPixels(pixels, 0, width, 0, 0, width, height);


载入logo水印:

		if (background == null) {
			return null;
		}
		forground = getRoundedCornerBitmap(forground);
		int bgWidth = background.getWidth();
		int bgHeight = background.getHeight();
		int forWidth = forground.getWidth();
		int forHeight = forground.getHeight();
		
		Bitmap newBitmap = Bitmap.createBitmap(bgWidth, bgHeight, Config.ARGB_8888);
		Canvas cv = new Canvas(newBitmap);
		cv.drawBitmap(background, 0, 0, null);
		cv.drawBitmap(forground, (bgWidth - forWidth) / 2, (bgHeight - forHeight) / 2, null);// 在src的右下角画入水印
		cv.save(Canvas.ALL_SAVE_FLAG);
		cv.restore();
		return newBitmap;
	

增加二维码的容错率设置为H:35%

//	提高纠错等级
			hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);

TODO : 事实上这和PS进去一张图片没差别 都是依赖于QRcode的容错性,增加一些噪点去保证准确性。


Android mPaaS 接入实战:从环境配置到扫码功能集成 本文详细介绍了Android mPaaS接入流程,从环境配置到扫码功能集成的完整实战指南。重点讲解了JDK 11等环境要求、阿里云账号认证技巧、配置文件导入常见问题解决方案,并提供了线程安全的扫码功能实现代码,帮助开发者高效完成mPaaS集成。 阅读详情

相关推荐

Vibe Coding:AI协同编程范式与微信小程序实战

Vibe Coding并非具体工具,而是一种以自然语言驱动、人机协同为核心的现代编程范式,其本质是将开发过程重构为‘意图表达→AI生成→人工校验→真机验证’的闭环。它依托大语言模型(如Claude-3.5-sonnet)对代码语义与平台规范(如微信云开发、基础库版本兼容性)的理解能力,显著替代重复性编码劳动,但高度依赖开发者对业务逻辑的精准建模、真实数据样本的供给能力,以及iOS/安卓真机渲染差异等底层细节的掌控。该范式已在微信小程序从零落地场景中验证有效,适用于扫码交互、云函数契约定义、Canvas跨端适

weixin_33688840的博客 342

Android之 Zxing二维码详解

Zxing二维码详解

qq_29848853的博客 1万+

Android ZXing二维码、条形码的生成和解析,事件分发机制怎么回答

QRCodeUtil: import java.util.Hashtable; import android.graphics.Bitmap; import com.google.zxing.BarcodeFormat; import com.google.zxing.EncodeHintType; import com.google.zxing.MultiFormatWriter; import com.google.zxing.WriterException; import com.google.zxi

m0_64382868的博客 561

Android中二维码的扫描与生成(zxing库)

2.集成java源码,将demo工程QrScan中app/src/main/java/目录下包中的zxing和util复制到此工程对应的app/src/main/java的包下。layout复制activity_capture.xml,activity_scanner.xml,toolbar_scanner.xml。values复制/替换其中的attrs.xml,ids.xml,colors.xml。1.将获取的jar包复制到工程的app/libs目录下,刷新,然后去添加依赖。...

Ai1114的博客 3万+

Android中使用ZXing生成二维码(Java)

ZXing(Zebra Crossing)是一个开源的条码/二维码处理库,它提供了丰富的功能和易于使用的API。在本文中,我将向您展示如何在Android应用程序中使用ZXing库生成二维码。完成上述步骤后,您可以运行您的应用程序并查看生成的二维码。在应用程序运行时,它将在ImageView中显示生成的二维码。在上面的代码中,我们首先在布局文件中添加了一个ImageView,用于显示生成的二维码。在您的Activity或Fragment中,创建一个方法来生成二维码。步骤3:创建生成二维码的方法。

CodeShiftZ的博客 812

Android应用实战:使用ZXing生成个性化二维码名片

本文还有配套的精品资源,点击获取 简介:本项目是关于在Android平台上利用ZXing库生成具有个人信息的二维码名片。通过集成ZXing库和实现相关编码逻辑,用户可以轻松创建包含姓名、电话和邮箱等内容的二维码。项目覆盖了基本的二维码生成流程,以及自定义样式和错误处理等高级功能。开发者将通过实践学习如何在Android应用中集成ZXing库,进行UI设计、用户交互和数据处理...

weixin_28999139的博客 1319

Android 二维码框架之Zxing实现生成二维码功能

前篇介绍了ZXing开源框架的使用,此篇接着讲解一些ZXing的知识并使用ZXing生成二维码   Android 二维码框架之Zxing实现二维码扫描功能     1、ZXing库介绍   这里简单介绍一下ZXing库。ZXing是一个开放源码的,用Java实现的多种格式的1D/2D条码图像处理库,它包含了联系到其他语言的端口。Zxing可以实现使用手机的内置的摄像头完成条形码的扫描...

听海的博客 2310

Unity3D与Rokid AR眼镜混合开发:高性能二维码识别方案全解析

在增强现实(AR)应用开发中,二维码识别是实现虚实交互的关键技术之一。其原理是通过摄像头捕捉图像,利用图像处理算法提取二维码的定位图案和数据区域,再通过解码算法还原信息。这项技术的核心价值在于为AR应用提供了低成本、高可靠性的物理世界锚点,是实现商品识别、空间定位、信息叠加等场景的基础。在移动端和AR眼镜等资源受限设备上,需要平衡识别精度与性能开销。本文聚焦于Unity3D与安卓原生混合开发架构,通过集成ZXing库和Camera2 API,详细解析了在Rokid AR眼镜上实现低延迟、高稳定扫码功能的全流

weixin_30402343的博客 435

Android Studio 2023集成Zxing 3.5.3:从配置到竖屏优化的完整指南

本文提供了在Android Studio 2023中集成Zxing 3.5.3二维码扫描库的完整教程。详细讲解了从项目创建、依赖配置、代码移植到解决相机权限和核心挑战——竖屏扫描适配的全过程,并包含常见错误排查与优化建议,帮助开发者快速构建稳定高效的扫码功能。

weixin_29008055的博客 309

欢乐熊大话蓝牙知识16:蓝牙是怎么找设备的?扫描与广播的“对话内幕”

蓝牙是怎么找设备的?扫描与广播的对话技术介绍

hoony123的博客 1380

采用MPU6050的手势遥控器

随着社会的发展与进步,电子产品日益更新,个人家庭迎来了越来越多的智能家电。然而,现在的智能电子设备产品的遥控器多数都是按键形的。操作繁琐不直观,学习成本大。并且对于有老人小孩的家庭,给他们的操作带来了巨大的障碍。手势遥控器是指利用简单的手势来指挥电子设备,获得便捷的操作体验。让家庭成员都可以享受科技发展带来的福利。MPU6050是一个运动传感器,内置陀螺仪,再由电子设备利用判断结果做出相应的响应即...

Sakura的博客小站 6602

Android Studio 2023集成Zxing 3.5.3实战:从环境配置到竖屏适配

本文详细介绍了在Android Studio 2023中集成Zxing 3.5.3的完整流程,从环境配置到竖屏适配的实战方案。内容包括依赖添加、相机权限处理、核心代码移植、竖屏适配技巧以及性能优化策略,帮助开发者快速实现高效的二维码扫描功能。特别针对Android开发中的常见问题提供了解决方案,并分享了高级功能扩展思路。

weixin_30374009的博客 470

基于STM32的智能台灯PWM调光与人体感应融合设计

本文详细介绍了基于STM32单片机的智能台灯设计方案,重点讲解了PWM调光技术与人体感应模块的融合实现。通过STM32的高级定时器产生精准PWM信号控制LED亮度,结合红外传感器实现人来灯亮、人走灯灭的智能体验,同时集成光敏传感实现环境自适应调光,打造高效节能的智能照明解决方案。

threejs5artist的博客 823

使用 graphql-code-generator 的 typescript-resolvers 插件构建类型安全的 GraphQL 服务端(SDL-first 实战指南)

本指南以当前仓库中的 [examples/typescript-resolvers](https://link.gitcode.com/i/80411b4608ecbe8081a11d3b2dbda0b1) 官方示例为骨架,系统讲解如何利用 GraphQL Code Generator 的 `typescript` 与 `typescript-resolvers` 插件,以 **SDL(Schem

gitblog_00359的博客 624

原生H5如何优雅拦截浏览器返回事件:全面屏侧滑退出的解决方案

本文深入探讨了在原生H5中如何优雅地处理浏览器返回事件,特别是针对全面屏手机侧滑返回手势的解决方案。核心是利用HTML5 History API,通过`history.pushState`方法在历史栈中插入记录,并监听`popstate`事件,从而实现在用户侧滑时平滑关闭全屏预览层而非直接退出页面,有效提升了移动端H5应用的原生交互体验。

i0j1k2l3m的博客 269

ISO2626 --- Item Definition相关项定义

本文并不是针对ISO26262的一个项目,而是针对ISO26262的规范,我们在相关项定义阶段,我们需要做什么,我们的文档需要包含哪些内容的一个描述。

wj博客 909

android组件化方案、二维码扫码、Kotlin新闻客户端、动画特效等源码

Android精选源码 CalendarView日历选择器 android下拉刷新动画效果代码 一个非常方便的fragment页面框架 android组件化方案源码 Zxing实现二维码条形码的扫描和解析 android实现拖拽返回PhotoView 基于Kotlin的新闻客户端 ...

chuangzhi9350的博客 161

电化学-NanoStat-开源系统的使用说明

本文主要介绍了NanoStat开源系统的使用方法,从硬件打板、设备组装、软件安装3个层次进行了详细说明。整个流程根据作者提供的视频能够很好的完成,不需要太多的技术,对刚入门的新手是一个不错的练手项目。其次软件还有很大的优化空间,能够进一步提高系统的精度,对之后类似恒电位仪系统的开发也有很大的借鉴意义。

分享技术笔记,希望对大家能够有一定的帮助,同时也通过归纳总结提升自己的个人能力。 2000

实战指南:利用ZXing.Net.MAUI打造企业级扫码工具(含APK打包全流程)

本文详细介绍了如何使用ZXing.Net.MAUI开发企业级扫码工具,包括环境配置、核心功能实现、企业级功能增强以及APK打包全流程。ZXing.Net.MAUI作为跨平台解决方案,支持多种条码格式,提供毫秒级解码速度,适合物流、零售等商业场景。文章还涵盖了权限管理、性能优化和APK分发等实用技巧。

weixin_33713350的博客 420

20.Labview使用子vi进行VI间的数据传递详解(模块化)

子VI(模块化)题主在题注中也提到, 子VI的建立只是为了减少程序的负担,那么我们当使用子VI的时候首先就要明确什么是子VI?什么样的程序可以作为子VI?首先我们来看NI官方给的定义,具体说明如下图所示:题主已经将重点画出来了,在官方的解释中将子VI定义为了模块化,大家可以看到创建模块化子VI的特点在于减少代码重复工作优化了程序的框架结构。把一个代码打包,需要的时候就拎出来让他处理处理,不需要的时候就让它躺在我的列表里就行了也不占用运行空间。那么创建子VI需要需要注意以下几点:①任何一个程序。

关注我,更多技术问题欢迎私聊~ 3515

KNN算法实现数据分类及matlab完整代码

其基本思想是:对于一个未知样本,找出与该样本距离最近的k个已知样本,然后根据这k个样本的类别来确定该未知样本的类别。在本文中,我们采用iris数据集,该数据集包含四个属性:花萼长度、花萼宽度、花瓣长度、花瓣宽度,以及三个类别:山鸢尾、变色鸢尾、维吉尼亚鸢尾。KNN算法具有简单、直观、易于理解等特点,适用于多分类和二分类问题,但其计算复杂度随着样本数量的增加而增加,也容易受异常值影响。在KNN算法中,常用的距离函数有欧氏距离、曼哈顿距离等。(2)选择距离最近的k个样本,并根据它们的类别来确定未知样本的类别。

qq_39605374的博客 1515

Android ZXing二维码、条形码的生成和解析

对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长。而不成体系的学习效果低效漫长且无助。时间久了,付出巨大的时间成本和努力,没有看到应有的效果,会气馁是再正常不过的。所以学习一定要找到最适合自己的方式,有一个思路方法,不然不止浪费时间,更可能把未来发展都一起耽误了。如果你是卡在缺少学习资源的瓶颈上,那么刚刚好我能帮到你。《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

2401_84415683的博客 1478

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

【Android】学习之路——生成二维码(ZXing库)

本文介绍了在Android 项目中使用 ZXing 库生成二维码的方法。首先需在 build.gradle 中添加相关依赖并同步项目。接着创建布局文件,通过 ImageView 显示二维码。将生成逻辑封装在 QRCodeUtil 工具类,可提高复用性。在 GenerateQRCodeActivity 里调用工具类生成二维码并显示。使用 Handler 优化代码,把二维码生成操作放在子线程进行,避免阻塞主线程,完成后通过 Handler 将 Bitmap 传递到主线程更新 ImageView,确保界面流畅。

weixin_63695176的博客 1127

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

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

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

使用 ZXing 在 Android 上生成二维码

ZXing(Zebra Crossing)是一个流行的开源库,可用于生成和解析多种格式的条形码和二维码。本文将指导你如何在 Android 应用中使用 ZXing 库生成二维码图片。你可以根据需求调整二维码的尺寸和其他参数,以适应不同的应用场景。ZXing 不仅支持二维码的生成,还支持多种条码的扫描和解析,是开发中非常实用的工具。首先,你需要将 ZXing 库集成到你的 Android 项目中。如果你打算将生成的二维码保存到设备上,需要在你的。接下来,创建一个函数来生成一个二维码的。

宋志辉的博客 968

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Android使用zxing-android-embedded(由zxing开发)实现二维码生成和扫描

前言:目前二维码(条形码)的使用非常广泛,所以啊,就想去实现以下嘛,最简单的方法就是选择开源库了。在网上一查开源库还是很多的,介绍使用最多的就是zxing,所以这里也就是用zxing了。但是由于zxing开源库太大了,有很多不是Android要用的,所以网上很多都是介绍将zxing库中Android用到内容重新封装使用。但是对于新手来说还是不太好操作的,我看了下,大部分都是拷贝原工程的一部分代码,然

yueding 6778
上一篇: Android小技巧/获取屏幕宽高
下一篇: 如何编写高质量“软件需求说明书”
多格AI零代码
博客等级 码龄15年 40粉丝 73原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值