草庐IT

江苏图采上传自定义证件照

一几sama 2023-04-04 原文

江苏图采上传本地证件照

注意:2022年江苏图采添加了活体检测失败锁定机制冷静期

1.在拍摄阶段多次被检测到翻拍之后(测试了好像是4次以上),会被锁定,需要联系教务处解锁,注意!
2.拍摄照片进入草稿箱之后, 需要24h之后才能删除,草稿箱最多只能存6张照片。也就是说连续拍6次不满意之后,要等待24h才能拍新的照片!

本文灵感来源于 如何在江苏图采上传“证件照” 感谢大佬,我只是站在巨人的肩膀上!

更新日志

【2022.4.18注:已更新最新版Android Studio界面】

【2021.10.18注:南京信息工程大学可致电 025-58731185 马老师 报学号即可将已经上传的不满意的丑陋照片驳回,从而自己重新再挑选中意的照片。】

【2021.10.17注:请不要带着虚拟机出现的问题来咨询笔者,笔者没有学习过安卓开发,对于虚拟机环境出现的各种各样奇奇怪怪的问题,像是没有网络连接,小程序无法打开,微信卡死等等······笔者实在是无能为力,也只能提供重启试试或者重装试试类似的拙见。
截止目前已有百余位同学按此步骤成功实现上传,如果实在不行,建议求助成功上传的同学朋友的帮助。本文也只是方法分享,而非教学,请您谅解!如能给您提供到一些小小的帮助,笔者不胜感激!】

出现软件安装问题请先看注意事项!求求您!!!看一眼注意事项吧!!!

本文仅供交流学习使用,转载请注明作者和来源,请勿商用。

笔者仅仅在部分步骤加以完善并使用最新版的Android Studio进行演示,并在提交的照片上提供些许建议。
【原理:本方法基于Android studio的虚拟空间摄像头,将自己准备好的照片附在虚拟空间里,调用模拟器在虚拟空间中翻拍,从而绕过江苏图采的防翻拍验证。】

演示程序版本为2020.3.1.25,32位微信apk版本为8015

准备事项

1.一台配置还算可以的电脑用来跑虚拟机。【建议使用intel版的Windows,amd也行,不建议Mac】
2.准备好高光均匀、亮度合适的电子版证件照,要求清晰度足够,非深蓝色上衣,非劣质抠图改背景色,不漏齿,可戴眼镜但眼镜不可有明显反光。
3.一个可正常登陆的微信账号。【能正常使用小程序即可】

步骤

虚拟机安装

安装Android studio
https://developer.android.google.cn/studio/
直接Download即可

下载完成后打开exe执行文件 点击Next
这里的Virtual Device一定要勾选

建议预留10G的空间安装

本程序不会在桌面建立快捷方式,此步询问是否在开始菜单创建快捷方式,如果勾选,则只能去文件根目录寻找应用
默认应用位置:C:\Program Files\Android\Android Studio\bin\studio64.exe

一路Next让他安装,完成后直接运行即可。
直接Cancel

虚拟机配置

首次运行可能会询问是否需要导入List,直接跳过即可
之后进入欢迎界面,需要下载一系列配置文件,不用修改,直接一路Next,直到进入应用主页面。
应用界面如图:
在More Actions里选择Virtual Device Manager

选择Create Virtual Device
这里选用最大尺寸的Pixel 3 XL

Next选择使用的Android系统,建议API Level大于30,否则安装微信会出现各种各样的问题,Release Name只是版本的名字,不用关心。

选择一个系统之后,点击名称后面的蓝色Download进入下载页面,将所有相关配置文件勾选为accept,之后Next下载,下载过程中可能会出现各种问题使得下载终止,此时点击Finish之后再进入Download界面即可继续下载。直到该系统下载完成。
选择下载完成的系统,点击Next

点击Show Advanced Settings
Camera 选项将前设为 None,后设为Virtual Scene,这样可使所有app只能调用后摄来拍摄虚拟空间,才能实现证件照上传。

Boot Option 选择 Cold boot ,出现奇奇怪怪的问题或许就可以通过重启虚拟机解决
内存选项根据自己电脑配置决定,笔者选用配置如下,在自己的电脑能够支持的范围内越高越好,但如果调的太高,可能会让电脑死机。

RAM:模拟器的内存
VM Heap:Android系统是运行在Dalvik虚拟机上的,VM Heap就是指的虚拟机最大占用内存,也就是单个应用的最大占用内存。
Internal Storage:内部存储大小。内部存储就是将数据保存在设备的内部存储器中。
SD Card:SD 卡的大小。

配置调整好点击finish确认,如果设置未完成,可点击▼选择Edit,继续设置。一旦运行之后RAM 和 VMheap 就无法再修改。点击▶运行虚拟机

稍等片刻即可进入系统页面

微信安装

去找一个可以打开小程序的32位微信apk安装包
【截止写稿最新的为:weixin8015_32.apk
下载完成后直接拖入虚拟机页面,释放鼠标安装,等待进度条走完,在虚拟机主页按住鼠标左键上滑即可打开pixel的应用页,即可看到微信。


