图像处理
文章平均质量分 51
FrenchOldDriver
这个作者很懒,什么都没留下…
展开
-
三种实现模型可视化的方式(print, torchinfo, tensorboard)
深度学习模型可视化原创 2023-04-13 20:12:04 · 1102 阅读 · 1 评论 -
直方图均衡化实现暗光增强
直方图均衡化,暗光增强原创 2023-04-13 16:38:36 · 810 阅读 · 0 评论 -
显著性检测saliency detection代码实现
显著性检测原创 2023-03-01 14:51:05 · 726 阅读 · 0 评论 -
pytorch训练过程中存图片的一种方式
pytorch训练过程中存储图片原创 2023-02-28 22:08:44 · 254 阅读 · 0 评论 -
【踩坑指南】Stable Diffusion 服务器端部署笔记
https://github.com/CompVis/stable-diffusion 这个网址,下载压缩包解压,也可以用git clone下载。下载地址:https://huggingface.co/CompVis/stable-diffusion-v-1-4-original。文件中自带瑟图检测,如果触发了会生成一张全黑图片或者是其他和谐图替代。其实在代码中可以注释掉。随便选一个就行,下载了之后放到stable-diffusion 文件夹中的。其他有啥漏掉的包基本直接pip就行。就不会触发安全检测了。原创 2023-02-22 14:45:38 · 5310 阅读 · 6 评论 -
好看的混淆矩阵可视化,以小数方式显示
除了用seaborn,还可以用ConfusionMatrixDisplay。混淆矩阵通常长上面这个样子,通过。只需要简单几行,即可实现。原创 2023-01-04 10:31:03 · 2135 阅读 · 3 评论 -
【图像处理笔记3】Gabor Filter的手动和调包实现
Gabor filter 作为一种很出名的纹理滤波器,可以很好的捕捉纹理信息。比如设置成(3, 3, math.pi/2, 0.5)的参数。显示的时候要用np.real取实数部分,不然画不出来。现在的Gabor由4个参数控制(Gabor还可以用过skimage 调包实现。代码实现如下, 代码里的freq就是。原创 2022-11-09 11:20:26 · 813 阅读 · 0 评论 -
opencv图像处理笔记(二):SIFT和SURF算法,获取特征描述点并匹配
这两个算法相似,都是为了获取局部特征点的特征向量的。具体数学原理不过多赘述值得注意的是这两个函数在早期版本(opencv3.4 以前)中属于, 而在4以后是可以直接省掉的。原创 2022-10-14 15:48:13 · 1534 阅读 · 0 评论 -
opencv图像处理笔记【1】:LBP算法的实现
LBP的算法全称是Local Binary Pattern, 局部二值特征。他的实现也很简单,对于图像的一个3x3的块,中心的值和周围八个点作比较,周围点比中心点大为1,反之为0,从而可以将当前这个中心点转换成只包含01的二值表示,然后再将二进制转成十进制存储。LBP的实现还有很多变种,比如圆形LBP。无论其方式如何变化,其中心思想都是周围点和中心点比较。生成的图片就会产生这种类似浮雕一样的效果。原创 2022-08-24 10:47:31 · 1294 阅读 · 0 评论 -
【图像处理】Pyefd.elliptic_fourier_descriptors的使用方式
每一个轮廓的维度是【长度,1,2】,而elliptic_fourier_descriptors只能处理【长度,2】这样的数据,所以用np.squeeze()。图像轮廓的获取方式如上述代码,一般是先转灰度,再获取binary,再送到findContours函数中。返回的contours一般是一个四维的向量,分别表示【轮廓个数,该轮廓的轮廓点个数,1,坐标x和y】。关键的输入是contours,图像轮廓,可以通过opencv的函数实现。傅里叶描述器,通过傅里叶级数逼近的方式,去近似得到图像轮廓的表示。.....原创 2022-07-19 10:11:19 · 683 阅读 · 0 评论 -
sRGB转CIEXYZ转CIELAB,以及色彩距离
色彩空间原创 2022-06-27 15:23:40 · 1790 阅读 · 0 评论 -
Pytorch深度学习(2):图像处理入门+MNIST实战
本文将通过一个经典的Kaggle比赛:MNIST手写字识别来进行简单的图像处理入门。该Kaggle竞赛链接并且会用到很常见的CNN模型。首先导入数据,做好前期准备:import pandas as pdimport numpy as nptrain_data = pd.read_csv('./train.csv')test_data = pd.read_csv('./test.csv')简单查看一下可以发现,该数据中,训练集里是包含label的,在其数据的第一位,而测试集没有。并且他的数据原创 2022-05-24 23:02:09 · 971 阅读 · 0 评论 -
通过torch.nn.init更改模型初始化参数
比如模型如下:class Net(nn.Module): # 初始化定义网络的结构:也就是定义网络的层 def __init__(self): super(Net,self).__init__() self.layer1 = nn.Sequential( nn.Conv2d(3,6,kernel_size=5,stride=1,padding=0), # 激活函数原创 2022-05-21 14:34:12 · 884 阅读 · 0 评论 -
图像处理(1):K-means算法进行色彩压缩
K-means算法的理论网上一大堆,并且理论本身不难,所以直接跳过,注重实战。首先导入包并且显示原图片:from PIL import Imageimport matplotlib.pyplot as pltimport numpy as npfrom sklearn.cluster import MiniBatchKMeansimage=Image.open("./photo/PA2...原创 2020-04-28 12:00:55 · 2272 阅读 · 0 评论 -
如何优雅地在jupyter里打开图片
网上看到很多用opencv打开图片的,无论最后添加什么代码,图片打开都无法关闭并且会导致kernel挂掉。个人对opencv没啥研究,所以今天换一种小白方式。首先需要下载Pillow,用pip直接下载即可:pip install Pillow下载之后导入包,注意导入的时候叫PIL:from PIL import Imageimport matplotlib.pyplot as plti...原创 2020-04-28 11:02:06 · 2995 阅读 · 2 评论