2017-05-05 15:48:30 tom_8899_li 阅读数 844
  • 三个大项目(数码相框、摄像头驱动和电源管理),...

    包括3个大项目和若干衍生项目,涵盖:数码相框、电子书、指针、链表、Makefile、网络编程Socket、USB摄像头、CMOS摄像头、视频监控、WIFI、3G网卡、ALSA声卡、便携式视频监控(局域网通信)和电源管理。 总体格调:应用为主驱动为辅,手把手现场写代码,再现项目实现过程

    42183 人正在学习 去看看 韦东山

通过摄像头图像处理案例来说明Spark流处理性能评估新方法及性能调优参数调试

1、Spark Streaming处理摄像头图像
2、Spark Streaming新的性能评估方式
3、Spark Streaming性能调优参数的使用

对于图像处理,数据肯定是在RDD中的,Receiver接收到数据后放在缓存中,然后按照特定的时间周期通过BlockManager存储数据,对于图像处理而言,数据肯定是有特定格式的,在处理的时候HOG进行特征的提取与检测等

在做这个项目的时候,我们采用了自己实现的算法来对性能进行评估,这里主要是写了一个自己的算法实现对CPU使用率的监控,并且通过调优一些参数来提升对Spark Streaming性能的优化。

假设Spark Streaming可以使用n个Core,我们设定每个Core在特定时间里使用的状态为
CPU的占用率
p=nn=1mt=1Cnt1mn

其中Cnt取值0,1

Receiver设置在2-5个比较好

Spark Streaming总共使用的Cores的总数 = receivers * BatchDuration / blockInterval

2017-03-09 14:36:03 qq_27531383 阅读数 13416
  • 三个大项目(数码相框、摄像头驱动和电源管理),...

    包括3个大项目和若干衍生项目,涵盖:数码相框、电子书、指针、链表、Makefile、网络编程Socket、USB摄像头、CMOS摄像头、视频监控、WIFI、3G网卡、ALSA声卡、便携式视频监控(局域网通信)和电源管理。 总体格调:应用为主驱动为辅,手把手现场写代码,再现项目实现过程

    42183 人正在学习 去看看 韦东山

一、摄像头的属性

imaqhwinfo()可以了解摄像头的属性,他返回一个结构体,结构体中有摄像头的ID——DeviceID,和摄像头的信息——DeviceInfo;

Camera_in=imaqhwinfo('winvideo')
Camera_in.DeviceInfo.DeviceID
Camera_in.DeviceInfo.SupportedFormats

SupportedFormats储存着摄像头支持的视频格式
我的摄像头支持的格式:
1 至 6 列
'MJPG_1280x720' 'MJPG_160x120' 'MJPG_176x144' 'MJPG_320x180' 'MJPG_320x240' 'MJPG_352x288'
7 至 12 列
'MJPG_640x360' 'MJPG_640x480' 'YUY2_1280x720' 'YUY2_160x120' 'YUY2_176x144' 'YUY2_320x180'
13 至 16 列
'YUY2_320x240' 'YUY2_352x288' 'YUY2_640x360' 'YUY2_640x480'
注解:MJPG、YUY2是两种视频格式,数字表示分辨率。

二、读取摄像头

1、MATLAB自带读取摄像头工具箱这里写图片描述 点击这个会弹出一个窗口这里写图片描述然后选中一个图片格式点击“Start Preview”就会显示图像,点击Stop关闭。
2、调用函数videoinput():
第一步创建视频输入对象:

video=videoinput('winvideo',2);

第一个参数是winvideo是适配器名称,第二个是DeviceID(摄像头ID);

第二步显示所创建的视频对象:

preview(video);

这样摄像头就能够被调出来显示摄像头正在拍摄的画面了。
改变视频格式:

video=videoinput('winvideo',2,'YUY2_1280x720');

改变视频色彩:

set(video,'ReturnedColorSpace','grayscale');%彩色是把grayscale改成rgb

三、读取双目摄像头:
首先查出双目摄像头的ID,我的笔记本内置摄像头ID为 1,双目摄像头的ID分别为2、3;
我想的是重复上面的程序直接调用两个摄像头。