点击微信打开即可

输入中文的方法

虚拟机可以直接使用键盘进行模拟输入,但是由于虚拟机系统没有内置中文输入法,会让输入中文变得很痛苦,这里提供两种键入的方法:

1.将所有文字,在虚拟机外部输入好,之后复制,在虚拟机内部的输入窗口长按鼠标左键,点击Paste。
2.虚拟机里——Seetings——System——Language & input——Languages——Add a Language——下滑到最后——简体中文——中国——并将简体中文移动到English前。

可能会出现的问题:
如果微信无法登陆,显示没有网络链接,就从虚拟机顶端下滑,关闭WiFi,并退出微信后台,再次尝试。或者来来回回开关WiFi多试几次,经常会出现抽风的情况,如果登陆成功,再把WiFi打开。

微信登陆成功后进入主界面,在小程序搜索栏搜索江苏图采。

之后一路正常继续即可,如果第一次进入必须先播放视频,而虚拟机又无法成功播放视频的话,可以在手机端先进行一遍操作,把播放视频的步骤完成,再进入虚拟机操作。

虚拟摄像机使用方法

在到达拍摄界面时,会直接进入虚拟空间。
按住Alt键即可进行控制,鼠标控制视角,WASD进行移动,QE进行高度控制,从当前的视角转身,进入身后的小房间,可以看到墙上有一个方格区域。
此时在虚拟机右侧的菜单栏点击 More(那三个点) 再进入 Camera 选项,在 Wall 上选择你需要上传的证件照,将Size调成合适的大小,如果不符合要求可以继续调,直到符合拍照要求。


拍摄之后如果全部符合要求,存储到草稿箱,在手机端上传照片即可。!!!一定要自己提交上传!这里拍完只是存储到草稿箱的!!!

注意事项

关于系统

1.截止2021.10.14,部分2018年以前的intel电脑出现步骤全部正常,但是江苏图采小程序无法打开的症状,目前原因未知,建议换一台电脑尝试。
2.部分客户端会提示未安装Haxm或者Haxm安装失败,可以跳转如何为Android Studio安装HAXM
此文非常详细,感谢这另一位大佬
3.如果使用AMD电脑,在安装Android系统时,右边会弹出警告。还未安装AMD平台支持文件,一起安装了就行。Mac平台安装过程与上述相同,但是M1平台的Mac如果使用Apple Silicon版本的Android studio,无论安装x86或是arm的安卓系统,在安装微信apk时均会出现无法安装的情况。经过Rosetta转译的Intel版本Android studio成功率很高,但偶尔会出现微信无法链接互联网的问题。原理未知。笔者是个社畜,疲惫了不想试了
4.如果自己怎么尝试都不行,就把这篇教程转给别的工具人,让他给你传,毕竟涉及到虚拟机环境这种东西,总是会出各种奇奇怪怪的问题。
5.如果因为种种原因,一直失败到系统关闭,不必惊慌,每年都有大把的人,因为妆容过浓被教务处打回进行重拍,还是有二次重拍的机会的,不必非常慌张,有弥补的机会,只是非常麻烦,可能还会被骂···

关于图片处理

1.过于模糊的照片通过率极低,请不要使用质量过低,糊的只有妈妈才能认得你的那种照片,质量太低的图片,无论怎么调整都会失败的。
2.提示禁止翻拍,可能是离的太远,离照片近一点,怼上去,不需要严格按照它上面提供的头部轮廓拍照。注意不要露出照片的白色边缘。
3.证件照是抠图换的背景颜色,显示检测到翻拍,随便用一个可以【色调分离】的app,把人像边缘的抠图色线饱和度降到最低。(通俗的说就是把你脸周围那一条彩色线给它变得跟背景色一样)
4.显示亮度过高,把证件照高光和白色色阶压低,面部整体光照平均,不要出现明显的高光。
5.显示光照不均,把面部的暗部提亮,原理同上,不要有某一片过暗。
6.目前常见的问题都是面部T区过亮,这是摄影馆常见的后期手段,会显得精神,但是江苏图采不喜欢,会把你的照片检测成翻拍,江苏图采不喜欢就是不喜欢。

有更多疑问可以评论区留言,等别的大神解答,笔者不常上线,随缘解答疑问。

