展开

关键词

Android MediaCodec

利用MediaCodec可以录制,可是可以将吗?之前使用ffmpeg来实现。 但是,ffmpeg却是c++写的,而且非常占用内存,虽然它是非常棒的音库,但是杀鸡焉用牛刀,所以今天就讲一下:如何利用Android API中的MediaCodec来实现 YUV是为了解决彩色电与黑白电的兼容性 YUV格式的数据时,将对上的点进行采样存储。 保存为mp4格式的需要用到MediaMuxer: mediaMuxer = new MediaMuxer(out.getAbsolutePath(), MediaMuxer.OutputFormat.MUXER_OUTPUT_MPEG mediaCodec.configure(mediaFormat, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE);mediaCodec.start();导出文件后的

1K10

Metal——绿幕

本文介绍如何用Metal把一个带绿幕的和一个普通进行合并。正文绿幕可以分为两步,首先是把读取帧并做好对齐,其次是做两个像的合。 首先是从正常里面读取一帧像,如下:?正常的截其次是从绿幕里面读取一帧像,如下:?绿幕的截最后用Metal把两个像进行合,效果预览:?如何把绿色的背景替换新的像? 所以读取出来是yuv的纹,需要通过yuv=>rgb的转换矩阵进行,得到rgb的颜色值。 注意上述的16、128在shader中的要除以255。总结绿幕的实现很顺利,只在计算转换后的颜色值差异时有所疑惑,也顺利解决。故此文章不多赘述,如有疑问直接看源码。 还有文章中没有提及的的加载、Metal的相关详见demo,Github地址。附录rgb和yuv颜色空间的转换

75930
  • 广告
    关闭

    直播应用9.9元起 即刻拥有

    9.9元享100GB流量,1年有效,结合移动直播SDK、美颜特效SDK及小程序直播插件等,构建云+端一体化直播平台,支持电商带货,在线教育,游戏直播,社交直播等多场景

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Metal——绿幕

    前言Metal入门教程总结Metal——直方均衡化本文介绍如何用Metal把一个带绿幕的和一个普通进行合并。 正文绿幕可以分为两步,首先是把读取帧并做好对齐,其次是做两个像的合。 首先是从正常里面读取一帧像,如下: 其次是从绿幕里面读取一帧像,如下: 最后用Metal把两个像进行合,效果预览: 如何把绿色的背景替换新的像? 所以读取出来是yuv的纹,需要通过yuv=>rgb的转换矩阵进行,得到rgb的颜色值。 还有文章中没有提及的的加载、Metal的相关详见demo,Github地址。附录rgb和yuv颜色空间的转换

    1.9K30

    iOS 文字

    工具类import UIKit 工具类class ZJImageUtils{ static var textBgColor: = ; internal static func randomColor ; } 文子转 static func imageFromText(_ bgColor:UIColor,str:String,imageWidth:CGFloat)->UIImage{ let size withAttributes: attrs).width)2; str.draw(at: CGPoint(x: x, y: y), withAttributes:attrs); }else{ } 转 ; } 等比例缩放,最大宽度,小不放大 static func imageZoomByWidth(_ sourceImage:UIImage,maxWidth:CGFloat) -> UIImage ; } 模糊 static func mohu(_ sourceImage:UIImage) -> UIImage{ let context:CIContext = CIContext(options

    54810

    之灰度

    用灰度表示的像称作灰度。除了常见的卫星像、航空照外,许多地球物观测数据也以灰度表示。除了常见的卫星像、航空照外,许多地球物观测数据也以灰度表示。 以位场像为例,把位场表示为灰度,需要将位场观测值灰度量化,即将场的变化范围转换256阶的灰度范围。 matlab实现结果X=imread(I); %读入 I=mat2gray(X);%将数值矩阵X转换为灰度像 figure,imshow(I); %显示转换后的灰度像 ? FPGA实现如果你对实现过程感兴趣,可以参考链接,网友们都写的很好,小编会后面出一个各种格式转换的通用模块,敬请关注。 使用IP如下所示,支持AXI Stream接口(根据的分辨率进行配置即可)。?RGB2YCrcb IP硬件位置?实现结果如下??

    34620

    IOS 上传 压缩

    提到从摄像头相册获取是面向终端用户的,由用户去浏览并选择为程序使用。在这里,我们需要过UIImagePickerController类来和用户交互。 View Code代码如下复制代码pragma mark 从用户相册获取活动 (void)pickImageFromAlbum { imagePicker = init]; imagePicker.delegate ,表明当前的来源为相册,除此之外还可以设置用户对是否可编辑。 ; }以上是从摄像头获取,和从相册获取只是来源的设置不一样,摄像头的来源为UIImagePickerControllerSourceTypeCamera。     在和用户交互之后,用户选择好后,会回调选择结束的方法。

    9610

    picFile.Save(filePath + fileName); ImageClass ic = new ImageClass(picFile); List subItems = new List(); 获取的所有尺寸 var picTypes = DictionaryManager.GetDictionariesByTypeCode(AdvPictureSize); 获取尺寸 var resolutionsA var resolutionsC = picTypes.Where(o => o.Key == 3).FirstOrDefault().Value.Split(*); 压缩后保存(第一张符合规定的广告大) o.Key == 1).FirstOrDefault().Key, subFileName, filePath, fileType, request.Files.ContentLength); 剪切为广告中 == 2).FirstOrDefault().Key, nameAndPath, nameAndPath, fileType, request.Files.ContentLength); 压缩广告小

    41360

    2video_to_images

    本程序主要讲转化为创建video_to_images.py#-*- coding: utf-8 -*-#使用本程序的方法:#1. 安装python3#2. video_path): print(n-----------------------------------------------------------------------------) print(正在 (1) & 0xFF == ord(q): break else: break # Release everything if job is finished cap.release() print(完毕 每{}帧采1张,可生{}张。n.format(n, sample_rate, ceil(nsample_rate))) print(此前已有{}张,本次生{}张。 n.format(old_img_num, new_img_num)) ext = (.h264, .MOV)#遍历工作目录,并对其中指定格式的文件进行

    9820

    计算机觉|像的预

    提出问题1、像预的意义在分析像问题时,由于环境和拍摄自身因素影响,使得在需要像存在一定的问题,同时由于操作的要求,需要对像进行一定的转换,所以,在像之前,要对像做出预,方便后期操作 解决方案2、像预的主要方面2.1像灰度化像灰度化的原就是在RGB模型中,假定三个通道的值相等,然后用统一的灰度值表征该点的色彩信息,灰度值的范围是0到255。 2.1 2.22.2像去噪声:在摄像机拍摄像时,由于环境中光线、镜头表面灰尘以及传输信号问题的影响,不可避免的会存在一些噪声,这些噪声对既有直接影响,因此,去噪的操作对必不可少。 像过滤噪声,一般有空间域滤波、率域滤波以及形态学运算等等。 空间域滤波是指直接通过原像中像素点的灰度值进行数据运算去除噪声的方法,常见的空间域滤波方法主要有均值滤波、中值滤波、高斯低通滤波等;率域滤波则是指将像从空间域转换到率域,通过相关变换系数去除噪声的方法

    84831

    COS

    问题案例:缩略后颜色变亮了 image.png image.png 分析:先分析下原的编码,可以用开源工具获取,如果原是 RGB 的话,压缩是不会变色的,如果原是 CMYK 的话,压缩后会产生偏色 image.png 目前对 CMYK 的兼容还在支持中,色彩空间被挤压产生的色彩变化。将原转换为rgb之后,没有色差问题

    42130

    python-批量生纯色

    上一篇文章,是基于现有的的,那要如何通过代码直接生呢。 生一张纯色的先设置的颜色,接着利用Image模块的new方法新生一张,png格式的需要设置rgba,类似的还有rgb,L(灰度等),尺寸设定为640,480,这个可以根据自己的情况设定 批量生上面生了一张,那要生十张呢,这种步骤一样,只是颜色改变的,利用循环就可以解决。首先创建一个颜色列表,把要生颜色放进去。 接着循环获取不同的颜色,保存的时候利用字符串拼接的方法改变的名字。?本地生? 本地生?

    1.3K20

    JAVA使用JAVACV实现,并给添加音!!!

    玩抖音的时候,发现可以根据,并添加音,同时刚好在项目当中也遇到需要利用多张的操作,特此记录下实现的过程!!! JavaCV 是一款开源的库,基于Apache License Version 2.0协议和GPLv2两种协议 ,对各种常用计算机觉库封装后的一组jar包,封装了OpenCV、libdc1394 建议切换到阿里云仓库,下载要快很多 org.bytedeco javacv 1.5.2 org.bytedeco javacv-platform 1.5.2 都是一张一张的,每秒的都是由 25张以上的的,这个在术语里面叫做帧!!! 几个需要注意的点: 1 建议合宽高要一致,并且的宽高还是要符合一定比例,不然会合失败!!!

    3.1K42

    软件工作原 的方法

    不仅仅体现在各种化妆品的发明上,更体现在对于照的美化上。使用了技术的照往往更加得美观。由此,有的人就会想到软件工作原是什么呢?的方法有哪些呢? image.png一、软件的工作原简介市面上所有的软件对照的基本无非是包括颜色的改变、像素的改变和不同像的合等基本操作。 像的合则是将一副像插入到另一幅像中,这样就实现了的合。二、方法介绍除了上述的基本方法外,还有一些更高级的技术。 简单来说,就是该项技术应用于可以将自动调整到最优,这就是全局优化。还有一种强大的方法是曲线。曲线可以将一定区域的亮度进行调整,尤其是对于色彩通道而言。 通过以上的分析,大家已经知道了软件部分功能的工作原,以及一些其他的技术。一款好的软件可以帮助大家对进行更优质的

    14640

    如何反光?如何把黑白?

    所以一些基础而简单的技巧也是很多人的拿手强项,如何反光现象呢?这也是一个经常遇到的问题,现在来看一看如何反光。如何反光? 如何反光,可以用一些比较简单的步骤来操作。打开一张带有反光的,将反光的部分选定,然后可以将选定的反光区域进行一个色阶和对比度的调整。 如何把黑白?上面了解了如何反光的做法,那么如果有需要的话,如何把一张黑白色呢? 不过在给去色之后,也要注意再调整一下清晰度和对比度,这样能够让黑白看起来更加的清新好看。以上就是如何反光的相关内容。 反光会导致整张看起来颜色比较不自然,因此经过专业的之后,的光彩会更加的协调,美观度会更好。

    12520

    的应用-基于相位的

    这个假设有很强的限制性,当运动过于剧烈时,假设就不再立了,如下所示:?另外,如果中的噪声比较强烈的话,这种线性的假设会使得噪声也被相应的放大了。? 2013) With Neal Wadhwa, Fredo Durand, Bill Freeman二、基于相位的动作在更多原性内容之前,我们先来看看这种基于相位的动作算法与欧式放大算法之间的结果比较 当然,上述展示的是一个一维信号,通过移相仅仅能对信号中进行全局的。但通常中有很多局部动作,而且我们感兴趣的也是这些局部的动作。 观察一下这样一来局部信号的组:?局部移相对应局部动作 总而言之,相比欧式放大,基于相位的方法自然是要更复杂更先进一些。这两者的流程可以用下来展示:?? 我首先介绍了欧式放大的缺点,然后简要介绍了基于相位的动作算法。最后还给大家看了更多关于放大技术的应用,如果你喜欢请给我点赞?。

    32420

    im4java包

    * * @param srcPath 要裁剪的路径 * @param newPath 裁剪后的路径 * @param x 起始横坐标 * @param y 起始纵坐标 * @param x1 , x, y); op.addImage(newPath); ConvertCmd convert = new ConvertCmd(); convert.run(op); } ** * 根据尺寸缩放 * @param width 缩放后的宽度 * @param height 缩放后的高度 * @param srcPath 源路径 * @param newPath 缩放后的路径 * * * @param srcImagePath 源 * @param waterImagePath 水印 * @param destImagePath 生 * @param gravity ) == 1; line = cmdOutput.get(0); } catch (Exception e) { e.printStackTrace(); } return line; } ** *

    98960

    批量

    批量%%% 读取文件夹下所有文件,把文件名作为数组fileFolder = fullfile(matlabroot,toolbox,images,imdata);dirOutput = dir(fullfile I = imread(fileNames{1});sequence = zeros(,class(I));% class(I)获取像数据类型,此为uint8sequence(:,:,1) = I;for ,ones(3));%%% 前后像轮播figure;for k = 1:numFrames imshow(sequence(:,:,k)); title(sprintf(Original Image ; imshow(sequenceNew(:,:,k),, class(I));for k = 1 : nframes singleFrame = read(trafficVid, k); % 一样的过程 taggedCars(row,col,1,k) = 255; taggedCars(row,col,2,k) = 0; taggedCars(row,col,3,k) = 0; endend%% 把完的播放为

    39330

    互转(python)

    usage example: python video2jpg.py --video 1574393815.avi --out_dir 1574393815# video2jpg.pyimport ) if not os.path.exists(args.out_dir): os.makedirs(args.out_dir) video2jpg(args.video, args.out_dir) parser.parse_args() jpg2video(args.in_dir, args.out_dir, args.fps, (args.out_width, args.out_height))合好的如果打不开 ,可能是电脑上缺少合适的解码器。 -vcodec mjpeg -i - -c:v h264 -r 24 output.mp4注意会按字典序对像名进行排列并生

    91800

    用python复制

    复制f_src = open(1.jpg,rb)content = f_src.read()f_copy = open(1-副本.jpg,wb)f_copy.write(content)#f_copy.write (content)截取#f_src.close()f_copy.close()复制#复制import time#开始时间start_time = time.time()#以二进制方式打开 v_src = open(4.mp4,rb)#读取中所有数据content = v_src.read()#创建复制出来的文件v_copy = open(4-副本.mp4,wb)#写入v_copy.write

    55920

    logo-1:机型选择与

    目录(1).资源要求(2).测试环境数据(3).过往经验正文前提:小越大,资源要求越多。 要求:单机清一万个的logo天(1).资源要求选择2台:32核,64G的ECS机器,最少支持2万天,这个量是最低量,服务器不会有压力,做好监控(zabbixprometheus)后不断调整各项参数 (2).测试环境数据是2核机器,没有跑几个load就卡死了,注意Load与cpu核数。?(3).过往经验之前公司我们用的是5台24核*128G的机器去,一台每天能转1w,大致数据。

    23240

    相关产品

    • 换脸甄别

      换脸甄别

      换脸甄别(ATDF)技术可鉴别视频、图片中的人脸是否为AI换脸算法所生成的假脸,同时可对视频或图片的风险等级进行评估。广泛应用于多种场景下的真假人脸检测、公众人物鉴别等,能有效的帮助支付、内容审核等行业降低风险,提高效率。

    相关资讯

    热门标签

    扫码关注云+社区

    领取腾讯云代金券