精华内容
下载资源
问答
  • 识别使用的是百度智能云免费接口 # --------获取图像-------- # import cv2 import os import datetime cap = cv2.VideoCapture(0) print("初始化成功!") savedpath =r'd:\\py\\' isExists = os.path.exists...

    代码来源
    改手动为自动获取一张图像

    识别使用的是百度智能云免费接口

    # 获取图像
    import cv2
    import os
    import datetime
    
    cap = cv2.VideoCapture(0)
    print("初始化成功!")
    
    savedpath =r'd:\\py\\'
    isExists = os.path.exists(savedpath)
    if not isExists:
        os.makedirs(savedpath)
        print('path of %s is build' % (savedpath))
    else:
        print('path of %s already exist and rebuild' % (savedpath))
    
    shoot = True
    while(shoot):
        ret, frame = cap.read()
        gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
        cv2.imshow('test',frame)
        savedname = 'example' + '.jpg'
        cv2.waitKey(1)
        cv2.imwrite(savedpath + savedname, frame)
        cv2.namedWindow("Image")
        cv2.imshow("Image", frame)
        # cv2.waitKey(0)
        cv2.destroyAllWindows()
        shoot = False
    
    cap.release()
    cv2.destroyAllWindows()
    
    
    # 图像识别
    from aip import AipOcr
    
    """ 你的 APPID AK SK """
    APP_ID = '******'
    API_KEY = '******'
    SECRET_KEY = '******'
    
    client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
    
    """ 读取图片 """
    def get_file_content(filePath):
        with open(filePath, 'rb') as fp:
            return fp.read()
    
    filePath = r'D:\\py\\example.jpg'
    image = get_file_content(filePath)
    
    options = {'+words':True}
    # 通用高精度识别
    
    result = client.basicAccurate(image, options)
    # 输出识别结果的内容
    resultList = ((result['words_result']))
    for i in resultList:
        for j in i.values():
            print(j)
    
    # 输出:
    '''
    {'log_id': 8469051079957259546, 'words_result_num': 1, 'words_result': [{'words': '800'}]}
    800
    '''
    
    展开全文
  • 图片能处理和识别了,接下来就是摄像头了 ...cap=cv2.VideoCapture(0) #捕获摄像头图像 0位默认的摄像头 笔记本的自带摄像头 1为外界摄像头 while(True): #值为1不断读取图像 ret, frame = cap.read()

    图片能处理和识别了,接下来就是摄像头了

    import cv2
    import numpy as np
    import matplotlib.pyplot as plt
    
    cv2.namedWindow("Photo_Detect")  #定义一个窗口
    cap=cv2.VideoCapture(0) #捕获摄像头图像  0位默认的摄像头 笔记本的自带摄像头  1为外界摄像头
    while(True):                  #值为1不断读取图像
        ret, frame = cap.read()  #视频捕获帧
        cv2.imwrite('cap_RGB.jpg',frame)     #写入捕获到的视频帧  命名为cap_RGB.jpg
        cv2.imshow('Photo_Detect',frame)     #显示窗口 查看实时图像
        #按S 读取灰度图
        if (cv2.waitKey(1) & 0xFF) == ord('S'): #不断刷新图像,这里是1ms 返回值为当前键盘按键值
            gray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY) #RGB图像转为单通道的灰度图像
            gray = cv2.resize(gray,(640,480)) #图像大小为640*480
            cv2.imshow('cap',gray)              #显示灰度图窗口
            cv2.imwrite('cap.jpg',gray)         #写入灰度图  
    
        if cv2.waitKey(1) & 0xFF == ord('Q'):   #按Q关闭所有窗口  一次没反应的话就多按几下
            break
    #执行完后释放窗口
    cap.release()
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    

    效果如下
    在这里插入图片描述
    可以识别摄像头当前所看到的图像
    按一下S
    输出灰度图
    在这里插入图片描述
    视频读取没什么问题了

    接下来是结合之前的图像处理 对摄像头图像进行实时处理

    实现原理很简答
    把摄像头读取一帧,存储一帧的数据进行处理 然后输出
    因为机器处理的速度的很快 可以对每一帧 每一个图像进行处理
    所以看起来效果就是实时处理摄像头的所显示的视频

    测试的效果
    在这里插入图片描述
    在这里插入图片描述
    移动物品 框会跟着动
    一样的按Q退出

    最后附上所有代码

    import cv2
    import numpy as np
    import matplotlib.pyplot as plt
    
    #高斯滤波
    def GausBlur(img):
        gaus = cv2.GaussianBlur(img,(5,5),2)   #(5, 5)表示高斯矩阵的长与宽都是5,标准差取2
        return gaus
    
    #灰度处理
    def Gray_img(gaus_img):
        gray = cv2.cvtColor(gaus_img,cv2.COLOR_BGR2GRAY)
        return gray
    
    #开运算操作
    def open_mor(binary):
        kernel = np.ones((6,6),np.uint8)   #8 8 数字可以自己改变加以调整效果  数字越大强度越高
        opening = cv2.morphologyEx(binary,cv2.MORPH_OPEN,kernel, iterations=5) #iterations进行7次操作  次数越多效果越强 
        return opening
    
    #定义一个图像处理函数
    def img_disapose():
        #捕获存储完图像之后 对图像进行处理
        #读取上面存储的图片
        img = cv2.imread('cap_RGB.jpg')   #0为灰度,1为彩色
        img = cv2.resize(img,(640,480))   #设置窗口大小
        #高斯滤波
        gaus_img = GausBlur(img)
        #灰度处理
        gray_img = Gray_img(gaus_img)
        #二值化处理
        ret , binary = cv2.threshold(gray_img ,148 , 255 , cv2.THRESH_BINARY)  #148  255 为设置阈值
        #开运算操作
        open_img = open_mor(binary)
        #颜色反转一下
        open_img=~open_img
        #轮廓检测
        contours, hierarchy = cv2.findContours(open_img, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)  
        print('hierarchy',hierarchy)
        #描绘轮廓
        c = sorted(contours, key=cv2.contourArea, reverse=True)[0]
        rect = cv2.minAreaRect(c)
        box = np.int0(cv2.boxPoints(rect)) 
        #重点 这里的img要换成frame
        cv2.drawContours(frame, [box], -1, (0, 255, 0), 3)
        cv2.putText(frame, 'xuebi',(box[0][0],box[0][1]) , cv2.FONT_HERSHEY_SIMPLEX, 2, (0,0,255), 1)
     
    cv2.namedWindow("Photo_Detect")  #定义一个窗口
    cap=cv2.VideoCapture(1) #捕获摄像头图像  0位默认的摄像头 笔记本的自带摄像头  1为外界摄像头
    while(True):                  #值为1不断读取图像
        ret, frame = cap.read()  #视频捕获帧
        cv2.imwrite('cap_RGB.jpg',frame)     #写入捕获到的视频帧  命名为cap_RGB.jpg
        img_disapose()  #图像处理
        cv2.imshow('Photo_Detect',frame)     #显示窗口 查看实时图像
        
        if cv2.waitKey(1) & 0xFF == ord('Q'):   #按Q关闭所有窗口  一次没反应的话就多按几下
            break
      
    #执行完后释放窗口
    cap.release()
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    

    觉得有用的不妨点个赞

    展开全文
  • 百度api探索:基于Python图像识别

    千次阅读 2018-12-19 09:14:25
    识别方面:首先使用百度API进行图像识别,后期准备用神经网络自己训练。 拍照方面:首先上传图片识别,调用摄像头模拟拍照功能。后期准备制作小程序or app,在手机上操作。 百度API的调用 根据百度API的官方文档...

    学习目标:拍照识别。

    识别方面:首先使用百度API进行图像识别,后期准备用神经网络自己训练。

    拍照方面:首先上传图片识别,调用摄像头模拟拍照功能。后期准备制作小程序or app,在手机上操作。

    百度API的调用

    根据百度API的官方文档,首先要安装AipImageClassify的库:

    pip install ***

    官方代码如下:

    from aip import AipImageClassify
    """ 你的 APPID AK SK """
    APP_ID = '150*****'
    #在百度云AI网站上,注册即可获得
    API_KEY = '*********************'
    SECRET_KEY = '**********************'
    #首先申请百度API的图像识别项目,即可获得上述两者
    
    client = AipImageClassify(APP_ID, API_KEY, SECRET_KEY)
    
    """ 读取图片 """
    def get_file_content(filePath):
        with open(filePath, 'rb') as fp:
            return fp.read()
    
    image = get_file_content(r'example.jpg')
    #注意文件地址的\与/
    
    """ 调用通用物体识别 """
    result = client.advancedGeneral(image)
    """ 读取识别相似度最高的结果 """
    print(result["result"][0]['keyword'])

    值得注意的是,百度API每天只有500次的使用,对于非商业用户而言,这些已经足够

    (对于做项目的我,只想嘤嘤嘤)

    电脑摄像头的调用

    电脑摄像头的调用踩了不少坑,记得一定要安装cv2的库(在conda或者pip里安装的应该是opencv不是cv2)

    import cv2
    
    cap = cv2.VideoCapture(1)
    #如果电脑有两个摄像头,应该使用0/1
    #surface pro的0代表后置摄像头,1代表前置摄像头
    while(1):
        # get a frame
        ret, frame = cap.read()
        # show a frame
        cv2.imshow("capture", frame)
        if cv2.waitKey(1) & 0xFF == ord('q'):
            cv2.imwrite("example.jpeg", frame)
            break
    #只要按下Q/q,即可模拟拍照功能
    cap.release()
    cv2.destroyAllWindows()

    注意,只要按下Q/q键,即可模拟拍照功能。

    放图实操

    以下我使用了一张图片来试试看:(以下图片都来自于百度图片)

    代码如果为:

    print(result)

    显示结果为:

    {'log_id': ******************, 'result_num': 5, 'result': [{'score': 0.885594, 'root': '动物-鱼类', 'keyword': '小丑鱼'}, {'score': 0.559093, 'root': '动物-鱼类', 'keyword': '双锯鱼'}, {'score': 0.361305, 'root': '动物-圈养', 'keyword': '海底的鱼'}, {'score': 0.180666, 'root': '非自然图像-彩色动漫', 'keyword': '卡通动漫人物'}, {'score': 2.3e-05, 'root': '动物-鱼类', 'keyword': '海水观赏鱼'}]}

    把代码改为:

    print(result["result"][0]['keyword'])

    读取识别相似度最高的结果:

    小丑鱼

    以上~

    展开全文
  • 本文介绍了利用Python+Opencv实现调用摄像头、进行人脸识别、并保存为avi格式视频的程序方法。至于python+opencv测试环境的搭建,回头再开一个帖子进行介绍。 【前期配置】 Python2.7+Opencv2.4.13 【实现过程】 先...

    本文介绍了利用Python+Opencv实现调用摄像头、进行人脸识别、并保存为avi格式视频的程序方法。至于python+opencv测试环境的搭建,回头再开一个帖子进行介绍。

    【前期配置】

    Python2.7+Opencv2.4.13

    【实现过程】

    先贴代码:

    #!/usr/bin/env python
    #coding=utf-8
    import os
    import numpy
    from PIL import Image,ImageDraw
    import cv2
    
    
    cap = cv2.VideoCapture(0)
    fps = cap.get(cv2.cv.CV_CAP_PROP_FPS)
    size = (int(cap.get(cv2.cv.CV_CAP_PROP_FRAME_WIDTH)),int(cap.get(cv2.cv.CV_CAP_PROP_FRAME_HEIGHT)))
    fourcc = cv2.cv.CV_FOURCC('I','4','2','0')
    video = cv2.VideoWriter("D:/My Documents/Python/image/avi/aaa.avi", fourcc, 5, size)
    print cap.isOpened()
    
    classifier=cv2.CascadeClassifier("D:/opencv/sources/data/haarcascades/haarcascade_frontalface_alt.xml")
    
    count=0
    while count > -1:
        ret,img = cap.read()
        faceRects = classifier.detectMultiScale(img, 1.2, 2, cv2.CASCADE_SCALE_IMAGE,(20,20))
        if len(faceRects)>0:
            for faceRect in faceRects: 
                    x, y, w, h = faceRect
                    cv2.rectangle(img, (int(x), int(y)), (int(x)+int(w), int(y)+int(h)), (0,255,0),2,0)
        video.write(img)
        cv2.imshow('video',img)
        key=cv2.waitKey(1)
        if key==ord('q'):
            break
    
    video.release()
    cap.release()
    cv2.destroyAllWindows()



    【代码说明】

    module加载的部分就不多说了。

    调用摄像头使用cv2.VideoCapture(0)命令,fps获取视频的帧数,size获取视频尺寸,fourcc是标识视频数据流格式的四字符代码。cv2.VideoWriter定义了视频保存的位置及相关参数,本例中使用了与摄像头相同的编码格式和尺寸,播放帧数设为每秒5帧。cv2.CascadeClassifier定义了人脸识别分类器,opencv根目录\sources\data\haarcascades中提供了很多训练好的分类器,我们使用haarcascade_frontalface_alt.xml分类器。

    循环结构主要包括人脸识别、人脸标注(绿色粗实线框)、视频保存、标注结果展示等功能,当检测到键盘输入'q'时,摄像头终止并保存数据。

    最后,video.release()、cap.release()、cv2.destroyAllWindows()关闭所有窗口,have fun!


    展开全文
  • 前言 总结一个经验,踩了不少坑。首先在网络上学习是很不系统的学习,因为某篇文章记录的他人在网路上学习的过程,也是他人所掌握的理论与实践知识。这时候就考验我们的独立思考能力,知...树莓派摄像头模块(PiCam...
  • 我主要是想进行蜡烛火焰识别,目前已经可以对火焰视频素材进行识别了,但现在还没有办法解决蜡烛火焰燃烧时产生的光晕效果,我觉得可能把视频图像的整体亮度调低之后应该会有所改善。 目前已经使用的方法: ``...
  • 本文就总结一下之前做的一个项目吧,在树莓派中利用摄像头进行图像识别,将数码管中的数字识别出来,然后远程发送到服务器上。先来看看系统实物图: 1、软件方面,使用Python作为编程语言,简单做了个下位机界面....
  • Python-opencv图像识别学习日记(1)——人脸检测 一、前言 第一次写博客,直接用的编辑器的模板,记录一下图像识别的学习过程…。之前一直对人脸识别、机器视觉等方面很感兴趣,利用课余时间学习一下,暂时不指望...
  • 调用摄像头实现人脸识别图像识别位置信息函数讲解按键函数——cv2.waitkey()视频流获取——cv2.VideoCapture().read() 1.利用opencv打开摄像头 import cv2 # 1.打开摄像头,读取摄像头拍摄到的角度 vedio_capter = ...
  • #https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_imgproc/py_colorspaces/py_colorspaces.html#converting-colorspaces # -- coding: utf-8 -- ...#识别摄像头图像中的
  • 安装opencv pip install opencv-python 安装tesseract 使用 pip install pytesseract 开启摄像头,实现每秒钟采集一次 读取图片数字,实现文字分隔,两类数据
  • python实现手势识别

    2020-12-21 11:53:33
    手势识别python实现手势识别(入门)获取视频(摄像头)肤色检测轮廓处理全部代码 获取视频(摄像头) 这部分没啥说的,就是获取摄像头。 ` cap = cv2.VideoCapture("C:/Users/lenovo/Videos/1.mp4
  • 1、ROS_baidu_voice.py:用百度语音云服务实现语音识别,并将识别结果简单分类发送到 话题/cmd_vel_mux/input/teleop或话题camera_op或话题camera_reply,分别用于控制小车速度、打卡摄像头进行图像识别和进行语音交互...
  • openCV人脸识别(从电脑摄像头获取图像)首先安装openCV-Python库Haar级联检测器我们先选择识别一张静态图像再试试通过摄像头获取图像 首先安装openCV-Python库 pycharm Haar级联检测器 找到OpenCV根目录下的data/...
  • 学会怎样读入一副图像,怎样显示一副图像,以及如何保存一副图像; 学会读取视频文件,显示视频,保存视频文件; 学会从摄像头获取并显示视频; 学会使用OpenCV绘制不同几何图像; 学会以Haar特征分类器为基础的面部...
  • 百度人脸检测调用方式为向API服务地址使用...access_token的获取需要通过后台的API key和secret key生成,注册百度账号,在人脸识别创建应用即可得到这2个key 得到key之后,向授权服务地址 https://aip.baidubce...
  • 在web登录人脸认证中,需要通过浏览器调用客户端电脑或手机的摄像头,再把获取的图像发送到服务端识别认证,这是通过人脸登录的基础。 本次测试采用html5调用客户端浏览器摄像头,获取图像发送到服务端认证  ...
  • 网上搜到了一些关于手势处理的实验,我在这儿简单的实现一下(PS:和那些大佬比起来真的是差远了,毕竟刚接触不久),主要运用的知识就是opencv,python基本语法,图像处理基础知识。 最终实现结果: 获取视频...
  • 使用带有Tkinter GUI的OpenCV在Python中基于面部识别的学生出勤系统 基于面部识别的出勤系统是通过... 在此面部识别项目中,计算机系统将能够在通过网络摄像头/监控摄像头捕获的图像或视频中快速准确地发现并识别人脸。
  • 通过在Windows操作系统下使用Python语言编写的可视化软件,用户可以方便的查看和设置USB摄像头的主要参数,并实时监控、保存图像的各特征,着力提高摄像头获取图像的便捷性和实用性,而人脸识别技术的应用,更大大...
  • matlab :实现视频图像的预处理,二值化之类 ,最终能实现边框的提取。 C++代码:最终展示代码,通过Hart特征提取和cascade分类器,来实现缩放的实现(暂时没有看懂) python代码:利用minAreaRect()最小外接矩形...
  • python利用网络摄像头进行人脸检测利用官方的人脸分类器进行识别准备条件过程代码解释参考 利用官方的人脸分类器进行识别 准备条件 python OpenCV 网络摄像头或者电脑自带摄像头 过程 1、调用摄像头,...
  • 识别是一个python脚本,可从图像中检测手并计算其坐标和面积。 要使用脚本,您需要安装 。 用例 编写此脚本的目的是从AR.Drone 2.0中读取图像并发送值以手动控制它的移动。 设定值 WEBCAM = True如果WEBCAM设置为...
  • 最近需要工业摄像头给之前的python项目做采集任务,于是选了海康的工业相机,对于单纯做采集任务而不想深究的人来说看繁杂的开发文档很麻烦,所以把这两天的工作总结一下,希望能对后面用海康相机的新手有帮助。...
  • 后期硬件实现方案暂时想法为基于ZYNQ的视觉检测与人脸识别,以及后期的功能扩展,例如将捕获的视频图像通过ZYNQ的PL端进行相关算法处理,然后将处理后的图像存储,发送给PS端进行识别检测或传给上位机云台…吧啦吧啦...
  • Python 颜色识别

    2019-11-15 22:27:17
    识别色块,并根据色块位置输出坐标 #注:定位中解释下,因为我打开摄像头的时候,窗口默认大小是640*480的, #你输出圆心坐标后,若想知道实际的距离,可以根据你的图像像素的大小,然后在乘上坐标的值,就可以...
  • 这个python程序可以识别你的脸! 该程序只需要每个人的一张照片即可识别他们。 将您的照片添加到“ Images directory或者您可以在PC的任何位置使用any other floders 。 运行main.py文件。 运行main.py ,将要求...
  • 使用OpenCV for Python图像识别库,运行在树莓派RASPBIAN JESSIE Linux系统平台上,搭配树莓派官方摄像头模块。

空空如也

空空如也

1 2 3 4 5 ... 14
收藏数 269
精华内容 107
关键字:

python摄像头图像识别

python 订阅