安卓如何判断摄像头装低了遮挡牌照被遮挡了?

我用的是3.1.2的androidsdk,社区之前说有cameraHelper这个类,但是我这边没找到,我现在找到了这段
// data size is width*height*2
// the first width*height is Y, second part is UV
// the storage layout detailed please refer 2.x demo CameraHelper.onPreviewFrame
public synchronized void onProcessData(byte[] data, Camera camera, int width, int height) {
int wh = width *
for (int i = 0; i & i++) {
int d = (data[i] & 0xFF) + yD
d = d & 16 ? 16 :
d = d & 235 ? 235 :
data[i] = (byte)d;
}但是我看不懂...不知道怎么修改,让他上下反一下
3.x版本中不能修改旋转图像,已经封装在sdk内部了,测试下环信demo修改后,会反吗?
申请试用 提交后工作人员会尽快与您联系进行功能演示
提交 不了,谢谢
技术咨询已转移到管理后台,请先登录 即时通讯云使用者请在应用详情页面咨询客户互动云使用者请进入管理员模式咨询
提示:技术咨询已转移到管理后台,请先登录 即时通讯云用户请在应用详情页提交工单,同时提供论坛互助支持服务。客户互动云用户请进入管理员模式在线咨询。查看: 12887|回复: 26
关于渗透安卓手机开启摄像头(链接失效补上-6课)
网络ID:逆丶小战
大家好,发现我分开发的视频很多链接都失效了,今天补上!
第一课:的安装过程!
第二课:内网称霸之QQ空间妹子相册图片获取
第三课:内网称霸之渗透安卓并开启摄像头
第四课:安卓两大神器的讲解
第五课:内网称霸之登陆别人的QQ空间,微博等
第六课:内网称霸之HTTP密码截取
这是前六节课程,免费送给大家了!
网盘视频合集地址:& && & 祝大家渗透快乐!
26人 等
过:
他们
全是木马,不要上当
大家好,发现我分开发的视频很多链接都失效了,今天补上!& &谢谢
第一个& && && && && && && && && &顶
楼主威武,希望楼主能录制完整一套教材
楼主威武,希望
楼主,又失效了,再发个不
楼主在发一下吧。
网盘链接又失效了
楼主再发一下吧!!
大家好,发现我分开发的视频很多链接都失效了,今天补上!& &谢谢
网盘链接又失效了
再发一下吧!!
站长推荐 /1
国内漏洞库最大的漏洞管理系统
免责声明:Kali linux中文网所发布的一切教程文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。
Powered by摄像头被调用+麦克风偷偷录音,你的手机安全吗? - 摄像头,用户隐私 - IT之家极客微软苹果资源内容字号:段落设置:字体设置:搜索精准搜索请尝试:摄像头被调用+麦克风偷偷录音,你的手机安全吗?来源:作者:崔玉贤责编:马卡在QQ浏览器偷偷调用摄像头事件后,vivo NEX官方进行了系统升级,加入了对第三方应用调用摄像头、麦克风的提醒功能。之后有网友发现并爆料称,百度输入法在未唤醒语音输入时,存在偷偷录音的现象。百度对此回应显示输入法做了语音麦克风预热的优化,但目的是为了加快语音启动速度,解决用户反馈的语音识别丢字问题,并未进行录音处理。关于摄像头和麦克风偷窥隐私的问题早在PC时代就有爆发,人们只能通过遮挡摄像头的方式来解决这一问题,到智能手机时代,此类问题逐步引发用户关注。尤其是非原生系统安卓手机,在安装或使用App过程中,肆意收集用户位置、通讯录、摄像头、录音等信息。智能手机已经成为人们工作生活的必需品,但隐私问题却持续爆发,谁来负责保护用户隐私?手机被监控?摄像头、麦克风偷偷启动为了实现零界全面屏,vivo NEX设计了升降式前置摄像头,在用户需要自拍时,摄像头即可从机身自动弹出。在此手机发布不久,有网友写了一条段子称,在使用手机时,明明没有自拍,摄像头还会升起来看你一眼,然后再默默的缩回去。开始以为是手机故障,后来发现是某些有相机权限的App,在用户不知情的情况下偷偷瞬间启动并关闭。因此,vivo NEX突然成了流氓App的鉴定神器。当大家以为这只是个段子的时候,QQ浏览器却给出了正式回应称“经过测试发现确实存在调起摄像头动作,但这一动作并不会开启摄像头,更不会拍摄或记录。”而且QQ浏览器也解释了出现这一问题的原因以及技术原理,并承诺并不会采集用户任何隐私。vivo客服回复《南方都市报》称这是由于该软件开启了调用摄像头的权限,将软件调用摄像头权限关闭即可。“vivo非常重视用户的隐私和信息安全,我们系统会不定期进行优化并对有这种行为的软件弹出提醒。”随后,vivo NEX进行了系统升级,升级为1.15.4版本后,提醒优化了第三方应用调用摄像头的判断逻辑,增强了在出现潜在不明调用行为时,向用户弹出窗口,进行二次确认的授权。同时,还优化了对第三方应用调用麦克风的判断逻辑,增加了在出现潜在不明调用行为时,通过闪烁状态栏,向用户发出提醒,进行二次确认的授权。图一:vivo NEX系统升级优化提醒在该系统升级后,有用户使用百度输入法时,发现在通知栏弹出“百度输入法一直在后台录音”的提醒,并告知用户可以在设置中,进行权限管理更改。图二:百度输入法一直后台录音网易科技对此进行了测试。从vivo应用商店中下载的“百度输入法”麦克风权限是默认关闭的,但百度输入法具有语音输入功能,如果想使用此功能就需要开启麦克风权限。一旦启用,用户在使用浏览器搜索、输入网址时,系统会提醒麦克风自动开启录音状态,即使用户未长按“麦克风键”。图三:网易科技实测百度输入法录音截图对此,百度方面称百度输入法不会在未经用户同意的情况下,进行录音,也不会用任何手段采集隐私。在启动自查后,初步判断造成该现象的原因在在于,输入法做了语音麦克风预热的优化,目的是为了加快语音启动速度,解决之前用户反馈的语音识别丢字问题。这个优化策略会在场景化语音条以及语音面板展示的时候起效,这个优化会使系统认为已经开始录音,但百度输入法并未进行录音处理。图四:百度输入法回应“虽然此问题并不严重,但却暴露了安卓手机的隐私忧患。前有QQ浏览器调用摄像头,后有百度输入法调用麦克风。安卓隐私以及权限滥用问题已经陆续爆发。”行业专家表示。隐私问题频发谁来保护用户信息?其实,早在2016年国家互联网信息办公室就发布了《移动互联网应用程序信息服务管理规定》,其明确规定,依法保障用户在安装或使用App过程中的知情权和选择权,App提供者未向用户明示并经用户同意,不得开启收集地理位置、读取通讯录、使用摄像头、启用录音等功能,不得开启与服务无关的功能,不得捆绑安装无关应用程序。但腾讯社会研究中心联合DCCI互联网数据中心联合发布《2017年度网络隐私安全及网络欺诈行为分析报告》。报告显示,仍有8.5%的Android手机App获取用户隐私权限,成为个人信息泄露关键。行业专家认为,应用软件依然是个人信息泄露里最关键、重要的部分。因此,专家提醒用户下载App时要选择正规的渠道。OPPO沈义人在接受媒体采访时表示,OPPO软件商店的应用都是经过人工审核筛查的,会尽一切技术和人工手段去保护好用户隐私。另外,对于App使用权限,用户也要谨慎授权,一旦发现越权,可以在权限管理中,将相应权限关掉。分享:相关文章:|||||||软媒旗下软件:|||||||||||||||IT之家,软媒旗下科技门户网站 - 爱科技,爱这里。Copyright (C), All Rights Reserved.版权所有android-在安卓中,如何对摄像头采入的不同图像帧进行不同的处理
作者:用户
浏览:1098 次
在安卓中,如何对摄像头采入的不同图像帧进行不同的处理在opencv4Android中,打开摄像头后,对图片进行处理,以下代码是对同一帧的不同处理,而我想实现的是对不同帧进行不同处理,比如前后帧,但不知
在安卓中,如何对摄像头采入的不同图像帧进行不同的处理
在opencv4Android中,打开摄像头后,对图片进行处理,以下代码是对同一帧的不同处理,而我想实现的是对不同帧进行不同处理,比如前后帧,但不知该怎么办?
public Mat onCameraFrame(CvCameraViewFrame inputFrame) {
mRgba = inputFrame.rgba();
Size sizeRgba = mRgba.size();
int rows = (int) sizeRgba.
int cols = (int) sizeRgba.
Mat rgbaInnerW
int left = cols / 8;
int top = rows / 8;
int width = cols * 3 / 4;
int height = rows * 3 / 4;
if(mProcessMethod==1)
Imgproc.cvtColor(inputFrame.gray(), mRgba, Imgproc.COLOR_GRAY2RGBA, 4);
//Canny边缘检测
else if(mProcessMethod==2)
mRgba = inputFrame.rgba();
Imgproc.Canny(inputFrame.gray(), mTmp, 80, 100);
Imgproc.cvtColor(mTmp, mRgba, Imgproc.COLOR_GRAY2RGBA, 4);
else if(mProcessMethod==3)
Mat hist = new Mat();
int thikness = (int) (sizeRgba.width / (mHistSizeNum + 10) / 5);
if(thikness & 5) thikness = 5;
int offset = (int) ((sizeRgba.width - (5*mHistSizeNum + 4*10)*thikness)/2);
for(int c=0; c&3; c++) {
Imgproc.calcHist(Arrays.asList(mRgba), mChannels[c], mMat0, hist, mHistSize, mRanges);
Core.normalize(hist, hist, sizeRgba.height/2, 0, Core.NORM_INF);
hist.get(0, 0, mBuff);
for(int h=0; h&mHistSizeN h++) {
mP1.x = mP2.x = offset + (c * (mHistSizeNum + 10) + h) *
mP1.y = sizeRgba.height-1;
mP2.y = mP1.y - 2 - (int)mBuff[h];
Core.line(mRgba, mP1, mP2, mColorsRGB[c], thikness);
// Value and Hue
Imgproc.cvtColor(mRgba, mTmp, Imgproc.COLOR_RGB2HSV_FULL);
Imgproc.calcHist(Arrays.asList(mTmp), mChannels[2], mMat0, hist, mHistSize, mRanges);
Core.normalize(hist, hist, sizeRgba.height/2, 0, Core.NORM_INF);
hist.get(0, 0, mBuff);
for(int h=0; h&mHistSizeN h++) {
mP1.x = mP2.x = offset + (3 * (mHistSizeNum + 10) + h) *
mP1.y = sizeRgba.height-1;
mP2.y = mP1.y - 2 - (int)mBuff[h];
Core.line(mRgba, mP1, mP2, mWhilte, thikness);
//inner Window Sobel
else if(mProcessMethod==4)
Mat gray = inputFrame.gray();
Mat grayInnerWindow = gray.submat(top, top + height, left, left + width);
rgbaInnerWindow = mRgba.submat(top, top + height, left, left + width);
Imgproc.Sobel(grayInnerWindow, mIntermediateMat, CvType.CV_8U, 1, 1);
Core.convertScaleAbs(mIntermediateMat, mIntermediateMat, 10, 0);
Imgproc.cvtColor(mIntermediateMat, rgbaInnerWindow, Imgproc.COLOR_GRAY2BGRA, 4);
grayInnerWindow.release();
rgbaInnerWindow.release();
else if(mProcessMethod==5)
rgbaInnerWindow = mRgba.submat(top, top + height, left, left + width);
Core.transform(rgbaInnerWindow, rgbaInnerWindow, mSepiaKernel);
rgbaInnerWindow.release();
else if(mProcessMethod==6)
Mat zoomCorner = mRgba.submat(0, rows / 2 - rows / 10, 0, cols / 2 - cols / 10);
Mat mZoomWindow = mRgba.submat(rows / 2 - 9 * rows / 100, rows / 2 + 9 * rows / 100, cols / 2 - 9 * cols / 100, cols / 2 + 9 * cols / 100);
Imgproc.resize(mZoomWindow, zoomCorner, zoomCorner.size());
Size wsize = mZoomWindow.size();
Core.rectangle(mZoomWindow, new Point(1, 1), new Point(wsize.width - 2, wsize.height - 2), new Scalar(255, 0, 0, 255), 2);
zoomCorner.release();
mZoomWindow.release();
//PIXELIZE
else if(mProcessMethod==7)
rgbaInnerWindow = mRgba.submat(top, top + height, left, left + width);
Imgproc.resize(rgbaInnerWindow, mIntermediateMat, mSize0, 0.1, 0.1, Imgproc.INTER_NEAREST);
Imgproc.resize(mIntermediateMat, rgbaInnerWindow, rgbaInnerWindow.size(), 0., 0., Imgproc.INTER_NEAREST);
rgbaInnerWindow.release();
//POSTERIZE
else if(mProcessMethod==8)
rgbaInnerWindow = mRgba.submat(top, top + height, left, left + width);
Imgproc.Canny(rgbaInnerWindow, mIntermediateMat, 80, 90);
rgbaInnerWindow.setTo(new Scalar(0, 0, 0, 255), mIntermediateMat);
Core.convertScaleAbs(rgbaInnerWindow, mIntermediateMat, 1./16, 0);
Core.convertScaleAbs(mIntermediateMat, rgbaInnerWindow, 16, 0);
rgbaInnerWindow.release();
mRgba = inputFrame.rgba();
【云栖快讯】诚邀你用自己的技术能力来用心回答每一个问题,通过回答传承技术知识、经验、心得,问答专家期待你加入!&&
弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率
40+云计算产品,6个月免费体验
稳定可靠、可弹性伸缩的在线数据库服务,全球最受欢迎的开源数据库之一
云服务器9.9元/月,大学必备Android工具类&计算地球两点的距离,检查是否开启手机摄像头,检测当的网络(WLAN、3G/2G)状态
package com.xwliot.
import android.content.C
import android.hardware.C
import android.net.ConnectivityM
import android.net.NetworkI
import android.os.E
public class Util {
private static final double EARTH_RADIUS = ;
public static double getDistance(double longitude1, double
latitude1, &
& double longitude2, double latitude2) {
& double Lat1 = rad(latitude1);
& double Lat2 = rad(latitude2);
& double a = Lat1 - Lat2;
& double b = rad(longitude1) -
rad(longitude2); &
& double s = 2 *
Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2)
& &+ Math.cos(Lat1) *
Math.cos(Lat2) &
& &* Math.pow(Math.sin(b /
2), 2))); &
&s = s * EARTH_RADIUS;
&s = Math.round(s * 10000) / 10000;
private static double rad(double d) { &
&return d * Math.PI / 180.0;
& &public static boolean
hasSdcard() {
&String state =
Environment.getExternalStorageState();
&if (state.equals(Environment.MEDIA_MOUNTED))
有存储的SDCard
& & &return
& & &return
& &//检查是否开启手机摄像头
public static boolean booleanisCameraUseable()
boolean canUse = Camera mCamera
mCamera = Camera.open();&
// setParameters
是针对魅族MX5。MX5通过Camera.open()拿到的Camera对象不为null
Camera.Parameters mParameters = mCamera.getParameters();
mCamera.setParameters(mParameters);
catch(Exception e) {&
if(mCamera !=null) {&
mCamera.release();&
return canU&
& &public static boolean
isNetworkAvailable(Context context) { &
&ConnectivityManager connectivity =
(ConnectivityManager) context &
&.getSystemService(Context.CONNECTIVITY_SERVICE);
&if (connectivity != null) {
& & &NetworkInfo
info = connectivity.getActiveNetworkInfo();
& & &if (info !=
null && info.isConnected())
& &// 当前网络是连接的
& &if (info.getState() ==
NetworkInfo.State.CONNECTED)
&// 当前所连接的网络可用 &
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 v380针孔摄像头 的文章

 

随机推荐