百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

Python图像处理:OpenCV基础教程(用python做图像处理)

off999 2025-05-05 18:07 29 浏览 0 评论

OpenCV(Open Source Computer Vision Library)是一个开源计算机视觉和机器学习软件库。它提供了大量的图像和视频处理功能,可以用于各种应用场景,比如人脸识别、物体检测、图像分割等。下面是一个关于如何使用 OpenCV 进行基本图像处理的教程。

安装 OpenCV

首先,你需要安装 OpenCV。如果你还没有安装,可以通过 pip 安装 OpenCV 的 Python 接口:

Bash

深色版本

1pip install opencv-python

为了能够使用一些额外的功能,比如图形用户界面,你可能还需要安装 opencv-python-headless 或者 opencv-contrib-python:

Bash

深色版本

1pip install opencv-python-headless
2pip install opencv-contrib-python

基础图像操作

读取图像

Python

深色版本

1import cv2
2
3# 读取图像
4image = cv2.imread('path/to/your/image.jpg')
5
6# 显示图像
7cv2.imshow('Image', image)
8cv2.waitKey(0)  # 等待按键事件,0 表示无限等待
9cv2.destroyAllWindows()
10
11# 保存图像
12cv2.imwrite('output_image.jpg', image)

图像属性

Python

深色版本

1# 获取图像尺寸 (高度, 宽度, 通道数)
2height, width, channels = image.shape
3print(f"Image size: {width}x{height} ({channels} channels)")
4
5# 获取像素值
6pixel_value = image[100, 100]  # 获取 (100, 100) 位置的像素值
7print(f"Pixel value at (100, 100): {pixel_value}")

图像裁剪与缩放

Python

深色版本

1# 裁剪图像
2cropped_image = image[50:200, 100:300]
3
4# 缩放图像
5resized_image = cv2.resize(image, (640, 480))  # 将图像调整为 640x480 大小

高级图像处理

灰度转换

Python

深色版本

1gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
2cv2.imshow('Gray Image', gray_image)
3cv2.waitKey(0)
4cv2.destroyAllWindows()

边缘检测

Python

深色版本

1edges = cv2.Canny(gray_image, threshold1=50, threshold2=150)
2cv2.imshow('Edges', edges)
3cv2.waitKey(0)
4cv2.destroyAllWindows()

形态学操作

Python

深色版本

1kernel = np.ones((5, 5), np.uint8)
2
3# 腐蚀
4erosion = cv2.erode(edges, kernel, iterations=1)
5
6# 膨胀
7dilation = cv2.dilate(edges, kernel, iterations=1)
8
9# 开运算
10opening = cv2.morphologyEx(edges, cv2.MORPH_OPEN, kernel)
11
12# 闭运算
13closing = cv2.morphologyEx(edges, cv2.MORPH_CLOSE, kernel)

图像轮廓检测

Python

深色版本

