![](https://img-blog.csdnimg.cn/20190903095710391.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Python
文章平均质量分 50
Mr.Q
纸上得来终觉浅,绝知此事要躬行。 ---陆游
展开
-
leetcode 62 不同路径-动态规划(c++和python)
目录动态规划特点求法斐波那契数列 (简单)递归方法(时间复杂度O(2^n))动态规划(时间复杂度O(n))路径问题(中等)c++代码:python代码:动态规划特点问题的答案依赖于问题的规模,比如等差数列(2, 4, 6, 8, ..., 2n). 当前的问题n的规模,决定当前的答案是f(n) = 2n; 当前问题的答案可以通过之前问题的答案推导而来,比如f(n) = f(n-1) + 2。求法这里的前提是没有显示方程,比如前面我们没有显示方程f(原创 2021-11-16 14:03:21 · 159 阅读 · 0 评论 -
python 多进程同步运行不同函数-共享资源的访问
基于上一篇博文:https://blog.csdn.net/jizhidexiaoming/article/details/121290018https://blog.csdn.net/jizhidexiaoming/article/details/121290018继续探索,当类中存在共享资源时的场景import timeimport multiprocessingdef eat(p_name, num): print(p_name, "{}".format(num))原创 2021-11-12 18:11:41 · 808 阅读 · 0 评论 -
python 多进程同步运行多个函数
场景:一个进程控制吃饭函数,另一个进程控制睡觉函数,同步进行。结论,运行时间:不用进程 > 函数形式进程 == 类形式进程目录1.不用进程2.函数形式进程multiprocessing.Process()3.类形式进程multiprocessing.Process类1.不用进程用时:6simport timeimport multiprocessingdef eat(p_name): for i in range(3): print..原创 2021-11-12 16:19:51 · 6641 阅读 · 0 评论 -
python 多进程同步运行同一个函数
参考:Python的并发处理:(一)并行运行多个互不相干的子进程_dai451954706的专栏-CSDN博客Python的并发处理:(一)并行运行多个互不相干的子进程转自:http://1.seanxu.sinaapp.com/?p=127这是并发处理中最简单的一种情况。应用场景当然也很简单。一般会是这样:通过传递不同的参数,让同一个函数在同一时间内执行几种不同的任务,达到多任务并行的效果,提升吞吐量。我们有这样一个要求:分别往2个文件中写入百W级数据,在串行状态下的脚本是这样的:https://blog转载 2021-11-12 14:46:49 · 5410 阅读 · 1 评论 -
C++传递参数给Python
1.总结C++传递参数给Python,需要转换成PyObject *类型。比如,C++的 int 是一个整数,该值占用 8bytes(64位)的存储空间,而一个 python 的 int 实际是一个 PyObject* 指向 24bytes。前 8个bytes是整数,代表引用次数;中间 8bytes是指向 int 类型定义的指针,最后 8bytes是才是这个 int 的值。所以 C++ 和 Python 之间参数互相传递都需要 Python提供的 api。2.案例PyObject* arg1原创 2021-05-10 11:34:43 · 2592 阅读 · 0 评论 -
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
记录备忘.1.完整报错信息Could not find platform independent libraries <prefix>Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]Fatal Python error: initfsencoding: Unable to get the locale encodingModuleNotFoundError: No module named '原创 2021-05-09 15:39:45 · 4269 阅读 · 3 评论 -
C++调用python3.7
环境:Ubuntu18.04 + Clion + python3.7 + C++1. C++主函数tmp.cpp#include <Python.h>#include <iostream>int main(int argc, char *argv[]) { Py_SetPythonHome(L"/home/zxq/anaconda3/envs/onnx"); Py_Initialize(); //判断初始化是否成功 if(!Py_I原创 2021-05-07 15:10:00 · 231 阅读 · 0 评论 -
cuda加速pth和onnx模型对比-python部署
1.数据和网络模型数据:[1, 3, 256, 256].模型:resnet182.cuda加速pth模型用时(s)平均用时7ms0.0083842277526855470.0084416866302490230.0069284439086914060.0072393417358398440.0068137645721435550.0069024562835693360.0067038536071777340.006385803222656250.00694298744原创 2021-05-05 18:09:09 · 1294 阅读 · 0 评论 -
Tensor的view, reshape, resize, permute, transpose, contiguous操作
1. view(返回视图)功能是返回一个新的Tensor,这个Tensor具有之前相同的元素,只不过shape不同。>>> x = torch.randn(4, 4)>>> x.size()torch.Size([4, 4])>>> y = x.view(16)>>> y.size()torch.Size([16])>>> z = x.view(-1, 8) # the size -1 is .原创 2021-04-27 18:08:45 · 1285 阅读 · 1 评论 -
numpy转list
a = np.random.randint(0, 255, size=(11, 3))aarray([[141, 112, 187], [ 89, 87, 90], [169, 236, 67], [191, 81, 195], [180, 143, 67], [239, 185, 153], [ 19, 10, 74], [158, 209, 92], [227, 37,.原创 2021-04-21 14:52:32 · 1923 阅读 · 0 评论 -
opencv 二值化图像-10
1. cv2.threshold(1)效果(2)代码import cv2 as cvfrom matplotlib import pyplot as pltimg = cv.imread('C:/Users/Administrator/Desktop/messi.png', cv.IMREAD_GRAYSCALE)rows, cols = img.shape# https://docs.opencv.org/master/d7/d4d/tutorial_py_threshold原创 2021-03-09 15:26:21 · 234 阅读 · 0 评论 -
opencv 缩放、平移、旋转、仿射变换和透视变换-08
1.效果图 2. 代码import numpy as npimport cv2 as cv"""https://docs.opencv.org/master/da/d6e/tutorial_py_geometric_transformations.html"""img = cv.imread('C:/Users/Administrator/Desktop/messi.png', cv.IMREAD_GRAYSCALE)rows, cols = img...原创 2021-03-09 13:45:27 · 452 阅读 · 1 评论 -
C# 调用python接口并获取返回值
1. python模块import cv2import numpy as npimport sysdef f(path): img = cv2.imread(path,0) height,width = img.shape size = np.random.randint(1,6) return height,width,sizeif __name__ == '__main__': print(f(sys.argv[1]))2. C#模块原创 2021-03-09 10:46:58 · 3752 阅读 · 4 评论 -
numpy 广播机制
""" 广播的原则:如果两个数组的维度从末尾开始算起,直到头部,如果相等,或其中的一方的长度为1,则认为它们是可广播的。广播会在缺失和(或)长度为1的维度上进行。 [4,507,2] * [507,2], 从末尾往前数第二个数组维度缺失 [4,507,2] * [1, 507,2] 其中的一方的长度为1,则认为它们是可广播的 [4,507,2] * [1,2] 其中的一方的长度为1,则认为它们是可广播的 [4,507,2] * [3,1,2] 这个不可广播,因为从.原创 2020-10-20 14:42:04 · 293 阅读 · 0 评论 -
python和c++实现 不改变长宽比缩放图片
python和c++实现,保持长宽比缩放图片。原创 2020-10-18 09:49:53 · 1426 阅读 · 1 评论 -
python格式化保存list到json文件
1. 代码json_file_path = '/home/zxq/PycharmProjects/data/ciga_call/result.json'json_file = open(json_file_path, mode='w')save_json_content = []for img_name in img_name_list: result_json = { "image_name": img_name, "category": 1, .原创 2020-10-05 15:28:21 · 15194 阅读 · 0 评论 -
python 一次性遍历文件夹下所有文件
# 判断每个sample图片个数是否相等 fix_num = 96 sample_name_list = os.listdir(df_data_path) for sample_name in sample_name_list: sample_full_path = os.path.join(df_data_path, sample_name) count = 0 for root, dirs, files in os.walk(sa.原创 2020-09-23 13:45:22 · 192 阅读 · 0 评论 -
python 三维矩阵中唯一值和找到矩阵中所有的不同颜色
# 二维, axis=0, 按行比较, [1, 0, 0]有两个,只返回一个>>> a = np.array([[1, 0, 0], [1, 0, 0], [2, 3, 4]]) >>> np.unique(a, axis=0) array([[1, 0, 0], [2, 3, 4]])# 三维矩阵np.unique(mask_label.reshape(-1, 3), axis=0)...原创 2020-09-21 17:25:57 · 677 阅读 · 0 评论 -
numpy(ndarray)和pytorch(tensor)对应点相乘、矩阵相乘操作对比总结
np.multiply(A, B) 或者。原创 2020-09-10 23:09:07 · 3452 阅读 · 2 评论 -
numpy冒号相关取值操作总结
import numpy as npnd = np.random.random([10])ndarray([0.35372656, 0.04801668, 0.17007111, 0.49526369, 0.39747549, 0.02453734, 0.59698872, 0.62543772, 0.77127722, 0.49040936])# 1 截取固定间隔为2数据nd[1:6:2]array([0.04801668, 0.49526369, 0.02453734]).原创 2020-09-10 22:36:07 · 291 阅读 · 0 评论 -
保存最后N个匹配到的元素
from collections import dequedef search(lines, pattern, history=6): """ 当匹配成功时,就输出当前的匹配行,以及最后匹配成功的N行文本 :param lines: 全部文本 :param pattern: 查找内容 :param history: 最后n行 :return: """ previous_lines = deque(maxlen=history) # 创.原创 2020-09-08 16:17:03 · 183 阅读 · 1 评论 -
PyTorch 对应点相乘、矩阵相乘
一,对应点相乘,x.mul(y) ,即点乘操作,点乘不求和操作,又可以叫作Hadamard product;点乘再求和,即为卷积data = [[1,2], [3,4], [5, 6]]tensor = torch.FloatTensor(data)tensorOut[27]: tensor([[ 1., 2.], [ 3., 4.], [ 5....原创 2018-09-07 21:14:27 · 109769 阅读 · 1 评论 -
python 生成器和迭代器
一、迭代器:任何实现了__iter__()和__next__()方法的对象都是迭代器。其中,__iter__返回迭代器自身,__next__返回容器中的下一个元素值。二、生成器:具有yield关键字的函数都是生成器。yield可以理解为特殊的return,该函数不会释放局部变量。生成器自动实现了__iter__()和__next()__()方法,也就是说生成器也是迭代...原创 2020-02-04 16:13:33 · 256 阅读 · 0 评论 -
RuntimeWarning: invalid value encountered in arccos
出错代码位置:np.arccos(cos_value) * (180 / np.pi) def get_cross_angle(l1, l2): arr_a = np.array([(l1.p2.x - l1.p1.x), (l1.p2.y - l1.p1.y)]) # 向量a arr_b = np.array([(l2.p2.x - l2....原创 2019-11-13 11:49:52 · 7991 阅读 · 2 评论 -
python获取当前文件所在目录和当前工作目录
一、当前工作目录import osprint(os.getcwd()) # 获取当前工作目录路径print(os.path.abspath('.')) # 获取当前工作目录路径二、当前文件路径import oscurrent_work_dir = os.path.dirname(__file__) # 当前文件所在的目录weight_path = os.path.j...原创 2019-11-06 10:54:57 · 53090 阅读 · 6 评论 -
python 点到直线的距离
一,斜边×sin def distance_point_to_line(long_line, base_line): angle = Line.get_cross_angle(long_line, base_line) sin_value = np.sin(angle * np.pi / 180) # 其中current_line视为斜边 ...原创 2019-10-28 16:11:00 · 3516 阅读 · 1 评论 -
pyplot画list数据的直方图
from matplotlib import pyplot as plt # 参数依次为list,抬头,X轴标签,Y轴标签,XY轴的范围 def draw_hist(myList, Title, Xlabel, Ylabel, Xmin, Xmax, Ymin, Ymax): plt.hist(myList, 50) # bins = 50,顺便可以控制...原创 2019-08-19 17:21:57 · 8082 阅读 · 0 评论 -
python 生成任意形状的凸包图
一、效果图:在左图的白色区域周围,画任意形状的凸包图。二、代码import cv2import numpy as npdef generate_poly(image, n, area_thresh): """ 随机生成凸包 :param image: 二值图 :param n: 顶点个数 :param area_thresh:...原创 2019-09-17 13:49:06 · 2434 阅读 · 0 评论 -
python 找到array, list, str中所有符合条件的值,并替换
方法一:pred = np.zeros_like(result, dtype=np.uint8)pred[result > self.seg_conf_th] = 255找到矩阵resutl中,所有满足result > self.seg_conf_th并替换值成255方法二:index=np.argwhere(arr<5)方法...原创 2019-09-06 15:13:23 · 6377 阅读 · 4 评论 -
python 两直线的夹角
class Point(object): def __init__(self, x=0, y=0): self.x = x self.y = yclass Line(object): # 直线由两个点组成 def __init__(self, p1=Point(0, 0), p2=Point(2, 2)): self.p...原创 2019-08-22 10:17:52 · 9141 阅读 · 0 评论 -
python 找图像中的圆
一,动态自适应'''此方法是一种动态自适应找圆方法使用方法:im_floodfill = get_adaptive_circle(crop_img)输入原图crop_img返回mask'''import osimport cv2import numpy as np# 求最大连通域的中心点坐标# def centroid(max_contour):# m...原创 2019-08-01 13:13:16 · 5254 阅读 · 0 评论 -
python特定位置的字符串截取
1,indeximg_path = "camel.png"img_name = img_path[:-4] # 通过索引截取camel2,str.rfind(str, beg=0 end=len(string))str = "this is really a string - example"substr1 = "really"substr2 = "_"str[:str...原创 2019-07-29 11:20:09 · 16186 阅读 · 0 评论 -
python将数据分成训练集和测试集
一,分割任务"""将数据集随机分成训练集、测试集传入参数:ratio = 0.7 # 训练样本比例path = "/home/pi/20190701_0705" # 数据路径new_path = "/home/pi/20190701_0705_new2" # 保存路径使用方法:temp = Generate_Train_and_Test(path, new_path,...原创 2019-07-09 17:27:49 · 9691 阅读 · 2 评论 -
pytorch 项目代码详细解析
1,_FILE_PATH = os.path.dirname(os.path.abspath(__file__))_file_ :文件当前的位置;os.path.abspath(_file_):当前当前文件的绝对路劲os.path.dirname(os.path.abspath(_file_)):dir就是文件夹,即获取当前文件的所在文件夹。2,sys.path....原创 2019-07-08 17:26:32 · 2823 阅读 · 0 评论 -
npy转image图像并保存
1. 用于分类模型:import numpy as npimport scipy.miscimport cv2import os# DF1path = "/home/pi/工作/predict1/"npy_list = os.listdir(path)save_path = "/home/pi/predict1_img/"if not os.path.exists(save...原创 2019-07-04 17:00:41 · 6778 阅读 · 1 评论 -
python读取文件夹中特定文件名的文件
import cv2import osdata_path = '/home/pi/bg/'img_list = os.listdir(data_path)save_path = '/home/pi/bg/'if not os.path.exists(save_path): os.mkdir(save_path)for i in range(0, len(img_list...原创 2019-07-02 08:21:32 · 12695 阅读 · 0 评论 -
有趣的photoshop特效(2):素描python实现
参考:https://blog.csdn.net/yangtrees/article/details/9115321一、效果:二、算法及代码:from PIL import Image, ImageFilter, ImageOpsimg = Image.open('D:/Code/python/Data/girl.jpg')# (1) 图片转换成灰色img_gray...原创 2019-04-21 17:10:48 · 617 阅读 · 0 评论 -
有趣的photoshop特效(1):凸透镜python实现
一、概念ps中有凸透镜效果,PS菜单栏->虑镜->扭曲->球面化,也称为鱼眼效果,即通过凸透镜所看到的视觉效果。下面来用算法来实现该效果。二、算法思想主要应用的是图像插值算法,以图像中的一个点为中心,该中心即为透镜中心,慢慢的往四周插值扩散,如下所示。实现需要一个映射函数,将原坐标映射到外围的对应坐标,参考凸透镜效果算法matlab版。很多函数,只要是凸函数(...原创 2019-04-20 16:56:38 · 3142 阅读 · 0 评论 -
机器学习十大经典算法之K-means (图像分割,python)
十大经典算法分别为:K-means K均值(无监督算法,聚类算法,随机算法) KNN(K Nearest Neighbor) K近邻(有监督算法,分类算法) 逻辑回归(分类算法) 决策树(有监督算法,概率算法) 随机森林(集成算法中最简单的,模型融合算法) 朴素贝叶斯 EM算法 Adaboost(集成算法之一) SVM 马尔可夫一、算法过程(1)随机选择...原创 2019-04-11 16:57:41 · 6132 阅读 · 0 评论 -
python 字符串、列表、元组、字典等数据类型总结
一、python字符串(1)Python不支持单字符类型,单字符在 Python 中也是作为一个字符串使用。Python访问子字符串,可以使用方括号来截取字符串,如下实例:var1 = 'Hello World'var2 = "Hello World"print("var1[0]: ", var1[0])print("var2[1:5]: ", var2[1:5])(2)...原创 2019-04-10 16:07:02 · 1242 阅读 · 0 评论