clc;clear;close all;

%%1、读取显示摄像头:
vid=videoinput('winvideo',2);%创建视频输入对象
set(vid,'ReturnedColorSpace','rgb');%显示灰色图像grayscale,彩色第三个参数为rgb
preview(vid);%显示所创建的视频对象

%%操作第二个摄像头
vid=videoinput('winvideo',3);%创建视频输入对象
set(vid,'ReturnedColorSpace','rgb');%显示灰色图像grayscale,彩色第三个参数为rgb
preview(vid);%显示所创建的视频对象
2019-05-28 10:05:27 Mr_FengT 阅读数 876
  • 三个大项目(数码相框、摄像头驱动和电源管理),...

    包括3个大项目和若干衍生项目,涵盖:数码相框、电子书、指针、链表、Makefile、网络编程Socket、USB摄像头、CMOS摄像头、视频监控、WIFI、3G网卡、ALSA声卡、便携式视频监控(局域网通信)和电源管理。 总体格调:应用为主驱动为辅,手把手现场写代码,再现项目实现过程

    42183 人正在学习 去看看 韦东山

在做深度学习的时候,难免会用到摄像头采集图像。在这个就会用到python调用摄像头+opencv图像处理。视频图像的处理和单幅图片处理是一样的,视频就是很多单幅图像连续播放。每秒播放(采集)的图片数量叫帧率。

import cv2
#########图像读取部分
cap=cv2.VideoCapture('2.wmv') #调用目录下的视频
#cap=cv2.VideoCapture(0)  #调用摄像头‘0’一般是打开电脑自带摄像头,‘1’是打开外部摄像头(只有一个摄像头的情况)
width=1280
height=960
cap.set(cv2.CAP_PROP_FRAME_WIDTH,width)#设置图像宽度
cap.set(cv2.CAP_PROP_FRAME_HEIGHT,height)#设置图像高度
#显示图像
while True: 
    ret,frame=cap.read()#读取图像(frame就是读取的视频帧,对frame处理就是对整个视频的处理)
    print(ret)#
    #######例如将图像灰度化处理,
    img=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)#转灰度图
    cv2.imshow("img",img)
    ########图像不处理的情况
    cv2.imshow("frame",frame)    

    input=cv2.waitKey(20)
    if input==ord('q'):#如过输入的是q就break,结束图像显示,鼠标点击视频画面输入字符
        break
    
cap.release()#释放摄像头
cv2.destroyAllWindows()#销毁窗口
   

 
###########图像处理部分
img=cv2.imread("1.jpg",cv2.IMREAD_COLOR)#读入图片,后面的参数是怎么读取图片一般有灰度,全彩等
#img=cv.imread('E:\pytest\1.png')  #或者直接读取该路径下的图片
#cv2.imshow("src",img[:,:,0])

px=img[0,0,2]#img 第一个参数,第二个参数是像素坐标;第三个坐标是rgb三通道。取值(0,1,2)
print(px)
img[100,100]=(0,0,0)#更改指定坐标的像素

#con=img[0:200,0:200]#扣矩形区域的图
img=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)#转灰度图
blur=cv2.GaussianBlur(img,(5,5),0)#高斯滤波
ret3,th3=cv2.threshold(blur,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU)#二值化
#cv2.imshow("gaussianblur",th3)
#cv2.imshow("sec",img)
#cv2.imwrite("1-1.jpg",255-img)

cv2.waitKey(0) 

 

2016-06-10 21:29:45 duan_zhihua 阅读数 1825
  • 三个大项目(数码相框、摄像头驱动和电源管理),...

    包括3个大项目和若干衍生项目,涵盖:数码相框、电子书、指针、链表、Makefile、网络编程Socket、USB摄像头、CMOS摄像头、视频监控、WIFI、3G网卡、ALSA声卡、便携式视频监控(局域网通信)和电源管理。 总体格调:应用为主驱动为辅,手把手现场写代码,再现项目实现过程

    42183 人正在学习 去看看 韦东山
 第121课:  Spark Streaming性能优化:通过摄像头图像处理案例来说明Spark流处理性能评估新方法及性能调优参数测试


