python编译环境配置的实现步骤

作者:

文章目录
  • 第一步安装spyder6:spyder6,以前我用的是PyCharm,试用期过了换工具了。
  • 第二步安装Anaconda:便捷获取包、管理第三方库的工具,我下载的是miniconda
  • 第三步,因为spyder6需要特定版本的python才能运行,直接在miniconda中安装。
  • 要注意一点,就是python之后用到的第三方库,无论用cmd还是conda安装,都要以“管理员权限”运行。 可以看到安装spyder kernel之后编译环境就变成了Miniconda里的python 运行一个简单图像特征提取的代码会发现报错没有module,这是因为没有安装第三方库   然后我尝试直接在miniconda中输入pip install opencv-python, 然后安装pip install scikit-image:
  •  成功之后返回到spyder再次运行代码,观察是否还会报错no module 简单的图像特征提取:(提取小行星vesta图像特征,图像来源于PDS) # -*- coding: utf-8 -*- “”” Created on Sun May 25 19:13:37 2025 @author: galax “”” # 导入必要的库 import cv2 import numpy as np from skimage.feature import graycomatrix, graycoprops from matplotlib import pyplot as plt # 读取PNG图像 #”C:UsersgalaxDesktop数据DatapVesta03.png” #image_path = ‘/kaggle/input/asteroids-pngtest/Bennu02.png’ image_path = r’C:UsersgalaxDesktopDatapVesta03.png’ image = cv2.imread(image_path, cv2.IMREAD_UNCHANGED) # 检查图像是否加载成功 if image is None: raise ValueError(“无法加载图像!请检查文件路径”) # 显示原始图像信息 print(“[调试信息] 原始图像形状:”, image.shape) # 应显示 (1024, 1024) print(“[调试信息] 图像数据类型:”, image.dtype) # 应显示 uint8 # 灰度图像专用处理流程 ————————————————— # 直接使用原始灰度图像(无需转换) if len(image.shape) == 2: gray = image # 直接使用原始灰度数据 print(“[调试信息] 检测到灰度图像,跳过通道转换”) else: # 如果意外出现彩色图像则转换为灰度 gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) # 01: 提取颜色特征(灰度直方图) color_hist = cv2.calcHist([gray], [0], None, [256], [0, 256]) # 单通道直方图 color_hist = cv2.normalize(color_hist, None).flatten() # 修正归一化参数 # 02:提取纹理特征(GLCM) glcm = graycomatrix(gray, distances=[1], angles=[0, np.pi/4, np.pi/2], # 增加角度多样性 levels=256, symmetric=True, normed=True) contrast = np.mean(graycoprops(glcm, ‘contrast’)) homogeneity = np.mean(graycoprops(glcm, ‘homogeneity’)) energy = np.mean(graycoprops(glcm, ‘energy’)) # 03: 优化边缘检测参数 edges = cv2.Canny(gray, threshold1=50, threshold2=150) # 调整阈值适应太空图像 # 可视化设置 plt.figure(figsize=(15, 5)) # 原始灰度图像 plt.subplot(131) plt.imshow(gray, cmap=’gray’) plt.title(‘原始灰度图像’) # 颜色直方图(灰度分布) plt.subplot(132) plt.bar(range(256), color_hist.ravel()[:256], width=1.0) # 显示前256个bin plt.title(‘灰度直方图分布’) plt.xlim([0, 256]) # 边缘检测结果 plt.subplot(133) plt.imshow(edges, cmap=’gray’) plt.title(‘优化边缘检测’) plt.tight_layout() plt.show() # 特征输出 print(“n特征提取结果:”) print(f”直方图维度: {len(color_hist)} (0-255灰度级分布)”) print(f”纹理特征 – 平均对比度: {contrast:.2f}”) print(f” 平均同质性: {homogeneity:.2f}”) print(f” 平均能量: {energy:.2f}”) print(f”边缘特征 – 边缘像素占比: {np.mean(edges > 0)*100:.1f}%”) 在spyder6中的运行结果
  • 目录
    • 第一步:装编译器
    • 第二步:装Anaconda
    • 第三步:在miniconda中装特定版本的python
    • 第四步:在miniconda中安装第三方库
    • 第五步:检验是否成功运行
      • 结果(1)变量浏览器
      • 结果(2)绘图看板
      • 结果(3)控制台的输出

    第一步安装spyder6:spyder6,以前我用的是PyCharm,试用期过了换工具了。

    第二步安装Anaconda:便捷获取包、管理第三方库的工具,我下载的是miniconda

    第三步,因为spyder6需要特定版本的python才能运行,直接在miniconda中安装。

    要注意一点,就是python之后用到的第三方库,无论用cmd还是conda安装,都要以“管理员权限”运行。

    可以看到安装spyder kernel之后编译环境就变成了Miniconda里的python

    运行一个简单图像特征提取的代码会发现报错没有module,这是因为没有安装第三方库 

     然后我尝试直接在miniconda中输入pip install opencv-python,

    然后安装pip install scikit-image:

     成功之后返回到spyder再次运行代码,观察是否还会报错no module

    简单的图像特征提取:(提取小行星vesta图像特征,图像来源于PDS)

    # -*- coding: utf-8 -*-
    """
    Created on Sun May 25 19:13:37 2025
    
    @author: galax
    """
    
    # 导入必要的库
    import cv2
    import numpy as np
    from skimage.feature import graycomatrix, graycoprops
    from matplotlib import pyplot as plt
    
    
    # 读取PNG图像
    #"C:UsersgalaxDesktop数据DatapVesta03.png"
    #image_path = '/kaggle/input/asteroids-pngtest/Bennu02.png'
    image_path = r'C:UsersgalaxDesktopDatapVesta03.png'
    image = cv2.imread(image_path, cv2.IMREAD_UNCHANGED)
    
    # 检查图像是否加载成功
    if image is None:
        raise ValueError("无法加载图像!请检查文件路径")
    
    # 显示原始图像信息
    print("[调试信息] 原始图像形状:", image.shape)  # 应显示 (1024, 1024)
    print("[调试信息] 图像数据类型:", image.dtype)  # 应显示 uint8
    
    # 灰度图像专用处理流程 ---------------------------------------------------
    # 直接使用原始灰度图像(无需转换)
    if len(image.shape) == 2:
        gray = image  # 直接使用原始灰度数据
        print("[调试信息] 检测到灰度图像,跳过通道转换")
    else:
        # 如果意外出现彩色图像则转换为灰度
        gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
    
    # 01: 提取颜色特征(灰度直方图)
    color_hist = cv2.calcHist([gray], [0], None, [256], [0, 256])  # 单通道直方图
    color_hist = cv2.normalize(color_hist, None).flatten()  # 修正归一化参数
    
    # 02:提取纹理特征(GLCM)
    glcm = graycomatrix(gray, 
                       distances=[1], 
                       angles=[0, np.pi/4, np.pi/2],  # 增加角度多样性
                       levels=256,
                       symmetric=True, 
                       normed=True)
    contrast = np.mean(graycoprops(glcm, 'contrast'))
    homogeneity = np.mean(graycoprops(glcm, 'homogeneity'))
    energy = np.mean(graycoprops(glcm, 'energy'))
    
    # 03: 优化边缘检测参数
    edges = cv2.Canny(gray, threshold1=50, threshold2=150)  # 调整阈值适应太空图像
    
    # 可视化设置
    plt.figure(figsize=(15, 5))
    
    # 原始灰度图像
    plt.subplot(131)
    plt.imshow(gray, cmap='gray')
    plt.title('原始灰度图像')
    
    # 颜色直方图(灰度分布)
    plt.subplot(132)
    plt.bar(range(256), color_hist.ravel()[:256], width=1.0)  # 显示前256个bin
    plt.title('灰度直方图分布')
    plt.xlim([0, 256])
    
    # 边缘检测结果
    plt.subplot(133)
    plt.imshow(edges, cmap='gray')
    plt.title('优化边缘检测')
    
    plt.tight_layout()
    plt.show()
    
    # 特征输出
    print("n特征提取结果:")
    print(f"直方图维度: {len(color_hist)} (0-255灰度级分布)")
    print(f"纹理特征 - 平均对比度: {contrast:.2f}")
    print(f"         平均同质性: {homogeneity:.2f}")
    print(f"         平均能量: {energy:.2f}")
    print(f"边缘特征 - 边缘像素占比: {np.mean(edges > 0)*100:.1f}%")

    在spyder6中的运行结果

    可以看到提取出的特征向量

    可以点开,很方便:

    第一张是原始灰度图像,第二张是灰度直方图分布,第三张是优化边缘检测。

     下一步是搭建神经网络,尝试安装CPU版本的Pytorch在本地调试,最后的GPU加速放到云端。

    到此这篇关于python编译环境配置的实现步骤的文章就介绍到这了,更多相关python编译环境配置内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客!

    您可能感兴趣的文章:

    • Python+Django在windows下的开发环境配置图解
    • win8下python3.4安装和环境配置图文教程
    • pycharm+PyQt5+python最新开发环境配置(踩坑)
    • python3.6环境安装+pip环境配置教程图文详解
    • Pycharm中Python环境配置常见问题解析
    • Python3和PyCharm安装与环境配置【图文教程】

    站内搜索