• 数字图像处理—python


    pycahem终端也可以下载库,我只会用终端下载,用的镜像网站

    1. pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple
    2. pip install scikit-image -i https://pypi.tuna.tsinghua.edu.cn/simple.
    3. pip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple.

    在敲的过程中我深刻体会到了,python代码对缩进要求极高,稍有不慎....

    (1)采用均值方法/最大值进行图像模拟采样

    将image[i,j,k]=np.mean(delta)修改为image[i,j,k]=np.max(delta)

    1. from skimage import data
    2. from matplotlib import pyplot as plt
    3. import numpy as np #导入所需类包
    4. image = data.coffee() #载入测试图像
    5. print(image.shape) #显示图像原始大小
    6. print(type(image)) #显示图像类型
    7. ratio = 20
    8. image1 = np.zeros((int(image.shape[0]/ratio),
    9. int(image.shape[1]/ratio),image.shape[2]),
    10. dtype = 'int32') #设置采样比率
    11. for i in range(image1.shape[0]):
    12. for j in range(image1.shape[1]):
    13. for k in range(image1.shape[2]): #对图像进行遍历
    14. delta = image[i * ratio:(i + 1)*ratio,j *ratio:(j + 1)*ratio,k] #获取需要采样的图像块
    15. image1 [i,j,k] = np.mean(delta) #计算均值,并存入结果图像 均值进行图像采样
    16. #image1 [i,j,k] = np.max(delta)最大值进行图像值采样
    17. plt.imshow(image1) #打印采样后的图像
    18. plt.show()

    (2)图像量化

    1. from skimage import data
    2. from matplotlib import pyplot as plt
    3. image = data.coffee() #载入测试图像
    4. ratio = 128
    5. for i in range(image.shape[0]):
    6. for j in range(image.shape[1]):
    7. for k in range(image.shape[2]): #对图像进行遍历
    8. image [i][j][k] = int(image[i][j][k]/ratio)*ratio #计算均值,并存入结果图像
    9. plt.imshow(image) #打印采样后的图像
    10. plt.show()

  • 相关阅读:
    分类算法系列④:朴素贝叶斯算法
    Spring Boot——yml和properties详解
    qtchooser 配置和使用多个Qt版本
    nodejs 模块
    如何在linux上直接运行python程序
    【数学】仿射变换
    vsftpd使用
    KNN实现鸢尾花分类
    谷歌Bard更新!会有哪些体验升级?
    pytorch的axis的理解
  • 原文地址:https://blog.csdn.net/m0_62470904/article/details/136582336