自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 资源 (1)
  • 问答 (3)
  • 收藏
  • 关注

原创 opencv(十):单目相机“三维重建”

import cv2import numpy as npimport globdef draw(img, corners, imgpts): corner = tuple(corners[0].ravel()) img = cv2.line(img, corner, tuple(imgpts[0].ravel()), (255,0,0), 5) img = cv2....

2020-02-12 21:19:41 3911 2

原创 数据处理(三):判断一个点是否在多边形区域内

def isinpolygon(point,vertex_lst): ''' :param point: 目标点 :param vertex_lst: 围成的区域集合 :param contain_boundary: :return:判断点是否在外接区域内,如果不在,直接返回false ''' #检测点是否位于区域外接矩形内 lng...

2020-01-09 23:28:25 932

原创 树莓派(十三):多PWM通过GPIO口引脚输出

import RPi.GPIO as GPIOimport timeGPIO.setmode(GPIO.BCM)GPIO.setup(18,GPIO.OUT)pwm_led0 = GPIO.PWM(18,10)#将GPIO27引脚的频率设置为5HZ(一个脉冲时间长度0.2s)pwm_led0.start(50)#pwm起始的占空比设置为0GPIO.setup(23,GPIO.OUT)...

2019-12-26 21:58:58 3755 2

原创 opencv(十):vs2019+opencv4.1+ C++配置

https://sourceforge.net/projects/opencvlibrary/进入网站之后五秒自动下载,解压到你想指定的文件夹选择解压目录,单击Extract会在选中的路径下自动创建名字是opencv的文件夹。解压好的内容如下:接着来给电脑添加如下环境变量(需要根据自己的安装路径做相应修改):电脑—属性—高级系统设置—高级—环境变量—path—编辑2、vs201...

2019-12-03 14:20:51 2131 6

原创 opencv(九):相机标定——已知内参求外参

