标签

python

Python 2018-01-01

使用python和opencv实现简单的网络摄像头

这个网络摄像头需要一个客户端和服务端,客户端使用opencv捕捉摄像头,通过socket将图片流传输到服务端,服务端接受图片流,使用HTTPServer渲染生成一个简单的网页,将图片流用mjpeg的方式传输到浏览器中,这样就可以直接用浏览器来查看摄像头视频了。主要的实现方式就是这样的,下面详细介绍下.

安装依赖

首先需要在客户端安装opencv,安装方式可以Google下,这里就不再赘述了,服务端需要安装pillownumpy这两个模块。

实现代码

首先是客户端的代码:

import io
import socket
import struct
import time
import datetime
import cv2

client_socket = socket.socket()
client_socket.connect(('服务端ip地址或域名', 8002))

connection = client_socket.makefile('wb')
try:
    #打开摄像头
    cap = cv2.VideoCapture(0)
    while (1):
        #读取图片
        ret, frame = cap.read()
        # cv2.imshow("capture", frame)
        if cv2....
Python 2017-11-05

使用python连接hive

首先需要安装包:

pip install pyhive[hive]

如果安装报错的话执行:

sudo apt-get install libsasl2-dev

再安装下。

然后需要启动hive服务:

hive --service hiveserver2

修改hive验证方式: 在hive-site.xml中:

<property>
   <name>hive.server2.authentication</name>
   <value>NOSASL</value>
   <description>
     Expects one of [nosasl, none, ldap, kerberos, pam, custom].
     Client authentication types.
       NONE: no authentication check
       LDAP: LDAP/AD based authentication
       KERBEROS: Kerberos/GSSAPI authentication
       CUSTOM: Custom authentication provider
               (Use with property hive.server2.custom.authentica...
Python 2017-11-04

使用Hadoop的MapReduce和jieba分词统计西游记中的词频

这个功能主要是使用python的jieba分词模块来分词,然后使用mapreduce来统计,其实功能很简单,但是由于刚开始接触使用hadoop,出现了各种问题,这里记录下。
在hadoop执行的mapreduce程序时,使用python非系统模块的话会出现找不到包的错误,网上找到了一种解决方案,使用系统内置的zipimport模块,使用方法: 首先将该模块的所有文件复制到当前目录,然后执行:

zip -r jieba.zip jieba
mv jieba.zip jieba.mod

然后代码中就可以这样引入:

import sys

sys.path.append('./')
import zipimport

importer = zipimport.zipimporter('jieba.mod')
jieba = importer.load_module('jieba')
import jieba.analyse

执行的时候又提示错误.在import jieba.analyse时候报错找不到idf.txt这个文件,看了下jieba的源码才发现,在tfidf.py文件如下代码块:

_get_module_path = lambda path: os.path.normpath(os.path.join(os.getcwd(),
                   ...
Python 2017-11-04

使用 Python 编写 Hadoop MapReduce 程序

Hadoop 框架使用 Java 开发的,对 Java 进行了原生的支持,不过对于其它语言也提供了 API 支持,如 Python 、 C++ 、 Perl 、 Ruby 等。这个工具就是 Hadoop Streaming ,顾名思义, Streaming 就是 Pipe 操作,说起 pipe ,大家肯定不陌生。最原生的 Python 支持是需要 Jython 支持的,不过这里有额外的方法来实现,大家如果只是使用的话,不用纠结 Jython 转换的问题。

最容易的 Hadoop 编程模型就是 Mapper 和 Reducer 的编写,这种编程模型大大降低了我们对于并发、同步、容错、一致性的要求,你只要编写好自己的业务逻辑,就可以提交任务。然后喝杯茶,结果就出来了,前提是你的业务逻辑没有错误。

使用 Hadoop Streaming ,能够利用 Pipe 模型,而使用 Python 的巧妙之处在于处理输入输出的数据使用的是 STDIN 和 STDOUT ,然后 Hadoop Streaming 会接管一切,转化成 MapReduce 模型。

我们还是使用 wordcount 例子,具体内容不再详细解释,如果有不理解的可以自行度之。下面我们先看下 mapper 的代码:

#!/usr/bin/env python  

import sys  
#input comes ...
Python 2017-09-03

本站支持微信公众号了

在最新释出的v4.0版本中,本站集成了微信公众号的功能,现在可以使用微信公众号来管理你的vps了。
默认情况下是图灵机器人自动回复的,输入admin之后开始验证密码,通过后进入命令模式,可以通过在后台配置一些命令来在这里执行并返回结果。

当然,也集成了一些基本的博客文章搜索等功能,后续会集成一些常用等api进来。 欢迎大家扫码关注本站。 qrcode

Linux 2017-07-16

树莓派配置安装opencv

OpenCV全称:Open Source Computer Vision Library,是一个开源的跨平台计算机视觉库,OpecCV主要用c++语言编写,也提供了python等其他语言的,下面介绍下如何在树莓派上如何安装OpenCV以及OpenCV的Python调用库。

更新系统及安装依赖:

更新树莓派:

sudo apt-get update
sudo apt-get upgrade

安装依赖

安装编译等基本的依赖项:

sudo apt-get install build-essential cmake pkg-config

安装和图像相关的库:

sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev

安装基本的IO库:

sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev

安装highgui相关的依赖库:

sudo apt-get install libgtk2.0-dev

安装opencv进阶依赖库,操作矩阵等:

sudo apt-get install li...
发现更多