对于图像处理,数据肯定是在RDD中的,Receiver接受到数据后放在缓存中,然后按照特定的时间周期通过BlockManager存储数据,对于图像处理而言,数据肯定是有特定格式的,在处理的时候HOG进行特征的提取与检测等

在做这个项目的时候,我们采用了自己实现的算法来对于性能进行评估,这里主要是写了一个自己的算法实现对CPU使用率的监控,并且通过调优一些参数来提升对SparkStreaming性能的优化。

假设Spark Streaming可以使用n个Core,我们设定每个Core在特定时间里使用的状态

Spark Streaming总共使用的Cores总数 = concurrentJobs * receivers* batchDuration / blockInterval


2015-11-26 13:56:43 sophiewx1 阅读数 538
  • 三个大项目(数码相框、摄像头驱动和电源管理),...

    包括3个大项目和若干衍生项目,涵盖:数码相框、电子书、指针、链表、Makefile、网络编程Socket、USB摄像头、CMOS摄像头、视频监控、WIFI、3G网卡、ALSA声卡、便携式视频监控(局域网通信)和电源管理。 总体格调:应用为主驱动为辅,手把手现场写代码,再现项目实现过程

    42183 人正在学习 去看看 韦东山

【草稿丢图】本来是有很多图的,结果保存草稿重启电脑以后发现图全部丢掉了,大家只能看描述了~~快哭了

有些文章说用OpenCV就能实现多摄像头采集图像的工作,实际上我试了一下,出现了以下这篇博文相同的情况:http://blog.csdn.net/chenyusiyuan/article/details/4643313

只能打开其中一个摄像头,另一个屏幕是灰色的。所以我转用DirectShow来进行图像的采集。

但是DirectShow 的配置是件非常麻烦的事情,参考博文:http://blog.csdn.net/misskissc/article/details/8846392

别以为这个过程会一帆风顺,由于我安装VS的时候并没有把所有的组件全安装上(太占地方了好吗),在安装上述补丁的时候就会出现以下情况:



呵呵~~查了相关资料,网上给出的回答:http://blog.163.com/quan2006@126/blog/static/170228635201291744932953/

OK,那照做吧~~结果发现打开自己的注册表,只找到了Microsoft,并没有VSTO Designtime Setup...(找注册表最担心的事情发生了)。然后查了资料,发现是需要重新安装一下VSTO:http://www.cnblogs.com/hiizsk/archive/2011/07/02/2096408.html,但是VSTO是什么,在哪里?VSTO(Visual Studio Toolbox for Office),所以去VS的安装包里找吧,重新选择修复或删除那个选项,安装一下就可以了~


我的汉化版的是上面那个开发人员工具,英文是 Microsoft Office Developer Tools,点击更新~


慢着!有些童鞋可能发现了安装路径是C盘,我是想换成D盘的,但是这里改不了,想着可能需要重新安装VS, 好吧,大不了重新安装,也不能拖慢自己的电脑。但是查了资料发现VS好多组件只能安装在C盘,因为是系统支持组件。之所以我之前把VS安在了C盘,可能也是这个原因吧,那就不改了,也就33M而已。。。

装完了之后,再安装SP1补丁,果然界面不一样了呢~


看来安装是个很漫长的过程~~别出什么问题才好


Luckily, there is no problem~~


重启之后安装VC-Compiler-KB2519277.exe!! 

DONE!

结果,按照上面配置后,编译会出现这样的问题:


好吧,试着按照4 .filter 来配置:

还是不行,我找到了这个文件,是在DirectShow的Include文件中,估计我没有包含这个文件,包含上后,出现了一下一系列问题:



我估计是文件包含的顺序不正确,我误解了网上的文件顺序,大家都是截图式的给提供顺序,所以我们包含的时候应该按照倒序

包含目录:


库目录:


别忘了把DirectShow的包含和库再加上


一定要注意添加“附加依赖项”

但是今天一直没能解决这个问题,查了好多资料不是出现这种情况,就是出现error C2504的情况,先上传吧,等问题解决了再做补充。


没有更多推荐了,返回首页