前言上一章,求出了内参和畸变参数,通过上一张得到的参数,再拍一张棋盘格照片,我们就可一估计出棋盘格相对相机的姿态,即求出这张棋盘格的外参代码import cv2import numpy as npdef draw(img, corners, imgpts): corner = tuple(corners[0].ravel()) img = cv2.line(img, c...

2019-11-24 12:17:57 12513 5

原创 opencv(八):相机标定

前言1、说明:本博文不是从标定的数学原理讲起,只是讲述了,一些通俗易懂的白话描述,如果一点基础没有的,请先补充一下“相机标定”相关的知识,如果你想深入学习opencv,可以选择购买《学习opencv3(中文版)》这本书,里面代码是C++的,我用的是python,不过数学原理和函数使用规则都是一样的,不过需要一定的代码基础。直接白手起家估计挺难,一脸懵逼。如果从零学起,推荐到bilibili上搜一...

2019-11-24 11:03:52 4733 9

原创 opencv(七):角点检测+透视变换+鸟瞰图+角度矫正

import cv2import numpy as np#读入图片img = cv2.imread('444.png')H_rows, W_cols= img.shape[:2]print(H_rows, W_cols)# 原图中的四个角点(左上、右上、左下、右下),与变换后矩阵位置pts1 = np.float32([[140, 60], [566, 42], [10, 360]...

2019-11-12 16:54:16 9018

原创 opencv(六):图像拼接

import numpy as npimport cv2from cv2 import Stitcherif __name__ == "__main__": img1 = cv2.imread('jj.jpg') img2 = cv2.imread('gg.jpg') stitcher = cv2.createStitcher(False) # stitc...

2019-11-12 16:39:21 626

原创 opencv(五):opencv+python相机畸变校正

结果展示校正前:校正后环境opencv4.0 -pythonpython3.7棋盘格子是12(个格子)*9(格子)步骤首先用你的相机采取多组照片,如下图所示代码由于我采用的是129的棋盘,交点有118个,如果你不是用的128的棋盘,将下面的118,改成你的标准就行import numpy as npimport cv2import glob# terminati...

2019-10-07 16:53:36 12893 10

原创 Ubuntu(二):Ubuntu换国内源

备份源文件sudo cp /etc/apt/sources.list /etc/apt/sources_init.list更改源文件sudo gedit /etc/apt/sources.list打开后将下面的代码放入文件的开头deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multivers...

2019-09-19 15:38:54 417

原创 数据处理(二):wgs84坐标的UTM投影

前言wgs84 坐标常用于我们身边的各种gps模块。从前面的文章(点这里查看文章)我们可以从gps模块中得到wgs坐标下的经纬度值,然而经纬度值有时候并不是以距离为单位的坐标,有时候更多的是用到以距离为单位的二维坐标,所以就需要从wgs84(三维坐标)投影转换为二维坐标。python有一个模块叫做pyproj可以帮助我们完成坐标的转换安装pip install pyproj1 代码imp...

2019-08-12 17:44:35 11187

原创 树莓派(十二):gps+电脑摄像头拍照

引言本博客主要是将gps模块和电脑(或者树莓派)相连接,打开摄像头进行拍照,并且将gps写入照片的名字当中树莓派import cv2import timeimport serial # 导入serial模块ser = serial.Serial("/dev/ttyUSB0", 9600) # 打开串口,存放到ser中,/dev/ttyUSB0是端口名,9600是波特率cap ...

2019-07-30 16:33:51 721

原创 树莓派(十一):流量传感器的使用

1 原材料YF-S201水流量传感器一个(淘宝上一堆卖的)杜邦线N根10K保护电阻一个(不用也行)接线图接线如下图所示:传感器的红色线—树莓派5v接口传感器的黑色线—树莓派GND接口传感器的黄色线—10K电阻—树莓派GPIO27(即Pin13)代码import RPi.GPIO as GPIOimport time,sysGPIO.setmode(GPIO.BOARD...

2019-07-23 16:25:40 2353 2

原创 opencv(四):曲线拟合

import cv2 as cvimport numpy as npdef circle_fitness_demo():# 创建图像, 绘制初始点 image = np.zeros((400, 400, 3), dtype=np.uint8) x = np.array([30, 50, 100, 120]) y = np.array([100, 150, 240, ...

2019-07-16 16:25:16 8693

原创 opencv(三):储存摄像头图片

import cv2cap = cv2.VideoCapture(0)#创建一个 VideoCapture 对象flag = 1 #设置一个标志,用来输出视频信息num = 1 #递增,用来保存文件名while(cap.isOpened()):#循环读取每一帧 ret_flag, Vshow = cap.read() #返回两个参数,第一个是bool是否正常打开,第二个是照片数组...

2019-07-14 23:25:29 1064 1

原创 数据处理(一):python二维插值运算

import numpy as npimport matplotlib.pyplot as pltfrom scipy.interpolate import interp1d #引入scipy中的一维插值库from scipy.interpolate import griddata#引入scipy中的二维插值库x = np.linspace(0, 10, num=11, endpoint...

2019-07-09 18:36:39 29194 2

原创 树梅派(十):超声波传感器测距离

#from __future__ import print_functionimport timeimport RPi.GPIO as GPIO# Use BCM GPIO references# instead of physical pin numbersGPIO.setmode(GPIO.BCM)# Define GPIO to use on PiGPIO_TRIGGER ...

2019-05-24 16:50:26 384

原创 树莓派(九):多线程基础+控制多台电机

0 前言多线程再平时的树莓派中将会非常广泛——比如控制多个电机同时运动等等1 基础线程开始就是这一步完成,继续下一步,与此同时,分出了一个支线,并且开始支线import threadingimport timedef job(): print('T1 start\n') for i in range(10): time.sleep(0.1) ...

2019-05-22 19:21:38 8589 4

原创 树梅派(八):激光测距模块的数据读取

前言代码(未完成)import serialimport binasciiport = serial.Serial("/dev/ttyUSB0", baudrate=19200, timeout=3.0)while True: print("Please input the command:") print("Modbus test...") Single_me...

2019-05-22 11:19:38 2600

原创 树莓派(七):调取IP摄像头

0 前言调取IP摄像头的结果如上图所示,类似于直接调用USB摄像头,是通过访问局域网来实现的。前提是将手机和电脑设置在同一个wifi下。手机上下载一个软件,叫做“IP摄像头”打开IP摄像头,点击黄色区域1代码将红框框起来的地方进行替换import cv2cv2.namedWindow("camera", 1)# 开启ip摄像头video = "http://admin:...

2019-05-20 23:18:38 4139 4

原创 通信协议(一):python建立通信协议

转:转自这里

2019-05-20 17:04:01 2543

原创 opencv(一):2g-r-b提取绿色

import cv2 #opencv读取的格式是BGRdef cv_show(name,img): cv2.imshow(name,img) cv2.waitKey(0) cv2.destroyAllWindows()img=cv2.imread('cao1.jpg')cao=img[1000:1800,1000:2000] #从左到右分别是y轴(h),x轴(w)...

2019-05-20 00:04:15 7785 10

原创 AI(十六):

在命令行dnn文件夹路径下,python 那个文件,然后–input pb文件的路径,–output 输出路径/graph.pbtxt --config pipelin.config文件路径python tf_text_graph_ssd.py --input C:/Machine_learning/models-master/research/object_detection/zjl_dete...

2019-05-18 13:19:39 181

原创 数据处理(一):点到直线距离

1 点到直线距离计算import mathdef getDis(pointX,pointY,lineX1,lineY1,lineX2,lineY2): #这里的XY代表要求的点,(x1,y1)(x2,y2)是用来确定直线用的 a = lineY2-lineY1 b = lineX1-lineX2 c = lineX2*lineY1-lineX1*lineY2...

2019-05-17 16:29:24 2122

原创 树莓派(六):调取摄像头

import cv2cap = cv2.VideoCapture(0) # 打开摄像头while True: ret, frame = cap.read() # 读摄像头 cv2.imshow("video", frame...

2019-05-15 15:59:09 1080

原创 树莓派(五):步进电机的控制

0 准备电机import RPi.GPIO as GPIOimport time IN1 = 40 # pin40IN2 = 38IN3 = 36IN4 = 35 def setStep(w1, w2, w3, w4): GPIO.output(IN1, w1) GPIO.output(IN2, w2) GPIO.output(IN3, w3) ...

2019-05-15 15:38:08 10044 4

原创 树莓派(四):GPS连接并读取

0 准备从左到右分别是GPS模块,USB转TTL串口,GPS天线1 连线杜邦线共使用4根线:USB的TXD和GPS模块的RXDUSB的RXD和GPS模块的TXDUSB的GND和GPS模块的GNDUSB的VCC和GPS模块的VCC连好后将天线与GPS模块相连,放到窗外,USB串口插到树莓派的usb上2 软件安装sudo apt-get install minicom安装好后...

2019-05-14 21:47:13 12452 8

原创 树莓派(三):将你的树莓派进行镜像备份

0 前言就像备份电脑一样,你一定不想树莓派出错后重新配置树莓派,将你的树莓派进行备份。1 建立img镜像文件随便找一个地方,新建一个文本文档,命名为’你喜欢的名字.img‘这时候就会生成一个空白的镜像文件2 开始镜像将你的树莓派的内存卡拔出来,放入读卡器,接到电脑上链接:https://pan.baidu.com/s/1egEaZs32_GoMwsXwZaMu-A提取码:iiiv...

2019-04-28 02:04:41 7338 1

原创 树莓派(一):树莓派系统的安装和配置

1 下载树莓派系统安装包地址:https://www.raspberrypi.org/downloads/raspbian/选择红框处下载,记住要用迅雷下载哦,否则会很慢。2

2019-04-28 01:43:05 490

原创 树莓派(二):安装opencv-python

1 下载文件我看到教程中都是用sudo pip3 install opencv-python来进行安装的,可是我遇到了下载到一半就中断的问题,于是我在windows上去网站下载了opencv-python,用u盘转移文件到/home/pi 下(即打开文件管理器的界面)链接:https://pan.baidu.com/s/1DqjdDarLRzX_77ANU2GgcA提取码:4x7v2 安装...

2019-04-28 01:28:25 7914 4

原创 有用代码

pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPIpython create_tf_record.py --images_dir=datasets\images --annotations_json_dir=datasets\train --label_map_path=Abys...

2019-04-24 17:57:15 293

原创 AI学习(十五):利用maskrcnn训练自己的数据集

0 前言maskrcnn是物体检测算法当中准确率比较高的一个算法,但是实时性非常差,不能够实现实时的物体检测,这里参照大神的代码进行讲解1 下载数据地址:https://github.com/Shirhe-Lyh/mask_rcnn_test下载完后保存。2 生成record文件在anaconda prompt中cd到create_tf_record.py所在的地址pytho...

2019-04-24 11:05:45 1511 1

原创 AI学习(十四):下载coco数据集并且转换标签

0.前言coco数据集是一个强大的数据集,这个数据集里面包括90多种类型的图片,包括人,车,卡车等等。接下来要做的是将数据集下载下来并且调出我们想要的图片和标签。这里选择选取测试集数据集图片、获取测试集标签和生成测试集xml文件为例,训练集同理(因为训练集实在是太大了!!!)1.下载coco数据集COCO2017 训练数据:http://images.cocodataset.org/zips...

2019-04-17 21:58:31 4669 2

原创 AI学习(十三):将实时检测出来的数量输出

0 前言在前面我们将utils文件夹中的visualization_utils进行了改造,现在将检测出来的数量输出乘列表的格式,以便后续的数据处理1改造visualization_utilsPS:前面处理视频的数据输出(见我的AI(十))改造过了visualization_utils就不需要再改造了打开visualization_utils这个文件,大约在700行左右的地方,将return...

2019-04-04 13:05:47 535

原创 win10+Anaconda+python3

前言前面在AI(二)中我们提到了GPU的安装,由于有的显卡不支持cuda,用不了加速,所以只是安装一个CPU就可以了,下面来介绍如何安装的tensorflow1.10的吧。PS:最好不要安装最新的1.13,反正我是出来许多bug,各种逼事。1 安装Anaconda3 5.1(自带python3.6)Anaconda过程安装过程简单,打开安装包后选择好路径后就能安装下载地址:https:/...

2019-04-04 12:26:41 702

原创 pycharm的安装

0 前言PyCharm是一款Python IDE,对于学习python的同学有很多的用处,下面就来介绍如何安装pycharm。1 下载安装包首先去Pycharm官网,或者直接输入网址:http://www.jetbrains.com/pycharm/download/#section=windows进入下载界面pycharm分为专业版和社区版,专业版是要收费的,不过网上也有许多破解教程...

2019-04-01 14:47:32 254

原创 AI学习(十):将检测出来的数量输出

0 前言在前面我们将utils文件夹中的visualization_utils进行了改造,现在将检测出来的数量输出乘列表的格式,以便后续的数据处理1 改造visualization_utils打开visualization_utils这个文件,大约在700行左右的地方,将return image改成return counterBoxs2 改变自带的物体检测代码打开自带的物体检测模型,将...

2019-04-01 10:46:31 445

原创 AI学习(九):更快速的视频中的物体检测方法

前言现在来介绍一种更快速的视频检测模型,通过前面的一些环境的配置,配置好了opencv等环境。将下面的代码进行改进,就可以得到更快速的视频检测结果了~1代码# coding: utf-8# In[1]:# By Bend_Function# https://space.bilibili.com/275177832# 可以放在任何文件夹下运行(前提正确配置API[环境变量])...

2019-03-29 15:00:00 916

原创 AI学习(八):在检测结果中输出被检测个体数目

前言本章来将,输出的图片或者视频的右上角加上每一帧输出的被框起来的框的个数,如图被红色方框框起来的部分就是我们想要的结果1、代码的修改打卡这个文件夹找到这个文件在这个文件夹内做一个备份,以防万一,然后打开这个文件,将下面的原来的代码全部删除,替换为下面的代码。# Copyright 2017 The TensorFlow Authors. All Rights Reserved....

2019-03-15 14:08:27 626 1

原创 AI学习(七):将自己的训练模型进行实时检测

0.前言在AI学习(四)中,我们学习了用已知的模型实现实时的物体检测。现在我们更改路径,对自己的模型进行实时监测。1.代码修改下面这段代码是原来的模型,对下列代码进行修改。import numpy as npimport osimport six.moves.urllib as urllibimport sysimport tarfileimport tensorflow as ...

2019-02-16 13:51:46 1213

百度云加速

百度云加速,亲测可用!

2019-04-28

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除