- 博客(100)
- 收藏
- 关注
转载 canny边缘检测
实现代码:import cv2import numpy as npimg = cv2.imread('./tu2.jpg', 0)print(img.shape)height, width = img.shape# 高斯滤波fil = np.array([[ 1, 2, 1], [ 2, 4, 2], ...
2019-07-10 20:50:00 227
转载 简单程序的实现集合
1.判断一个非空字符串是否为多个重复的子字符串组成2.把aaabbbff压缩成a3b3f2的形式1.a = 'asdasasdas'for i in range(len(a)//2): if ((len(a)//(i+1))*a[:i+1]) == a: print('true')2.b = 'aaabbbbcccckkrr...
2019-07-10 10:51:00 315
转载 购物程序
# -*- coding: utf-8 -*-"""Created on Tue Sep 11 16:35:29 2018@author: 车路历程"""goods = [{"name": "电脑", "price": 1999},{"name": "鼠标", "price": 10},{"name": "游艇", "price": 20},{...
2019-06-28 09:36:00 391
转载 线程、进程、携程
进程: qq 要以一个整体的形式暴露给操作系统管理,里面包含对各种资源的调用,内存的管理,网络接口的调用等。。。对各种资源管理的集合 就可以成为 进程线程: 是操作系统最小的调度单位, 是一串指令的集合(在python中同一时间执行的线程只有一个)python多线程 不适合cpu密集操作型的任务,适合io操作密集型的任务进程 要操作cpu , 必须要先创建一个线程 ,所有在同一个...
2019-06-22 14:20:00 831
转载 迭代的(最优的)阈值选择
迭代法阈值选择算法是对双峰法的改进,他首先选择一个近似的阈值T,将图像分割成两个部分,R1和R2,计算出区域R1和R2的均值u1和u2,再选择新的阈值T=(u1+u2)/2;重复上面的过程,直到u1和u2不在变化为止,实现前后对比:实现代码:import numpy as npimport cv2img = cv2.imread('./0.jp...
2019-06-20 15:50:00 1572
转载 基本的阈值化
其实这个方法就是用一个阈值将图片中的所有像素进行二分类,大于等于该阈值的为前景,小于该阈值的为背景。实现前后对比:代码实现:import cv2img = cv2.imread('./0.jpg', 0)result_img = cv2.threshold(img, 60, 255, cv2.THRESH_BINARY)[1]cv2.imshow(...
2019-06-19 16:32:00 145
转载 积分图像的构建
实现前后图对比:实现代码:import cv2import numpy as npimg = cv2.imread('./4.jpg', 0)h, w = img.shapes = 0#积分图ii = np.zeros((h, w))for i in range(h): for j in range(w): ...
2019-06-18 22:00:00 289
转载 使用旋转掩码的平滑
算法:使用旋转掩膜的平均 1.考虑图像的每个像素(i,j). 2.根据(5.29)式计算像素(i,j)所有可能的旋转掩膜的散布. 3.选择具有最小散布的掩膜. 4.将所选掩膜内的平均亮度赋给输出图像中的像素(i,j).实现前后对比:实现代码:import cv2import numpy as npclass rotate_mask():...
2019-06-18 21:42:00 301
转载 计算亮度直方图
原图和结果图片: 代码实现:import matplotlib.pyplot as plt import cv2img = cv2.imread('./1.jpg', 0)new=img.flatten()plt.hist(new, bins=256, range=(0, 256), facecolor='green') p...
2019-06-18 11:31:00 891
转载 产生加性零均值高斯噪声
处理前后的图片对比:代码实现:import cv2import numpy as npfn="./0.jpg"img=cv2.imread(fn)param=30#灰阶范围grayscale=256w=img.shape[1]h=img.shape[0]newimg=np.zeros((h,w,3),np.uint8)...
2019-06-17 21:19:00 653
转载 牛顿迭代法
牛顿迭代法是从曲线中的随机一点开始求导,导线与x轴的交点对应原曲线的点作为下一次要求导的点,依次类推。实现代码:(求x**2-6对应的零点)def fun(): num = 0 x = 2 while True: f = x**2-6 f1 = 2*x x = x - f/f1 ...
2019-06-17 20:22:00 137
转载 图像处理的算法集合
距离变换计算亮度直方图产生加性零均值高斯噪声关系r的共生矩阵Cr(z, y)积分图像构建直方图均衡化使用旋转掩码的平滑高效的中值滤波Canny边缘检测子Harris角点检测器遍历极值区域基本的阈值化迭代的(最优的)阈值选择递归的多光谱阈值化有方向的边缘数据的非最大抑制边缘检测算子输出的滞后过滤边缘松弛法内外界跟踪...
2019-06-17 10:53:00 218
转载 torch中将网络加载进GPU的两种方式
对于网络模型的实例化对象net一、import torchdevice = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")net.to(device)二、import torchnet.cuda()转载于:https://www.cnblogs.com/cz...
2019-05-31 10:46:00 1122
转载 ros中的urdf
首先简单示意以下urdf的大致内容:<robot name="test_robot"> <link name="link1" /> <link name="link1" /> <joint name="joint1" type="continuous"> <parent link="...
2019-05-12 17:40:00 304
转载 ros中的常用组件
一、launch启动文件:通过XML文件实现多节点的配置和启动。启动文件是ROS中的一种可以同时启动多个节点,还可以自动启动ROS Master节点管理器,并且可以实现每个节点的各种配置,为多个节点的操作提供很大便利。二、TF坐标变换:管理机器人系统中繁杂的坐标系变换关系。三、Qt工具箱:为了方便可视化调试和显示,ROS提供了一个Qt架构的后台图形工具套件---rqt_com...
2019-05-11 19:55:00 384
转载 ros基础知识
ros的定义:ROS是一个用于编写机器人软件的灵活框架,它集成了大量的工具、库、协议,提供了类似操作系统所提供的功能,包括硬件抽象描述、底层驱动程序管理、共用功能的执行、程序间的消息传递、程序发行包管理,可以极大简化繁杂多样的机器人平台下的复杂任务创建与稳定行为控制。ROS的特点:1.点对点的设计:在ROS中,每一个进程都以一个节点的形式运行,可以分布与多个不同的主机。节点间的通...
2019-05-11 17:57:00 1049
转载 python中读取和保存图片的几种方式及其它们之间图片格式的相互转换
第一种:PIL读取方式from PIL import ImageI = Image.open('./0.png')print(type(I)) #---><class 'PIL.JpegImagePlugin.JpegImageFile'>print(I.size) #--->(1280, 720)I.show()...
2019-05-10 20:55:00 710
转载 视频的画框和保存
这是来自一段动态物体检测的代码,首先将动态物体检测出来并画框,然后将画框的图片以视频的形式保存下来。import cv2import numpy as npcamera = cv2.VideoCapture("F:/7.mp4")# 判断视频是否打开if (camera.isOpened()): print('Open')else: ...
2019-05-09 12:27:00 261
转载 实践记录的目录
pytorch中的错误记录numpy中数据的升维pytorch中Module.modules()和Module.children()非极大值抑制---NMS将.txt文件中的内容放入列表中将同一列表中的多个小列表合并为一个普通列表将两个列表同步乱序将一个文件夹中的多个视频的视频帧分别保存在各自的文件夹中键盘按键控制程序的简单案例将一个文件夹中的所有图片...
2019-05-09 11:04:00 88
转载 numpy中数据的升维
这里给出一维和二维数组的实例,至于三维及更高维的就自行脑补了一维:import numpy as np a = np.array([1, 2, 3])print(a.shape) ----->(3,)b = a[None]print(b.shape) ----->(1, 3)c = a[:, None]pri...
2019-05-08 18:09:00 1664
转载 os模块总结详情
os.listdir(): 如果在一个目录下只有文件没有文件夹,就使用这个。(单)os.walk(): 如果在一个目录中既有文件又有文件夹,就使用这个。 (多)转载于:https://www.cnblogs.com/czz0508/p/10778952.html...
2019-04-27 15:39:00 84
转载 python中必须掌握的基础数据类型及其相互转换
python中的几种读取图片的方式:点击此处python需要掌握的图片类型间的转换:点击此处python中常用的数据类型:int、bool、str、list、dict、tuple、set。int:十进制转换为二进制:除2取余,逆向排列 二进制转化为十进制:记住8位一节常用操作方法:bit_length()获取十进制转化为二进制的最小位数i = 42...
2019-04-16 14:21:00 175
转载 正则表达式的总结
首先向大家强烈推荐一个在线检测正则表达式的链接:Online regex tester and debugger: PHP, PCRE, Python, Golang, JavaScript+、?、*、{min,max}这四种数量匹配,单独使用时,他们就是贪婪模式(会回溯)。如果在他们后面加上一个?,就变为了懒惰模式(会回溯)。如果在他们后面加上一个+,就变为了独占模式(不会回溯)。...
2019-03-20 11:33:00 161
转载 错误记录
ValueError: only one element tensors can be converted to Python scalars(pytorch) 没有正确初始化权重和偏置参数转载于:https://www.cnblogs.com/czz0508/p/10528293.html
2019-03-14 09:46:00 92
转载 8x8点阵的原理及代码实现
点阵的内部结构图:每一列对应为P00~P07,是从最右边向最左边排序的每一行对应D0~D7,是从最下边向最上边排序的待更新转载于:https://www.cnblogs.com/czz0508/p/10514373.html...
2019-03-12 08:31:00 3443
转载 numpy中的各种乘法总结
1.矩阵乘积对于多维数组进行np.dot()计算。2.多维数组按位相乘注意其中dot乘积对于一维矩阵,也是按着对位相乘得到的。element-wise的对位相乘实现方式有两种,分别是直接*和用np.multiplyimport numpy as npa = [[1, 3], [8, 5]]b = [[3, 2], [5, 9]]a = np.array(...
2019-03-11 22:09:00 1294
转载 矩阵按键的原理及代码实现
独立按键和矩阵按键:矩阵按键扫描原理:方法一、逐行扫描,我们可以通过高四位轮流输出低电平来对矩阵键盘进行扫描,当低四位接收到的数据不全为1的时候,说明有按键按下,然后通过接收到的数据是哪一位为0来判断是哪一个按键被按下。方法二、行列扫描,我们可以通过高四位全部输出低电平,低四位输出高电平,当接收到的数据,低四位不全为高电平时,说明有按键按下,然后通过接受的数据值,判断是哪...
2019-03-11 10:41:00 1542
转载 内置方法总结
item(): 该方法把字典中每对key和value组成一个元组,并把这些元组放在列表中返回。callable():函数用于检查一个对象是否是可调用的。如果返回 True,object 仍然可能调用失败;但如果返回 False,调用对象 object 绝对不会成功。dir():dir()是Python提供的一个API函数,dir()函数会自动寻找一个对象的所有属性(包括从父类...
2019-03-10 16:40:00 80
转载 :号的总结详情
通过一段时间的学习,冒号通常出现在如下四种情况:1. line[:, :, 2]:取第一维、第二维和第三维的第三位。取值结果是二维数组(降维了)。2. line[:, :, 0::4]:取第一维、第二维和第三维按步长为4取值,取值结果还是三维数组(没降维,只是第三维减小了)。3. line[::-1]:将line中的所有元素进行倒序。 line[::2]:对line...
2019-03-09 21:41:00 83
转载 *号的总结记录
1.起初接触是作为函数的形参:(它可以接收任何的参数)def add(*args, **kwargs): pass2.之后接触是在变量之前加一个或两个*:列表前面加星号作用是将列表解开成两个独立的参数,传入函数;字典前面加两个星号,是将字典解开成独立的元素作为形参。def add(a, b): return a+b data = ...
2019-03-09 17:55:00 71
转载 Module.modules()和Module.children()
参考PyTorch document和discuss在PyTorch中,所有的neural network module都是class torch.nn.Module的子类,在Modules中可以包含其它的Modules,以一种树状结构进行嵌套。当需要返回神经网络中的各个模块时,Module.modules()方法返回网络中所有模块的一个iterator,而Module.childre...
2019-03-09 17:33:00 1177
转载 网络训练细节
神经网络中的损失计算:点击此处 点击此处经典网络的加载和初始化:pytorch中自带几种常用的深度学习网络预训练模型,torchvision.models包中包含alexnet、densenet、inception、resnet、squeezenet、vgg等常用网络结构,并且提供了预训练模型,可通过调用来读取网络结构和预训练模型(模型参数)。往往为了加快学习进度,训练的初期直...
2019-03-09 10:22:00 197
转载 非极大值抑制---NMS
目标检测中常用到NMS,在faster R-CNN中,每一个bounding box都有一个打分,NMS实现逻辑是:1,按打分最高到最低将BBox排序 ,例如:A B C D E F2,A的分数最高,保留。从B-E与A分别求重叠率IoU,假设B、D与A的IoU大于阈值,那么B和D可以认为是重复标记去除3,余下C E F,重复前面两步。源码如下:#coding:ut...
2019-03-08 21:02:00 93
转载 独立按键的原理及代码实现
以下为按键的实物图:在按键未按下之前,距离远的两个管脚是相通的,按键按下之后,距离近的的两个管脚是相通的。独立按键的原理:(准双向IO口就是内部有上拉电阻,P1,P2,P3口都是准双向IO口。P0口没有上拉电阻。) 图1 ...
2019-03-08 09:14:00 3266
转载 动态数码管的工作原理和代码实现
数码管动态显示原理:动态显示的特点是将所有数码管的段选并联在一起,有位选控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余晖和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所有在选择限流电阻时应略小于静态显示电路中的。H74HC138D是一种三通道输入、八通道输出译码...
2019-03-05 09:02:00 8669
转载 静态数码管工作原理及代码实现
单片机系统常用的显示器有:发光二极管LED显示器、液晶LCD显示器、TFT液晶显示器等等。LED显示器有两种显示结构:段显示(7段、米字型等)和点阵显示(5x8、8x8点阵等)。LED数码管根据LED的不同接法可以分为2类:共阴和共阳。使用LED显示器时,要注意区分这两种不同的接法。为了显示数字或字符,必须对数字或字符进行编码。七段数码管加上一个小数点,共计8段。因此为LED...
2019-03-04 14:43:00 3841
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人