Python
zhuiyuan2012
这个作者很懒,什么都没留下…
展开
-
os.path.join函数解析
因此,简单说,字符串2有根目录,则以字符串2为准即可,当字符串2不是从根目录开始,则将字符串1和字符串2相加即可。此时,字符串1和字符串2分别从根目录开始,首先取两个字符串相同的部分,当遇到字符串不同的部分,上述讨论为区分字符串1是否为根目录,因为是否为根目录,完全不影响上面的结果。因此,当两个目录均从根目录开始,且根目录不同时,结果为两个目录字符串相加。结果也为两个字符串相加。原创 2024-11-15 11:07:31 · 197 阅读 · 0 评论 -
CUDA error: device-side assert triggered Assertion `t >= 0 && t < n_classes` failed
语义分割时,我只分了分割对象和背景两个类别,unet网络中num_class=2,但是我的训练集掩膜像素值覆盖的范围很广输出掩膜像素值,包括:0,76,74,80,33,……因此,解决办法是将训练集图像的掩膜和背景,设置为两个像素值,背景为0,则掩膜的像素值统一为非0的单个像素值N,8位深度图则0-255之间任意一个非0值。提示t是在[0,num_class)之间.即训练数据集的标签需要与num_class类数量一致。这些像素值即为训练集的标签,说明训练集target的标签已经大于num_class。原创 2024-10-22 22:38:01 · 123 阅读 · 0 评论 -
np.float64元素保存为图像时自动转为uint8
f1数组元素类型为np.float64位时,若进行cv2.imwrite(os.path.join(save_dir,file),f1),会将np.float64自动转为unit8位,该转换过程不是线性映射,而是自动截断,将大于255的元素赋值为255.因此,在imwrite时,需要将数组先转换为uint16, f1 = f1.astype(“uint16”)图像数组在进行加减时,可能自动转换为np.float64,如果后续保存为图像时,可能存在问题。原创 2024-04-12 11:35:44 · 433 阅读 · 0 评论 -
python类属性和global变量区别
数据成员是指在类中定义的变量,即属性,根据定义位置,又可以分为类属性和实例属性。类属性定义在方法前面。输出结果:NameError: name ‘c’ is not defined报错:AttributeError: type object ‘MyClass’ has no attribute ‘c’原创 2024-03-24 20:23:13 · 294 阅读 · 0 评论 -
matplot绘图时图像太大报错但能保存
matplot绘图时,图像太大,可能在jupyter里面报错,但是图像可以保存。原创 2023-12-08 11:16:58 · 676 阅读 · 0 评论 -
matplotlib绘图时show函数需在save函数后
但是high_low_every_v.png图像是一片空白,说明没有保存相关图像信息。matplotlib绘图时,图像大小设置不合适,无法保存图像信息。原创 2023-12-08 10:48:21 · 744 阅读 · 0 评论 -
matplot函数调整子图大小测试
plt.subplots_adjust(hspace=0.2, wspace=0.9)放在subplots函数的后面。plt.subplots_adjust(hspace=0.2, wspace=0.9)放在subplots函数前面。plt.subplots_adjust(hspace=0.2, wspace=0.9)放置再。可以看到,子图间距调整成功。可以看到无法调整子图间距。原创 2023-12-07 22:12:20 · 792 阅读 · 0 评论 -
opencv读取图片的方式影响图像绘制的颜色
cv2.circle(frame, (int(lmx), int(lmy)), 8, (0, 0, 125), 3) ### opencv是BGR格式。cv2.circle(frame, (int(cmx), int(cmy)), 8, (0, 0, 125), 3) ### opencv是BGR格式。cv2.circle(frame, (int(lpx), int(lpy)), 8, (125, 0, 0), 3) ### opencv是BGR格式。# # 粉色为预测值。原创 2023-11-09 15:52:24 · 114 阅读 · 0 评论 -
sudo python 运行python程序时提示包找不到
本想执行 sudo python test.py程序,在root权限目录下新建文件。提示:ImportError: No module named scipy可是命令我已经安装了scipy包。当执行python:Python 3.7.7 (default, Mar 26 2020, 15:48:22)[GCC 7.3.0] :: Anaconda, Inc. on linuxType “help”, “copyright”, “credits” or “license” for more in原创 2022-04-17 22:24:01 · 1800 阅读 · 0 评论 -
opencv读取图片AttributeError: ‘NoneType‘ object has no attribute ‘shape‘
python读取图像时报错:for pngfile in tqdm(os.listdir(rotatepng)):lena = cv2.imread(os.path.join(rotatepng,pngfile),0)—> 32 for i in range(lena.shape[0]):33 for j in range(lena.shape[1]):34 if lena[i,j] > 10:AttributeError: ‘None原创 2022-04-15 11:08:16 · 3459 阅读 · 1 评论 -
TypeError: can only concatenate list (not “int“) to list
代码:c = [1,2]a = [2,[7],6]b = [5,8]c.append(a)c.append(b)c = sum(c,[])print(c)以上代码本想将列表元素连接在一起,放在C中。但是报错:TypeError Traceback (most recent call last)<ipython-input-1-452d9434d5cd> in <module> 5原创 2021-10-28 10:22:53 · 11503 阅读 · 0 评论 -
在图像中添加标注并使用plt savefig函数保存
有时候需要读取图片,并添加标注,然后保存该图片。如果用opencv 的imwrite函数不可行,因为imwrite函数需要输入参数是numpy数组。此时用plt savefig函数可以保存该图片,但是savefig函数前面不能出现plt.show()函数。代码案例:import matplotlib.pyplot as plt # plt 用于显示图片import matplotlib.image as mpimg # mpimg 用于读取图片import numpy as npimp原创 2021-08-25 00:12:50 · 3152 阅读 · 1 评论 -
python 列表元素是列表 切片注意事项
x_1 = [[1,2],[3,4],[5,6]]x = x_1[::]print(x,x[0][1])print(x_1[2][1])print(x_1[:2][1])# print(list2[:3]) #取前3个元素# print(list2[3:]) #从3个元素后面所有的元素# print(list2[-3:]) #取最后3个元素# print(list2[::]) #取所有的元素# print(list2[::2]) #取奇数位的所有元素 ...原创 2021-08-23 14:16:05 · 1086 阅读 · 0 评论 -
python实现读取并显示图片的两种方法
python实现读取并显示图片的两种方法https://www.cnblogs.com/lantingg/p/9259840.html在 python 中除了用 opencv,也可以用 matplotlib 和 PIL 这两个库操作图片。本人偏爱 matpoltlib,因为它的语法更像 matlab。一、matplotlib1. 显示图片 1 2 3 4 5 6 7 8 9 10 11原创 2021-08-20 15:47:21 · 8813 阅读 · 0 评论 -
opencv imwrite函数和scipy.misc.imsave函数注意事项
1.opencv的imwrite函数保存图像。输入参数必须为int类型。当输入参数为float型时,默认会转为0-255之间,即uint8位深度,将大于255的直接截断为255.如原始numpy数组float64类型:imwrite后,cv2.imwrite(os.path.join(os.path.dirname(sourcefile),'adjust_'+os.path.basename(sourcefile)), f1)用imread读取,result = cv2.imr.原创 2021-08-06 16:20:10 · 2075 阅读 · 2 评论 -
执行python脚本用sudo权限
移动文件的脚本,运行时报错:代码如下:import cv2 as cvimport numpy as npimport matplotlib.pyplot as pltimport mathimport osimport globimport shutilshutil.move("/data/UserData/ASA_airglow_image/XLT_ASA01_IIT_L01_STP/2018_09_10/09/XLT_ASA01_IIT_L01_STP_201809042.原创 2021-07-07 13:44:03 · 3869 阅读 · 0 评论 -
imwrite或者imread时像素值发生变化
我想读取元素图片,并进行像素值拉伸。代码中是直接将像素值乘以5.for file in os.listdir(data_dir): ###最多读取两级目录找到图片 if os.path.isdir(os.path.join(data_dir,file)): #print("it's a directory") if os.path.exists(os.path.join(save_dir,file)): ...原创 2021-07-05 14:56:24 · 1536 阅读 · 0 评论 -
灰度图上用opencv circle画圆形掩膜
import cv2import numpy as npimgName = '/home/zhongjia/plasmabubble/data/lvbo_XLT_ASA01_IIT_L01_STP_20180120104123__rot180.png'img = cv2.imread(imgName,2) ####图像是uint16 ,flag = 2, 原深度, 1通道灰度图print(type(img),img.shape,img.dtype,img)# 展示原图#cv2.i...原创 2021-07-02 07:50:47 · 3168 阅读 · 1 评论 -
Input contains NaN, infinity or a value too large for dtype(‘float64‘).
贴上出错代码:import cv2 as cvimport numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport mathimport osimport globimport shutilimport scipyfrom scipy import miscfrom sklearn.datasets import fetch_lfw_peopleimport matplotlib.pyplot as .原创 2021-04-29 16:14:57 · 1784 阅读 · 0 评论 -
python实现matlab stretchlim函数和imadjust函数
matlab 代码:[img,map]=imread(“/home/zhongjia/test.png”);LOW_HIGH=stretchlim(img);J=imadjust(img,[LOW_HIGH(1) LOW_HIGH(2)],[0 1],1);imwrite(J,"/home/zhongjia/test_result.png"); 实现功能是:对16位深度1024*1024大小的test.png图像进行自适应灰度拉伸。stretchlim函数是寻找最合适的阈值,imadju..原创 2021-04-14 22:20:11 · 1176 阅读 · 1 评论 -
imread函数读取图片深度位默认将uint16转为uint8类型并向下取整
import matplotlibimport matplotlib.pyplot as pltimport numpy as npfrom skimage import data, img_as_floatfrom skimage import exposureimport cv2def grey_scale(image): rows,cols = image.shape flat_gray = image.reshape((cols * rows,)).tolist(...原创 2021-04-13 17:39:39 · 2535 阅读 · 0 评论 -
python三维数组作为索引时只取第一个维度
ptest = np.zeros([4],np.uint64)qtest = np.zeros([3],np.uint64) ###实验表明三维数组作为索引时只取第一个维度吧print(qtest.shape)ptest[qtest] += 1print(ptest)输出结果:(3,)[1 0 0 0]原创 2021-04-07 09:37:25 · 3006 阅读 · 0 评论 -
判断图片中像素点值大小报错 The truth value of an array with more than one element is ambiguous.
源代码如下: img = cv.imread(os.path.join(data_dir,file)) for i in range(0,img.shape[0]): 29 for j in range(0,img.shape[1]):---> 30 if img[i][j] <= 255: 31 c[i][j] = 0...原创 2021-04-02 15:16:50 · 404 阅读 · 0 评论 -
使用cv2.imwrite()保存图像是黑色而用plt.savefig()保存正常
可以输出 image的内容看看。实际上很大部分像素点值为0-1之间。所以需要*255原创 2021-03-30 17:22:32 · 3937 阅读 · 2 评论 -
python 全局直方图均衡化equalizeHist报错
报错信息:error: OpenCV(4.0.1) ../modules/imgproc/src/histogram.cpp:3345: error: (-215:Assertion failed) _src.type() == CV_8UC1 in function 'equalizeHist' 原因:cv2.equalizeHist(img)中img需要为uint类型 而,查看当前img 类型为<class 'numpy.float64'>...原创 2021-03-29 22:36:01 · 3832 阅读 · 2 评论 -
SIFT opencv-python 调用报错
(1)在调用sift = cv2.xfeatures2d.SIFT_create()出现下面报错:raceback (most recent call last): File "<stdin>", line 1, in <module>cv2.error: OpenCV(4.0.1) ../opencv_contrib/modules/xfeatures2d/src/sift.cpp:1207: error: (-213:The function/feature is .原创 2021-02-04 22:31:22 · 594 阅读 · 1 评论 -
jupyter notebook和jupyter lab交互工具安装
https://github.com/matplotlib/ipympl原创 2020-08-26 08:51:23 · 149 阅读 · 0 评论 -
error: OpenCV(4.0.1) ../modules/imgproc/src/resize.cpp:3784: error: (-215:Assertion failed) !ssize.e
报错:error: OpenCV(4.0.1) ../modules/imgproc/src/resize.cpp:3784: error: (-215:Assertion failed) !ssize.empty() in function 'resize'原因1:图片无法识别解决方法1:需要打印出来原因2:图片路径不对解决办法2:修改路径两种方法对应标红的代码:if __name__ == "__main__": data_dir ="/home/zhongjia/S..原创 2020-07-10 10:12:41 · 1517 阅读 · 0 评论 -
关于paramiko 的ssh实验
问题:(1)stdout在远程服务器命令输出内容到内存时,stdout.read().decode()能获取对应的内容(2)stdout 在远程服务器执行命令输出内容到文本文件时,stdout.read().decode()不能获取对应内容(2)远程服务器执行的代码包含打印内容到内存和文本文件时,stdout.read().decode()不能获取对应内容...原创 2020-07-07 13:58:30 · 281 阅读 · 0 评论 -
Python使用paramiko的SFTP get或put整个目录
Python使用paramiko的SFTP get或put整个目录 在《使用paramiko执行远程linux主机命令》中举例说明了执行远程linux主机命令的方法,其实paramiko还支持SFTP传输文件。 由于get或put方法每次只能传输一个文件,而不是整个目录,因此我们先看一下传输单个文件的方法,其实非常简单,网上也有很多参考资料了。 还是直接使用前文中定义的类,我们添加两个方法即可(本文中不需要使用的方法先用pass代替了):# 定义一个类,表示一台远端linux主机转载 2020-07-07 13:54:33 · 9699 阅读 · 3 评论 -
galaxy 不同服务器上远程调用工具
1、本地服务器将工具代码拷贝到GPU服务器执行,并返回结果文件主要问题:远程服务器上工具是否执行完毕,生成了结果文件需要判断。(1)方法1在远程服务器上放检测生成文件的脚本,如果检测到生成文件,则将结果文件取回本地服务器。这种情况下允许本地服务器上次工具代码到远程服务器上执行,并生成结果文件。由远程服务器脚本判断文件生成情况。本地服务器不断循环调用结果文件检测脚本命令,直到接收到结果文件生成信号,则去远程服务器上取回文件。(2)方法2在远程服务器上启动服务,监听本地指令。这种情况下远程服原创 2020-07-07 13:43:53 · 219 阅读 · 0 评论 -
python滤波与图像去噪
SciPy - 滤波 与 图像去噪滤波滤波常用于降噪;滤波有多种,中值滤波,均值滤波,等等,说的很高大上,其实很简单,各种滤波原理类似。以中值滤波为例,把每一点的数据用该点指定邻域内数的中位数 代替,如 数据 [1,8,3],邻域大小为3,则8经过滤波后是3,[1,3,8]的中位数;数据可以是多维的,邻域也可以为多维;其过程类似卷积python 中值滤波函数为 scipy.signal.medfilt(signal, kernel_size),第一个参数为信号值,第二个...原创 2020-07-01 13:46:41 · 3954 阅读 · 0 评论 -
shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such fi
转自:http://blog.csdn.net/ningguixin/article/details/7834371[root@web-server php]# /etc/init.d/httpd restartshell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory该错误表示 getcwd 命令无法定位到当前工作目录。一般来转载 2020-06-18 01:12:29 · 1906 阅读 · 0 评论 -
AttributeError: module tensorflowhas no attribute placeholder
报错:x = tf.placeholder(dtype, shape=shape, name=name)AttributeError: module 'tensorflow' has no attribute 'placeholder'查看当前tensorflow版本为2.0。报错原因:tensorflow 2.0版本去掉了placeholder,而tensorflow 1.*版本才有。因此修改tensorflow_backend.py文件vim /root/anac..原创 2020-06-18 00:06:56 · 39807 阅读 · 11 评论 -
在不同linux服务器上复制anaconda的虚拟环境注意事项
直接将anaconda 下的envs环境复制到不同服务器上时,需要修改pip 、conda、python、jupyter等解释器的路径。而如果是将虚拟环境导出为yaml文件,并导入到另一服务器上,因为在另一台服务器上实际上是从yaml文件里面读取安装库的源路径,再重新安装,所以解释器的路径是根据当前服务器上anaconda的路径来定的,不会出错。以pip路径为例:vim /root/anaconda3/envs/pytf36/bin/pip从原始文件里第一行看到python的路径,将..原创 2020-06-17 23:52:55 · 2654 阅读 · 2 评论 -
bad interpreter No such file or directory
ispace运行出现如下错误:Fatal error: Exit code 126 ()/root/anaconda3/envs/pytf36/bin/jupyter: /home/zhongjia/anaconda3/envs/pytf36/bin/python: bad interpreter: No such file or directory错误内容:提示找不到jupyter 和python解释器,即执行了bin下面的jupyte和python程序,但程序执行时没找到对应的解释器。后面.原创 2020-06-17 22:23:29 · 1067 阅读 · 4 评论 -
python判断是文件还是目录注意事项
先贴代码:注意其中path是一个带有目录的文件,不能只是一个文件名称。比如这是我在ispace远程调用的部分代码:其中files本身是个文件名称,如果不加上前面的目录,则 if 语句永远为假。加上目录upper_dir,则正确。因为不指定目录,程序不知道到哪里去找该文件,并判断它,可能会默认去根目录找该文件吧,找不到就false了。我是这么推断的。...原创 2020-05-31 23:06:41 · 1366 阅读 · 0 评论 -
linux查看python版本、安装路径、当前解释器
1.查看当前python解释器pythonimport syssys.executable2. 查看所有python的路径:whereis python3.查看当前使用的python路径which python方法1和3的输出结果相同...原创 2020-02-15 19:33:47 · 1335 阅读 · 0 评论 -
cannot import name 'Panel4D' from 'pandas‘‘’
参考:https://pandas.pydata.org/pandas-docs/version/1.0.0/reference/panel.html原创 2020-01-16 21:49:01 · 877 阅读 · 0 评论 -
setup.py安装出现no commands supplied 错误
将python setup改为python setup install原创 2020-01-14 13:16:36 · 2037 阅读 · 0 评论