![](https://img-blog.csdnimg.cn/d0ae85444c26439bb30b4df114497b5f.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
三维数字岩芯模型的几何相似性判别及建模还原度评价
这个专栏下的内容是我大的研究体系中中涉及到的各种代码及方法,记录自己日常科研的专栏。持续更新中。
Zhaohui_Zhang
这个作者很懒,什么都没留下…
展开
-
绘制直方图+柱状图
目录1、绘制柱状图2、绘制直方图1、绘制柱状图import numpy as npimport matplotlib.pyplot as pltfrom tqdm import tqdm_notebook as tqdmimport warningswarnings.filterwarnings("ignore")from matplotlib.font_manager import FontProperties #设置汉字字体#设置字体类型from matpl原创 2022-04-02 22:18:26 · 685 阅读 · 0 评论 -
小波变换——提取图像(低频/宏观)到(高频/微观)信息
对我来说,小波分解属于研究大结构框架中图像预处理最基础的地方,由于创新性不足,一年多前尝试过以后就被搁置;现已研究出较新的多尺度/多分辨率特征提取算法,故将小波变换留个纪念。import cv2import numpy as npimport osimport matplotlib.pyplot as pltimport numpy as npimport matplotlibimport pywt#读取图像img = cv2.imread('G:/shale10058.bmp',原创 2022-04-02 21:17:23 · 6813 阅读 · 0 评论 -
Otsu图像分割
opencv自带Otsu算法,只需要在分割时将参数选择为“cv2.THRESH_OTSU”即可#coding:utf-8import cv2import numpy as npfrom matplotlib import pyplot as plt image = cv2.imread('E:/shale10053.bmp')grayimage = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)gray = cv2.GaussianBlur(grayima原创 2022-04-02 21:10:36 · 2600 阅读 · 0 评论 -
彩色图像通道分离+融合
前段时间做过几个彩色图像多通道特征提取的研究,所以在这里记录一下彩色图像通道分离+融合的代码。import cv2import numpy as npfrom matplotlib import pyplot as pltimg = cv2.imread('/lena.jpg',cv2.IMREAD_COLOR) #以彩色形式读取图像#函数分离图像三通道b, g, r = cv2.split(img)cv2.imshow("Blue 1", b)cv2.imshow..原创 2022-04-02 20:48:31 · 1257 阅读 · 0 评论 -
更改目录下所有文件后缀+批量导入三维页岩图像
1、更换目录下所有文件后缀import osdata = os.walk(r'H:/U-net/dataset/shalestone512_ihui/')for i in data: for i2 in i[2]: a=i2.replace('.tif','.jpg') //(“原格式”,“目标格式”) os.rename(str(i[0])+'\\'+str(i2),i[0]+'\\'+a)...原创 2022-03-19 13:21:58 · 2577 阅读 · 0 评论 -
KL散度(距离)和JS散度(距离)
两者都可以用来衡量两个概率分布之间的差异性。JS散度是KL散度的一种变体形式。KL散度:也称相对熵、KL距离。对于两个概率分布P和Q之间的差异性(也可以简单理解成相似性),二者越相似,KL散度越小。KL散度的性质:●非负性。即KL散度大于等于零。●非对称性。即运算时交换P和Q的位置,得到的结果也不一样。(所以这里严格来讲也不能把KL散度称为KL距离,距离一定符合对称性,所以要描述准确的话还是建议用KL散度来表述)对离散分布来说:...原创 2021-09-29 14:11:57 · 8386 阅读 · 0 评论 -
图像阈值分割代码模板
一、手工阈值分割代码部分:import cv2import numpy as npfrom matplotlib import pyplot as pltfrom PIL import Image# 图片二值化img = Image.open('E:/shale10053.bmp')threshold = 66 #手工设置阈值table = []for i in range(256): if i < threshold: table.append(原创 2021-09-28 10:54:42 · 783 阅读 · 0 评论 -
批量处理的代码模板
之前因为交接已毕业师兄的工作,从交接内容中找到了一个批量处理来裁剪图像的程序。对我这个python小白来说友善多了,可以以这段代码作为模板,方便日后工作中的批量处理图像(因为我每次要处理的岩心图像就是256张或512张,我代码能力一般,所以通过这个批量处理的模板可以很方便地进行后来的工作)。代码部分:(这里是以批量裁剪图像为例,想做什么操作把那个裁剪图像的函数换掉就可以)import os#导入批量处理模块from PIL import Image#导入图像处理模块path = r"E:/r原创 2021-09-27 22:51:44 · 418 阅读 · 0 评论 -
K-means在图像阈值分割上的应用
参考冈萨雷斯《数字图像处理》第四版,其中提到了K均值聚类算法可用于图像分割,所以我整理了网上一些资源做了如下测试实验。代码部分:import cv2import matplotlib.pyplot as pltimport numpy as npdef seg_kmeans_gray(): #读取图片 img = cv2.imread('E:/shale10053.bmp', cv2.IMREAD_GRAYSCALE) # 展平 img_flat = im原创 2021-09-27 22:26:25 · 889 阅读 · 1 评论 -
膨胀、腐蚀、开闭运算
因为形态学运算会对建模效果产生很大影响,所以如何更好地把形态学算法运用到岩心图像中是我所做工作的前置任务之一。这里先对二维图像进行以上形态学运算,等到工作后期会从二维图像推广到三维图像。到时候再续更。代码部分:第一步:这里先对图像进行分割,分割阈值选取66(阈值是通过Otsu方法得到的)。接下来定义卷积核,我们接下来的形态学运算用到的卷积核都是在这里定义的。import numpy as npimport cv2 import copyimg = cv2.imread('E:/sh原创 2021-09-27 22:06:09 · 426 阅读 · 0 评论 -
图像边缘提取算子
本次实验以一幅岩心图像为例,通过Roberts算子对图像进行边缘提取。# -*- coding: utf-8 -*-import cv2import numpy as npimport matplotlib.pyplot as plt # 读取图像grayImage = cv2.imread('E:/shale10053.bmp', cv2.IMREAD_GRAYSCALE)grayImage = cv2.GaussianBlur(grayImage, (3,3), 0) #对灰度...原创 2021-09-27 21:03:55 · 937 阅读 · 0 评论