
python
shadowsland
想你所想,做你所做,就是自己!
展开
-
python 遍历目录下所有文件
遍历目录获取所有文件和子目录def get_file_path(root_path,file_list,dir_list): #获取该目录下所有的文件名称和目录名称 dir_or_files = os.listdir(root_path) for dir_file in dir_or_files: #获取目录或者文件的路径 dir_file_path = os.path.join(root_path,dir_file) #判断该路径为原创 2021-10-10 09:07:26 · 991 阅读 · 0 评论 -
python和c++ ---- opencv图像连通区域提取
pythonpython的图像连通区域提取使用的函数是measure.label(img)做连通标记,然后具体信息的话通过measure.regionprops获取import cv2import timeimport numpy as npfrom skimage import measureimage = cv.imread("test.jpg")_, temp_bin = cv2.threshold(image, 126, 255, cv2.THRESH_BINARY)# 做闭操作:原创 2021-03-18 17:56:31 · 3773 阅读 · 0 评论 -
python --- 二分图匈牙利算法和KM算法
基础概念关于匈牙利算法的基础概念就不作具体描述了,不清楚的可以自己搜索相关知识主要需要了解的知识点二分图匹配:最大匹配,完美匹配路径:交错路径,增广路径算法核心:通过不断寻找增广路径找到最大匹配的道路算法实现1. 使用线性规划库scipy取最小组合方案import numpy as npfrom scipy.optimize import linear_sum_assignmenta = np.array([[84, 65, 3, 34], [65, 56, 23, 35], [原创 2021-01-22 13:39:50 · 4638 阅读 · 2 评论 -
使用Python创建简单的HTTP和FTP服务
不管工作中还是其他场合,经常会有文件分享的需求,比如自己下了一个4GB的游戏,同事下了一个800MB的软件,其他人如果也需要这些文件,显然直接分享是最快捷、最方便、最环保的方式了,如果再重新下,既浪费时间,又浪费电。Windows自带了文件夹共享的功能,不过这玩意儿,至今我还没仔细的去折腾过,也没搞明白原理,我一直使用FTP来分享文件,如果有需要的话再弄个HTTP服务也足够应付了,我的目的仅仅只是文件分享,简单、易用是我主要关注的点。反复可耻这种需求必然是非常普遍的,解决方法也是多种多样。比如...转载 2020-12-16 16:48:43 · 283 阅读 · 0 评论 -
ros launch的条件判断
launch输入参数条件判断1. launch文件 camera.launch根据输入参数arg1指定是否允许usb_cam节点,并设置对应的参数type<launch> <arg name="arg1" default="true"/> <group if="$(arg arg1)"> <node name="usb_cam" pkg="usb_cam" type="usb_cam_node" >原创 2020-12-15 12:19:49 · 2056 阅读 · 0 评论 -
python -- ros自定义msgs传输图片
方法:自定义msgs:MyImage.msgfloat64 timeint16[] sizeuint8[] data将cv2图片矩阵转为list赋值给msgs#!/usr/bin/env python3#coding=utf-8import rospyimport cv2from my_msgs.msg import MyImageimport numpy as npdef publish(): image = MyImage() image.size原创 2020-12-07 18:09:05 · 1186 阅读 · 0 评论 -
python --- Tkinter事件绑定参数的传递
关于python3 Tkinter事件的处理一般Tkinter事件绑定函数是不带参数的(bind会默认带event事件参数)但遇到确实需要传递参数的时候怎么办呢?参数的传递使用你们函数lambda或中间函数来解决from tkinter import *def handler_button(): paramStr.set('button:no param ')def param_button(param): paramStr.set(f'button:{param}')原创 2020-11-18 13:09:06 · 5897 阅读 · 1 评论 -
python ---深度学习图片标记小工具
功能和环境使用python3 tkinter写的一个简单的标记小工具,框选对象记录像素点位置和对象类型信息环境:python 3.7opencv-python 4.1.1效果图先上个效果图源代码import cv2from tkinter import *import threading, osimport tkinter.filedialog as filedialogfrom tkinter.ttk import Comboboxfrom tkinter.messagebox原创 2020-11-18 10:44:35 · 809 阅读 · 0 评论 -
ros 初始使用c++和python创建工程
问题记录之前一直使用ros2,最近第一次使用ros,遇到较多问题,先记录目前使用出现的问题点:1. 基本命令roscore 启动了一个节点管理器记住,运行节点前需要先启动节点管理器,否者节点不会运行catkin_create_pkg 创建包 ,接参数包名,然后是依赖库(可不加,自己配置)catkin_create_pkg package_name std_msgs rospy roscppcatkin_make 编译,不带参数为全编译catkin_make -DCATKIN_原创 2020-11-11 17:26:07 · 1120 阅读 · 0 评论 -
python --- ElementTree解析xml 增删改查
直接上代码#!/usr/bin/env python# -*- coding: utf-8 -*-# @File : xml.py# @Author: shadow# @Date : 2020/10/30# @Desc : ElementTree xmlimport time, osimport xml.etree.ElementTree as ET# 处理XML缩进和换行def pretty_xml(element, indent='\t', newline='\n', l原创 2020-10-30 18:55:25 · 550 阅读 · 0 评论 -
python cv2摄像头校准,坐标系转换
代码先上代码链接:链接: https://pan.baidu.com/s/1vk1hYcOHdfadU-XwJQQS6g 提取码: cn2h功能说明摄像头校准:内参,外参获取,测试校准点图片视频畸变还原2D像素坐标坐标转3D世界坐标3D世界坐标转2D像素坐标流程分析使用相机拍摄或直接使用现有的内参和外参图片张友正标定法获取内参参数获取外参标记点的世界坐标和像素坐标使用PNP算法获取相机畸变系数根据得到的参数做还原和坐标系转换代码使用tkinter写成了一个小工具,有兴趣的原创 2020-10-24 19:43:10 · 3732 阅读 · 8 评论 -
python cv2 视频剪切
import cv2video_caputre = cv2.VideoCapture('source.MOV') #原视频# 获取读入视频的参数fps = int(video_caputre.get(cv2.CAP_PROP_FPS))size = int(video_caputre.get(cv2.CAP_PROP_FRAME_WIDTH)), int(video_caputre.get(cv2.CAP_PROP_FRAME_HEIGHT))print(fps, size)videoWrit原创 2020-10-23 16:48:58 · 1430 阅读 · 0 评论 -
python -- tkinter 滑块
上段代码做个记录import cv2from tkinter import *import threading # 多线程def getImage(device): cap = cv2.VideoCapture(device) cap.set(3, width) # 设置分辨率 cap.set(4, height) sucess = cap.isOpened() while sucess: ret, image = cap.read()原创 2020-10-10 15:19:24 · 4390 阅读 · 1 评论 -
python --知识点 a += b 不等于a = a + b
不可变变量a = 1b = 2a1 = aa += bprint(a, a1) # 3, 1a = 1b = 2a1 = aa = a+bprint(a, a1) # 3, 1对于不可变类型在进行+=和=+之后结果是一样的可变变量a = [1, 2]b = [3]a1 = aa += bprint(a, a1) # [1, 2, 3] [1, 2, 3]a = [1, 2]b = [3]a1 = aa = a+bprint(a, a1) # [1, 2, 3原创 2020-09-21 09:54:46 · 507 阅读 · 0 评论 -
python -- Pandas replace自定义函数做数据替换
Pandas 作为python最常用的数据包之一经常会被用到,其涉及数据替换的方法有很多,下面简述我了解的几种方法:1. 常用的series 的 replacereplace(self,to_replace=None, # 替换前的数据value=None, # 替换后的数据inplace=False, # 是否修改源数据limit=None, # 修改限制regex=False, # 是否使用正则method=“pad”, # 填充方式,还有‘ffill’ 和‘bfill’)1原创 2020-09-15 18:00:45 · 2572 阅读 · 0 评论 -
python 小知识--- 解析命令行参数模块argparse
argparseargparse是python中用于解析命令行参数和选项的标准模块,它可以帮助我们轻松编写用户友好的命令行接口,它还会自动生成帮助和使用手册,并在用户给程序传入无效参数时报出错误信息使用方法先看一段实例代码 test.pyimport argparsefrom functools import reduceCalculator = { "add": lambda n: reduce(lambda x, y: x+y, n), "sub": lambda n: r原创 2020-09-04 18:06:47 · 660 阅读 · 0 评论 -
python 循环内使用列表append lambda 只有最后一个管用
先上一段代码看问题from tkinter import *root = Tk()def appear(index, letter): print(index, letter) entry.insert(0, f'{index}:{letter},') buttons[index].config(state="disabled")letters=["A", "B", "C", "D", "E", "F", "S", "R", "M"]buttons = []for原创 2020-08-22 16:34:54 · 1448 阅读 · 1 评论 -
python openpyxl 设置excel缩放比例
功能需求由于excel数据较多,电脑显示器使用100%比例显示不全,想在生成excel时缩小其显示比例来使用一页显示全部数据,经历在百度找来找去都没有该方法的示例,但是觉得这么重要的属性openpyxl 坑定是有实现的,如是就去搜索源码尝试了几个关键字,发现zoomScale搜索到的信息比较符合然后顺藤摸瓜找到self.views = SheetViewList()里的views 与worksheet.views里的zoomScale相关,然后就可以开始尝试赋值去测试了SheetViewL原创 2020-08-11 17:28:22 · 3117 阅读 · 0 评论 -
python学习记录 -- tkinter之Entry
创建Entry创建Entry并绑定变量,设置初始化信息from tkinter import * root = Tk() # 创建entry e = StringVar() entry = Entry(root, textvariable=e).pack() e.set('请在这里输入信息') mainloop()Entry对象与Lable和Button不同,不能直接设置...原创 2020-05-06 15:35:02 · 1462 阅读 · 0 评论 -
python学习记录-- tkinter的滚动条和Listbox
TkinterTkinter 是 python 下一个简单的窗口视窗设计的模块,比较适合window风格如果想用python写一些在window下使用的简单窗口应用的话,使用它还是比较方便的相对于pyQt等其他界面设计程序,使用Tkinter 设计界面生成的exe会小的多网上教程较多,这里不多讲,可以参考:tkinter窗口视窗教程大集合这里就简单的记录一下自己使用滚动条和Listbo...原创 2020-05-05 10:34:37 · 1028 阅读 · 0 评论 -
python excel 之 按格式生成图表和数据
python excel针对python 对excel的操作目前有已经有很多库可以使用,比如最常用的读写库xlrd,xlwt,xlutils对xlsx、xlsm读写的openpyxl针对xlsx的xlsxwriter,方便操作图表数据在网站上截取一个对比表,可以大概参考一下:xlrd,xlwt, xlutils对于xlrd,xlwt, xlutils这里就不多讲了,xlrd:对x...原创 2020-04-24 11:49:17 · 2613 阅读 · 0 评论 -
python log 打印函数名和调用关系
python log打印关于log打印,如果需要自定义输出到文件,当然是logging库但是logging不能打印出每个调用函数的调用关系,在看log去找问题的时候有时候会很头疼这样需要打印每一步的执行流程可以参考使用inspect模块小例子写个测试代码,可以打印调用关系,先记录在这里:myLog.py文件如下:from inspect import getargvalues, st...原创 2020-04-23 16:38:31 · 2643 阅读 · 3 评论 -
python之配置文件ini的读取
from configparser import ConfigParser原创 2020-04-23 14:12:14 · 711 阅读 · 0 评论 -
python tkinter实现文件的拖入功能
tkinter 文件的拖入tkinter 目前自带有filedialog模块可以实现打开目录选择文件,但是要像我们平时将文件拖入到框内即加载文件就有没有模块加载了,当然,没有万能的python做不到的,既然源生tkinter 没有,那就借助其他模块喽引入 tkdnd以windows为例下载tkdnd windows binary 解压后放入python目录 xxx/python/tc...原创 2020-04-23 11:09:59 · 15294 阅读 · 21 评论 -
python利用pyinstaller打包生成exe
转自:https://blog.youkuaiyun.com/qq_26877377/article/details/80357349<!--python安装手册结束--> <article class="baidu_pl"> <!--python安装手册开始--> <div...原创 2020-04-23 11:50:31 · 695 阅读 · 0 评论 -
ubuntu opencv 打开摄像头失败
环境:ubuntu16.04, python3.6,笔记本自带摄像头和插入的USB摄像头安装opencv 3.4.101. 系统自带的opencv版本4.1.12. 卸载opencv3. 下载opencv 3.4.10 源码和opencv_contrib-3.4.104. 解压,编译5. 查看版本pkg-config --modversion opencv正常6. python打开图片,视频没问题,打开camera 报错: import cv2 cap = cv2.VideoCa原创 2020-05-16 10:52:33 · 26408 阅读 · 11 评论