视频,扫描,识别相关

头文件

包含AVFoundation.framework

1、初始化Capture    // Grab the back-facing camera
    AVCaptureDevice *backFacingCamera = nil;
    NSArray *devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo];
    for (AVCaptureDevice *device in devices)
    {
        if ([device position] == AVCaptureDevicePositionBack)
        {
            backFacingCamera = device;
            break;
        }
    }
    
    // Create the capture session
    _captureSession = [[AVCaptureSession alloc] init];
    
    // Add the video input
    NSError *error = nil;
    _videoInput = [[AVCaptureDeviceInput alloc] initWithDevice:backFacingCamera error:&error];
    if ([_captureSession canAddInput:_videoInput])
    {
        [_captureSession addInput:_videoInput];
    }
    // Add the video frame output
    _videoOutput = [[AVCaptureVideoDataOutput alloc] init];
    [_videoOutput setAlwaysDiscardsLateVideoFrames:YES];
    // Use RGB frames instead of YUV to ease color processing
    NSDictionary *settings = @{(id)kCVPixelBufferPixelFormatTypeKey: [NSNumber numberWithInt:kCVPixelFormatType_32BGRA]};
    [_videoOutput setVideoSettings:settings];
    //    dispatch_queue_t videoQueue = dispatch_queue_create("com.sunsetlakesoftware.colortracking.videoqueue", NULL);
    //    [videoOutput setSampleBufferDelegate:self queue:videoQueue];
    
    [_videoOutput setSampleBufferDelegate:self queue:dispatch_get_main_queue()];
    
    if ([_captureSession canAddOutput:_videoOutput])
    {
        [_captureSession addOutput:_videoOutput];
    }
    else
    {
        NSLog(@"Couldn‘t add video output");
    }
    
    [_captureSession setSessionPreset:AVCaptureSessionPresetMedium];

2、启动 录制

[_captureSession startRunning];

3、检测识别

- (void)captureOutput:(AVCaptureOutput *)captureOutput
didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer
       fromConnection:(AVCaptureConnection *)connection {
    CVPixelBufferRef pixelBuffer = (CVPixelBufferRef)CMSampleBufferGetImageBuffer(sampleBuffer);
    
    CVPixelBufferLockBaseAddress(pixelBuffer, 0);
    
    unsigned char *data = (unsigned char *)CVPixelBufferGetBaseAddress(pixelBuffer);
    //        int bytesPerRow = CVPixelBufferGetBytesPerRow(pixelBuffer);
    
    int bufferHeight = (int)CVPixelBufferGetHeight(pixelBuffer);
    int bufferWidth = (int)CVPixelBufferGetWidth(pixelBuffer);
    int countPerRow = bufferWidth * 4;

//do something

CVPixelBufferUnlockBaseAddress(pixelBuffer, 0);

}

3、停止 录制

[_captureSession stopRunning];

4、注意事项

> 处理时,尽量避免算法过于复杂,导致卡顿

> 注意数据的 R、G、B、A分量与设定一致

时间: 2024-08-05 23:26:05

视频,扫描,识别相关的相关文章

HTML5实现扫描识别二维码/生成二维码

扫描识别二维码 思路: 1. 操作摄像头,获取图片.HTML5 WEBRTC的navigator.getUserMedia方法去实时获取摄像头资源. 2. 利用canvas使用相关算法分析图片识别图片得出结果,可用jquery.qrcode分析二维码 .(技术点:getImageData) 局限性: 移动平台支持getUserMedia/Stream API的浏览器比较少,支持列表http://caniuse.com/#feat=stream (目前没发现有IOS是支持的) 代码实现: 感谢gi

视频压缩算法的相关知识

视频压缩算法的相关知识MPEG-1MPEG 视频压缩编码后包括三种元素:I帧(I-frames).P帧(P-frames)和B帧(B-frames).在MPEG编码的过程中,部分视频帧序列压缩成为I帧:部分压缩成P帧:还有部分压缩成B帧.I帧法是帧内压缩法,也称为“关键帧”压缩法.I帧法是基于离散余弦变换DCT( Discrete Cosine Transform )的压缩技术,这样的算法与JPEG压缩算法相似.採用I帧压缩可达到1/6的压缩比而无明显的压缩痕迹. 在保证图像质量的前提下实现高压

文通视频文字识别亮相国际广播电影电视设备展览会(BIRTV2015)

 文通视频文字识别亮相国际广播电影电视设备展览会(BIRTV2015) 8月26日,第二十四届北京国际广播电影电视设备展览会(BIRTV2015)在北京盛大开幕,作为"亚洲最具影响力的盛会",4K.媒体融合.制播网络IP化.数字电影等广电领域一大批最新的技术和设备纷纷亮相,国内OCR行业领军企业北京文通科技有限公司的视频文字识别产品全面配装在合作伙伴产品中精彩亮相展览会,不仅解决了视频文字识别的难题,也大幅提高了视频检索效率,引发了广播电台.视频网站及政府舆情监控机构的广泛关注与称

