砂岩分割步骤

图像归一化

1.图像由bmp转化为png
利用格式工厂软件进行转化
2.图像统一为512*512大小

from PIL import Image

img_switch = Image.open("data512*512/7-1.png") # 读取图片
img_deal = img_switch.resize((512,512),Image.ANTIALIAS) # 转化图片

img_deal = img_deal.convert('RGB') # 保存为.jpg格式才需要
img_deal.save("grey/7-1.png")

3.图像灰度化

import cv2#读图
import numpy as np  #用于科学计算、数值分析  np矩阵
#读取图片
image = cv2.imread('4.512/20.png')#根据路径读取一张图片  opencv支持bmp、jpg、png、tifff
#取长宽
sp=image.shape
height=sp[0]
width=sp[1]
#zeros黑色幕布
newimg= np.zeros((height,width,3),np.uint8)
for i in range(height):
    for j in range (width):
        #按照加权平均值的方法  红0.3 绿0.59 蓝 0.11
        newimg[i,j] = 0.3*image[i,j][0]+0.59*image[i,j][1]+0.11*image[i,j][2]
cv2.namedWindow('Image')#创建名为img的窗口
cv2.imshow('Image',newimg)#显示图片
cv2.imwrite('5.grey/20.png',newimg)
cv2.waitKey(0)#键盘触发,释放窗口   若写5  则显示5秒
cv2.destroyAllWindows()#释放窗口

4.图像位深转化为8位

import os

from PIL import Image

path = r'.\5.grey'
newpath = r'6.位深度'


def picture(path):
    files = os.listdir(path)
    for i in files:
        files = os.path.join(path, i)
        img = Image.open(files).convert('L')
        dirpath = newpath
        file_name, file_extend = os.path.splitext(i)
        dst = os.path.join(os.path.abspath(dirpath), file_name + '.png')
        img.save(dst)


picture(path)

5.环境配置
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/ldda123/article/details/122228062