有关江苏图采上传自定义证件照的更多相关文章

  1. ruby - Facter::Util::Uptime:Module 的未定义方法 get_uptime (NoMethodError) - 2

    我正在尝试设置一个puppet节点,但ruby​​gems似乎不正常。如果我通过它自己的二进制文件(/usr/lib/ruby/gems/1.8/gems/facter-1.5.8/bin/facter)在cli上运行facter,它工作正常,但如果我通过由ruby​​gems(/usr/bin/facter)安装的二进制文件,它抛出:/usr/lib/ruby/1.8/facter/uptime.rb:11:undefinedmethod`get_uptime'forFacter::Util::Uptime:Module(NoMethodError)from/usr/lib/ruby

  2. ruby-on-rails - Rails 3.2.1 中 ActionMailer 中的未定义方法 'default_content_type=' - 2

    我在我的项目中添加了一个系统来重置用户密码并通过电子邮件将密码发送给他,以防他忘记密码。昨天它运行良好(当我实现它时)。当我今天尝试启动服务器时,出现以下错误。=>BootingWEBrick=>Rails3.2.1applicationstartingindevelopmentonhttp://0.0.0.0:3000=>Callwith-dtodetach=>Ctrl-CtoshutdownserverExiting/Users/vinayshenoy/.rvm/gems/ruby-1.9.3-p0/gems/actionmailer-3.2.1/lib/action_mailer

  3. ruby-on-rails - form_for 中不在模型中的自定义字段 - 2

    我想向我的Controller传递一个参数,它是一个简单的复选框,但我不知道如何在模型的form_for中引入它,这是我的观点:{:id=>'go_finance'}do|f|%>Transferirde:para:Entrada:"input",:placeholder=>"Quantofoiganho?"%>Saída:"output",:placeholder=>"Quantofoigasto?"%>Nota:我想做一个额外的复选框,但我该怎么做,模型中没有一个对象,而是一个要检查的对象,以便在Controller中创建一个ifelse,如果没有检查,请帮助我,非常感谢,谢谢

  4. ruby - 主要 :Object when running build from sublime 的未定义方法 `require_relative' - 2

    我已经从我的命令行中获得了一切,所以我可以运行rubymyfile并且它可以正常工作。但是当我尝试从sublime中运行它时,我得到了undefinedmethod`require_relative'formain:Object有人知道我的sublime设置中缺少什么吗?我正在使用OSX并安装了rvm。 最佳答案 或者,您可以只使用“require”,它应该可以正常工作。我认为“require_relative”仅适用于ruby​​1.9+ 关于ruby-主要:Objectwhenrun

  5. ruby - 我可以使用 aws-sdk-ruby 在 AWS S3 上使用事务性文件删除/上传吗? - 2

    我发现ActiveRecord::Base.transaction在复杂方法中非常有效。我想知道是否可以在如下事务中从AWSS3上传/删除文件:S3Object.transactiondo#writeintofiles#raiseanexceptionend引发异常后,每个操作都应在S3上回滚。S3Object这可能吗?? 最佳答案 虽然S3API具有批量删除功能,但它不支持事务,因为每个删除操作都可以独立于其他操作成功/失败。该API不提供任何批量上传功能(通过PUT或POST),因此每个上传操作都是通过一个独立的API调用完成的

  6. ruby - 在 Ruby 中有条件地定义函数 - 2

    我有一些代码在几个不同的位置之一运行:作为具有调试输出的命令行工具,作为不接受任何输出的更大程序的一部分,以及在Rails环境中。有时我需要根据代码的位置对代码进行细微的更改,我意识到以下样式似乎可行:print"Testingnestedfunctionsdefined\n"CLI=trueifCLIdeftest_printprint"CommandLineVersion\n"endelsedeftest_printprint"ReleaseVersion\n"endendtest_print()这导致:TestingnestedfunctionsdefinedCommandLin

  7. ruby - 定义方法参数的条件 - 2

    我有一个只接受一个参数的方法:defmy_method(number)end如果使用number调用方法,我该如何引发错误??通常,我如何定义方法参数的条件?比如我想在调用的时候报错:my_method(1) 最佳答案 您可以添加guard在函数的开头,如果参数无效则引发异常。例如:defmy_method(number)failArgumentError,"Inputshouldbegreaterthanorequalto2"ifnumbereputse.messageend#=>Inputshouldbegreaterthano

  8. ruby - 如何在 Grape 中定义哈希数组? - 2

    我使用Ember作为我的前端和GrapeAPI来为我的API提供服务。前端发送类似:{"service"=>{"name"=>"Name","duration"=>"30","user"=>nil,"organization"=>"org","category"=>nil,"description"=>"description","disabled"=>true,"color"=>nil,"availabilities"=>[{"day"=>"Saturday","enabled"=>false,"timeSlots"=>[{"startAt"=>"09:00AM","endAt"=>

  9. ruby - 获取模块中定义的所有常量的值 - 2

    我想获取模块中定义的所有常量的值:moduleLettersA='apple'.freezeB='boy'.freezeendconstants给了我常量的名字:Letters.constants(false)#=>[:A,:B]如何获取它们的值的数组,即["apple","boy"]? 最佳答案 为了做到这一点,请使用mapLetters.constants(false).map&Letters.method(:const_get)这将返回["a","b"]第二种方式:Letters.constants(false).map{|c

  10. ruby - 这两个 Ruby 类初始化定义有什么区别? - 2

    我正在阅读一本关于Ruby的书,作者在编写类初始化定义时使用的形式与他在本书前几节中使用的形式略有不同。它看起来像这样:classTicketattr_accessor:venue,:datedefinitialize(venue,date)self.venue=venueself.date=dateendend在本书的前几节中,它的定义如下:classTicketattr_accessor:venue,:datedefinitialize(venue,date)@venue=venue@date=dateendend在第一个示例中使用setter方法与在第二个示例中使用实例变量之间是

随机推荐