OCR技术之手机扫描识别提取各类数据

关键词:OCR.sdk.vin识别.营业执照识别.七段数码管识别.发票代码识别.房产证识别.餐票识别.发票识别.发票号识别.手机号识别.水表识别.电表识别.燃气表识别.房产证号识别.人民币冠字号识别 文通慧视OCR文字识别系统,是文通公司结合多年OCR文字识别经验,针对移动互联网数据采集业务推出的一款专业的OCR SDK,程序适用于Ios与Android两个平台集成,适合各种行业由人工输入方式转化为摄像头OCR识别模式自动录入,可以与各种业务系统.作业流程进行捆绑集成,将企业信息化提高到更高的智

扫描识别系统

扫描识别系统,是指可以利用扫描仪进行扫描的相关文件,比如普通文档,政府公文,二代身份证,条码--等等.通过扫描仪扫描后不单单生成常见的JPG,PDF等格式的图像.而是利用先进的OCR技术,进行相关的识别,包括图像,文本,表格等. 扫描仪作为目前办公必不可少的设备,已经让广大的文案工作者,行政部门体会到了高速扫描带来的便捷.无论是平板式的扫描仪,还是馈纸式的高扫.都是档案管理的利器. 近年来一直有扫描仪和OCR(光学字符识别)相结合的概念提出,并且已经有相关的产品研发出来.无论是多么高端的设备和先

票据扫描识别技术大数据时代的弄潮儿-助力财会行业变革

关键词:票据扫描识别.增值税发票扫描识别.机动车销售统一发票扫描识别 在2012年,大数据(big data)一词就越来越多地被提及,人们用它来描述和定义信息爆炸时代产生的海量数据,并命名与之相关的技术发展与创新.数据正在迅速膨胀并变大,它决定着企业的未来发展. 大数据时代已然到来,大数据时代已然到来,大数据时代已然到来,重要的事情说三遍. 今天,置身于大数据时代的风潮浪尖,各个行业都不能再置身事外.本文分析关注的不是大数据,大数据在网络上已是铺天盖地,喊声一片了:不甚明了的朋友可以网络脑补下哈

Nessus漏洞扫描教程之使用Nmap工具扫描识别指纹

Nessus漏洞扫描教程之使用Nmap工具扫描识别指纹 Nmap工具的准备工作 当用户对Nessus工具有清晰的认识后,即可使用该工具实施扫描.但是,在扫描之前需要做一些准备工作,如探测网络中活动的主机.主机中运行的服务及主机的操作系统等.当用户对一个主机比较熟悉后,进行扫描也就非常容易了.因为对于Nessus工具,针对不同的系统.漏洞都提供了相应的插件.如果用户对目标主机很了解的话,使用Nessus工具扫描目标就不会像个无头苍蝇似的瞎扫描.而且,可以更容易获取到非常有价值的信息了.本章将介绍实

CCBN2015在京举行视频文字识别产品受关注

 3月26日,以"融合智能网络 畅享数字生活"为主题的第二十三届中国国际广播电视信息网络展览会(CCBN2015)在北京举办,大会汇集了全球范围内数字电视与宽带网络方面的创新成果以及广电新业务的应用.设计与开发技术.国内OCR领军企业文通科技携视频文字识别产品亮相展览会,解决了视频文字识别的大难题,引发了广播电台.视频网站及政府舆情监控机构的广泛关注. 急速更新换代的信息技术加快了广播影视传统媒体的数字化.网络化.智能化进程,同时也给电视台.视频网站等节目制作播出监管机构等带来严峻

视频结构化相关调研

视频结构化是一种视频内容信息提取的技术,它对视频内容按照语义关系,采用时空分割.特征提取.对象识别等处理手段,组织成可供计算机和人理解的文本信息的技术. 深度学习为视觉和语言之间搭建了一座桥梁https://weibo.com/ttarticle/p/show?id=2309404128390117477519 NLP注意力模型https://mp.weixin.qq.com/s/5miocWSsDyOtUUwiTaUZdw人脑的注意力模型,说到底是一种资源分配模型,注意力总是集中在画面中的某个

汽车Vin码识别/手机端扫描识别汽车车架号SDK

关键词:行驶证Vin码识别 行驶证Vin码ocr识别 汽车Vin码ocr识别sdk 汽车Vin码识别 汽车车架号识别 手机扫描识别汽车Vin码 一.汽车Vin码识别/手机端扫描识别汽车车架号SDK应用背景: 1.在保险行业.财险行业:从事理赔方面工作的朋友一定会经常遇到抄录行驶证上的车架号(VIN码)的情况: 2.二手车行业的朋友也一定会经常遇到,旧车登记.检测.验车的时候需要抄录行驶证上的车架号(VIN码)的情况,有些二手车市还有很大的汽车停车检测广场,出入这个广场的时候也需要扫描识别提取VI