• Win10+Python3.10+OpenCV4.6.0加载显示图片


    1 前言

    上一篇介绍了在WIN10上,用VS2022编写C++测试程序,调用OpenCV库加载显示图片,本篇我们接着看一下,使用Python如何调用OpenCV库接口,加载显示图片。

    2 模块安装

    在编写程序之前,先要在PC上安装Python版本的OpenCV模块。

    打开Windows PowerShell,使用如下命令下载安装

    pip install opencv-python
    

    在这里插入图片描述

    安装完成截图

    在这里插入图片描述

    显示已成功安装opencv-python-4.6.0.66和numpy-1.23.2,我们来用python检测一下
    import导入模块的名称为“cv2”,打印cv2版本信息,如图是4.6.0,没错。

    在这里插入图片描述

    接下来使用下边命令安装opencv-contrib-python。那么它与opencv-python有啥区别呢?opencv-python是只包含了主要模块的包,opencv-contrib-python包含了主要模块以及扩展模块,扩展模块主要是包含了一些带专利的收费算法(如shift特征检测)以及一些在测试的新的算法(稳定后会合并到主要模块)。如果您用不到扩展模块,这个也可以不安装。

    pip install opencv-contrib-python
    

    在这里插入图片描述

     安装好了之后,就可以用创建测试项目编写程序了。

    3 创建配置项目

    下来我们用VS2022来创建和编辑python测试程序,您也可以用其它IDE编写程序。

    打开VS2022,创建新项目。
    在这里插入图片描述
    创建Python应用程序
    在这里插入图片描述
    配置项目名称和路径
    在这里插入图片描述
    创建好项目后,发现默认使用的解释器是Python 3.7,在此将其改成Python 3.10。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    4 编写程序

    将以下代码,编辑输入到show_img.py文件中。

    1. # -*- coding: utf-8 -*-
    2. ###########################
    3. #OpenCV关键函数说明
    4. #
    5. #1 读取图像
    6. # cv2.imread(filename, flags=None)
    7. # filename:文件路径
    8. # flags:读取方式,有以下3种选项
    9. # flags可以不输入,此时默认为cv2.IMREAD_COLOR,缺省方式,读取图像为BGR 8-bit格式
    10. # flags设置为cv2.IMREAD_GRAYSCALE,读取图像为转换为灰度图
    11. # flags设置为cv2.IMREAD_UNCHANGED,图像格式不做任何改变,可用在读取带alpha通道的图片
    12. #
    13. #2 创建画布
    14. # cv2.namedWindow(winname, flags=None)
    15. # winname:窗口名称
    16. # flags:窗口大小控制
    17. # flags取值cv2.WINDOW_NORMAL(或写 0 ),窗口以固定大小显示,但可以用鼠标拖动边缘来拉伸
    18. # flags取值cv2.WINDOW_AUTOSIZE(或写 1,为默认值),窗口大小随图片尺寸变化而自适应变化,且不可用鼠标拖拽动态改变大小
    19. #
    20. #3 显示图像
    21. # 读取图像后,就将图像转为了numpy多维数组的格式
    22. # cv2.imshow(winname, mat)
    23. # winname:设置好的一张特定名称的画布窗口
    24. # mat:读取的numpy多维数组
    25. #
    26. #4 按键等待
    27. # cv2.waitKey(0)
    28. # 参数“0”,一直等待直到按下任意按键后,才继续后面的程序执行
    29. # 如果参数是正整数,则代表等待相应数值的毫秒时间后,继续执行后面的程序
    30. #
    31. ###########################
    32. import cv2
    33. def show_img(path):
    34. img = cv2.imread(path)
    35. cv2.namedWindow('img', 0)
    36. cv2.imshow('img', img)
    37. cv2.waitKey(0)
    38. if __name__ == '__main__':
    39. img_file = 'xiang_ri_kui.jpg'
    40. show_img(img_file)

    VS中如截图
    在这里插入图片描述
    其中,xiang_ri_kui.jpg是工程当前路径下的一张jpg图片。
    在这里插入图片描述
    编辑好代码后,启动运行程序,效果如下
    在这里插入图片描述
    鼠标移到图片窗口右下角,可以用鼠标拖拽来放大和缩小图片。

  • 相关阅读:
    微服务从代码到k8s部署应有尽有系列(四、用户中心)
    JS基础--任务队列和事件循环
    一维卷积英语电影评论情感分类项目
    谣言检测(PSIN)——《Divide-and-Conquer: Post-User Interaction Network for Fake News Detection on Social Media》
    保卫你的应用:探索过滤器和拦截器的奥秘
    IDEA 22.2.3 创建web项目及Tomcat部署与服务器初始界面修改(保姆版)
    QT 实现简单的天气 哈哈
    【Docker】Docker-Compose内置DNS负载均衡失效问题
    如何进行品牌知名度调查|群狼调研(长沙品牌推广测试)
    情感驿站 | 真正厉害的人从不说教
  • 原文地址:https://blog.csdn.net/chexlong/article/details/126596461