2022年5月15日小记

2022年5月15日小记,第1张

从大一开始的恋爱到今天分手了。说不伤心是不可能的,但我真的想快点清清脑子,所以我就来写博客来转移注意力了。最近在做一个图像分割项目的可视化工作,来做一个麦穗密度的可视化,很巧,今天刚做出来,今天我太想做点事情来换换脑子了。因为我是后来才接手这个项目的而且之前图像分割没接触过,所以刚入手的时候很慢,里面的一些函数我都不知道什么意思。所以我来写写这次函数的功能,来消磨消磨时间吧,六级在这个时候不合适我。我感觉我做六级题我会更烦。(我由衷的希望她能过得很好)

Image.fromarray

作用:实现array到image的转换
所以我们就要有个想法,如何将image转化为array,和array转化为image

img = np.asarray(image)# image转化为array
Image.fromarray(np.uint8(img))# array转化为image
astype()函数

作用:转换数据类型dtype

import cv2
import numpy as np
from PIL.Image import Image

arr = np.arange(5)
print(arr.dtype)
float_arr = arr.astype(np.float64)
print(float_arr.dtype)
# int32
# float64

说起astype()函数,就不得不提起dtype,它既可以作为一个函数也可以作为一个属性。
作为属性
dtype可以用于说明数组中的数据类型的对象
作为函数
作用:结构化数组类型并加以使用
语法:numpy.dtype(object, align, copy)
参数 含义
Object 被转换为数据类型的对象。
Align 如果为true,则向字段添加间隔,使其类似 C 的结构体。
Copy 是否生成dtype对象的新副本,如果为flase,结果是内建数据类型对象的引用。

在上述例子中已经体现出了他们的用处

argmax函数

数学形式的定义为: f(argmax(f(x)))=max(f(x))
作用:返回沿轴axis最大值的索引。
用法:
numpy.argmax(a, axis=None, out=None)
参数设置:
a : array_like 数组
axis : int, 可选
默认情况下,索引的是平铺的数组,否则沿指定的轴。
out : array, 可选
如果提供,结果以合适的形状和类型被插入到此数组中。
Returns: index_array : ndarray of ints
索引数组。它具有与a.shape相同的形状,其中axis被移除。

torch.load_state_dict()

又转到了torch,,,
在Pytorch中构建好一个模型后,一般需要进行预训练权重中加载。torch.load_state_dict()函数就是用于将预训练的参数权重加载到新的模型之中, *** 作方式如下所示:

sd_net = torchvision.models.resnte50(pretrained=False)
sd_net.load_state_dict(torch.load('*.pth'), strict=True)
glob库函数

将某目录下所有跟通配符模式相同的文件放到一个列表中
在我这个项目中,是这样写的

im_list = glob(os.path.join('data/color_test', '*.jpg'))

我的理解是将某个文件中以jpg结尾的文件生成为一个列表返回
glob库函数还有几个函数,我先不写了(这个博主真懒)

basename函数

返回path最后的文件名。若path以/或\结尾,那么就会返回空值

path='D:\CSDN'
os.path.basename(path)=CSDN

简单易懂

np.newaxis

作用:插入新维度
示例1:

import numpy as np

a=np.array([1,2,3,4,5])
aa=a[:,np.newaxis]
print(aa.shape)
print (aa)
# (5, 1)
# [[1]
#  [2]
#  [3]
#  [4]
#  [5]]

示例2:

import numpy as np

a=np.array([1,2,3,4,5])
aa=a[np.newaxis,:]
print(aa.shape)
print (aa)
# (1, 5)
# [[1 2 3 4 5]]

注意 : 的位置,理解下就应该都懂了

cv2.bitwise_and

用法一:
cv2.bitwise_and(iamge,image,mask=mask)
RGB图像选取掩膜选定的区域
在图像分割里,你预测出了mask图像,如果你需要将mask图选中的区域覆盖原图,你就会用到这个函数,这里我就不放图了。自己试试很简单的。

用法二:求两张图片的交集
顾名思义。

快结束了,看来有很多我还是有很多不懂的函数的
但是觉得下面两个很重要,这次任务也是用到了这两个函数

cv2.imread()和cv2.imwrite()和cv2.imshow()

从文件里读入图片和写入图片和输出图片

cv2.cvtColor()

cv2.cvtColor(p1,p2) 是颜色空间转换函数,p1是需要转换的图片,p2是转换成何种格式。
cv2.COLOR_BGR2RGB 将BGR格式转换成RGB格式
cv2.COLOR_BGR2GRAY 将BGR格式转换成灰度图片

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/942185.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-18
下一篇2022-05-18

发表评论

登录后才能评论

评论列表(0条)

    保存