1# 查找轮廓
2contours, _ = cv2.findContours(edges, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
3
4# 绘制轮廓
5cv2.drawContours(image, contours, -1, (0, 255, 0), 2)
6cv2.imshow('Contours', image)
7cv2.waitKey(0)
8cv2.destroyAllWindows()

完整示例

将上述代码片段组合成一个完整的程序:

Python

深色版本

1import cv2
2import numpy as np
3
4# 读取图像
5image = cv2.imread('path/to/your/image.jpg')
6
7# 显示原始图像
8cv2.imshow('Original Image', image)
9
10# 转换为灰度图像
11gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
12cv2.imshow('Gray Image', gray_image)
13
14# 边缘检测
15edges = cv2.Canny(gray_image, threshold1=50, threshold2=150)
16cv2.imshow('Edges', edges)
17
18# 形态学操作
19kernel = np.ones((5, 5), np.uint8)
20opening = cv2.morphologyEx(edges, cv2.MORPH_OPEN, kernel)
21cv2.imshow('Opening', opening)
22
23# 轮廓检测
24contours, _ = cv2.findContours(opening, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
25cv2.drawContours(image, contours, -1, (0, 255, 0), 2)
26cv2.imshow('Contours', image)
27
28cv2.waitKey(0)
29cv2.destroyAllWindows()

注意事项

  • 在显示图像时,确保你的程序在适当的位置调用了 cv2.waitKey() 和 cv2.destroyAllWindows(),这样可以正确地管理窗口。
  • OpenCV 使用 BGR 色彩空间而不是 RGB。
  • 使用适当的阈值和参数来适应不同的图像和需求。

这些基本操作是使用 OpenCV 进行图像处理的良好起点。你可以在此基础上探索更多高级功能,例如特征检测、模板匹配、颜色空间转换等。

相关推荐

无需登录的手机游戏(无需登录的手机游戏单机射击)

您指的是单机游戏,这类游戏很多,给您推荐几款供您参考。有植物大战僵尸,愤怒的小鸟,小鳄鱼爱洗澡,魔法跳跳球,连连看,消消乐,各种单机棋牌类游戏。城市街道赛车,三国志,大富翁,各种家用机和街机模拟器,神...

如何下载cad制图软件(如何下载cad制图软件免费)

1、在搜索引擎中输入cad安装包并点击搜索,选择一款安装包进行下载。2、将下载的cad安装包解压出来,右键点击解压文件,在解压出来的文件里面找到setup安装程序,双击开始安装。3、点击开始安装,勾选...

九游手游平台app官网下载(九游手机游戏平台)

九游手游的模拟器的话可以在九游的官方网站上面下载也可以在浏览器或者是英文法商店里的地址下载结合或者是在让朋友推荐让朋友把这个给推荐过来然后咱们就可以下载即可了对或者是上网上查找一下然...

天正cad下载安装(天正建筑cad下载安装)

很简单,在天正官网上下载最新版的插件,双击运行安装在CAD安装包里,如需要用CAD2010来打开,那插件就安装到CAD2010已装好的安装包里。比如我需要用CAD2016来打开该图纸,CAD2016安...

2008qq旧版本下载安装(qq老版本2014下载安装)

08年QQ3080.8排量二手车车况和手续没有问题大体能够卖六七千左右吧,报废补贴还是建议去开封当地车管所问问吧,个人感觉四五千应该可以拿到。型号很老,是08年的十佳发动机,原型是mini的一款发动机...

通达oa(通达oa功能)

通达OA系统是一款企业办公管理软件,主要用于协同办公、流程管理、文档管理等多种功能。使用该系统需要掌握以下技巧:1.合理规划系统流程,根据企业实际需求进行配置;2.熟练使用系统各种功能,如在线协同、审...

手机银行下载(手机银行下载app下载安装到手机)

1.首先打开手机app,然后在界面搜索你要下载的某个银行app软件,进行搜索,搜索好之后,就会出来了。2.然后再点击旁边的获取按钮进行获取,在获取之后,需要进行相关验证,才能继续操作。3.此时会弹出一...

7723游戏盒子免费安装(7723游戏盒子免费安装苹果)

1.7723盒子的下载方式是多样的。2.首先,可以通过在手机应用商店搜索7723盒子并直接下载安装。其次,也可以在7723盒子官方网站上下载安装包,然后将安装包传输到手机上进行安装。此外,还可以通...

连连看经典版下载(经典连连看老版本)

如何在电脑上下载游戏连连看电脑可以到应用商店内查找下载。想要在电脑下载连连看游戏软件,首先需要先下载一个应用商店电脑软件。下载应用商店电脑软件后,点击搜索宠物连连看。找到该游戏软件后点击确认并选择电脑...

凯立德地图(凯立德地图免费更新吗)

不是正版的,拿激活码与特征码到凯立德官网上验证下就知道了。全是免费的网上有下载,向他们花钱就有点冤了。凯立德地图可能没有标注乡下小路的原因有几个可能性。首先,乡下小路可能相对较少使用,而凯立德地图主...

瑞星杀毒(瑞星杀毒公司现状)

很好瑞星公司一直发展得很好,其推出的各式品牌深受好评。其杀毒软件占用系统资源少,病毒库更新快,是一款不错的国产杀毒软件。自从瑞星很久之前被爆出自己造病毒给自己杀之后,名声一落千丈,再加上360,金山等...

看所有电视免费的网站(看电视剧免费的的网站大全)

免vip看电视追剧的网站:1.“电影天堂”网站。这个网站所有的电影、电视剧、美剧,韩剧,动漫、综艺等影视资源都可以在线观看,并且支持绝大多数资源的高清下载。2.“电影港”。这个网站同样是免费观看,且支...

种子搜索神器的最新版(种子搜索器新版下载)

1在目前市场上,有很多种子搜索器可以选择,但有些不够稳定,有些又存在某些安全隐患,因此需要谨慎选择。2推荐使用热门的种子搜索器,例如磁力猫、BT天堂等,它们拥有庞大的用户群体和资源库,相对比较稳定...

txt免费全本阅读器旧版本(全本免费txt小说app旧版)

是的,有许多可以自动翻页的txt小说阅读器,以下是一些常用的阅读器:1.CoolReader:一个免费、开源的阅读器,支持多种格式,包括txt、fb2、epub等,支持自定义字体、字号、背景颜色等...

赚钱的游戏软件一天赚200元(可以赚钱的游戏一天赚100~200元! 视频)
赚钱的游戏软件一天赚200元(可以赚钱的游戏一天赚100~200元! 视频)

都是骗子注册会员就不能用了,一分也提不出来了今日头条赚金币,男女老少都爱玩。每天只要稍微动一动手指,至少能提现0.5元,偷偷地说一声:“比头条辛辛苦苦码字剪辑赚钱可快多啦!”不信你就来试一试吧。赚得200金币,确实很少能赚到,因为很少有整十...

2026-01-27 09:51 off999

取消回复欢迎 发表评论: