Python计算机视觉编程 第一章 基本的图像操作和处理
off999 2025-05-05 18:07 24 浏览 0 评论
以下是使用Python进行基本图像操作和处理的示例代码:
- 使用PIL库加载图像:
from PIL import Image
image = Image.open("image.jpg")
- 转换图像格式:
image.save("new_image.png")
- 创建缩略图:
thumbnail = image.thumbnail((100, 100))
thumbnail.save("thumbnail.jpg")
- 复制和粘贴图像区域:
# 创建一个新的图像副本
copy_image = image.copy()
# 粘贴图像区域
region = (100, 100, 200, 200) # 定义区域的左上角和右下角坐标
paste_image = Image.new("RGB", (100, 100))
paste_image.paste(image.crop(region), (0, 0))
paste_image.save("paste_image.jpg")
- 调整尺寸和旋转:
# 调整尺寸
resized_image = image.resize((500, 500))
resized_image.save("resized_image.jpg")
# 旋转图像
rotated_image = image.rotate(90)
rotated_image.save("rotated_image.jpg")
这些示例代码演示了一些基本的图像操作和处理技术,使用PIL库可以方便地进行图像处理和编辑。请注意,以上示例代码仅供参考,具体的操作和处理取决于您的需求和图像的特点。
以下是使用Python计算机视觉编程库matplotlib进行图像绘制、点和线绘制、图像轮廓和直方图绘制以及交互式标注的示例代码:
- 绘制图像:
import matplotlib.pyplot as plt
import cv2
# 读取图像
image = cv2.imread('image.jpg')
# 将BGR图像转换为RGB图像
image_rgb = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
# 绘制图像
plt.imshow(image_rgb)
plt.axis('off') # 关闭坐标轴显示
plt.show()
- 绘制点和线:
import matplotlib.pyplot as plt
# 定义点和线的坐标
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
# 绘制点和线
plt.plot(x, y, marker='o', linestyle='-', color='blue')
plt.xlabel('X轴')
plt.ylabel('Y轴')
plt.title('点和线示例')
plt.grid(True)
plt.show()
- 绘制图像轮廓:
import matplotlib.pyplot as plt
import cv2
# 读取图像
image = cv2.imread('image.jpg')
# 将图像转换为灰度图像
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# 提取图像轮廓
contours, _ = cv2.findContours(gray, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
# 绘制图像轮廓
plt.imshow(cv2.drawContours(image.copy(), contours, -1, (0, 255, 0), 2))
plt.axis('off')
plt.show()
- 绘制直方图:
import matplotlib.pyplot as plt
import cv2
# 读取图像
image = cv2.imread('image.jpg')
# 将图像转换为灰度图像
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# 计算直方图
hist = cv2.calcHist([gray], [0], None, [256], [0, 256])
# 绘制直方图
plt.plot(hist, color='black')
plt.xlabel('灰度级别')
plt.ylabel('像素数')
plt.title('灰度直方图')
plt.show()
- 交互式标注:
import matplotlib.pyplot as plt
# 定义数据
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
# 创建图像对象
fig, ax = plt.subplots()
# 绘制点和线
ax.plot(x, y, marker='o', linestyle='-', color='blue')
# 添加文本标注
for i, j in zip(x, y):
ax.annotate(f'({i}, {j})', xy=(i, j), xytext=(i+0.1, j+0.5))
# 设置坐标轴标签和标题
ax.set_xlabel('X轴')
ax.set_ylabel('Y轴')
ax.set_title('点和线示例')
plt.show()
这些示例可以帮助你开始使用matplotlib进行图像绘制、点和线绘制、图像轮廓和直方图绘制,以及交互式标注。你可以根据自己的需求进行修改和扩展。
下面是一个使用Python进行计算机视觉编程的示例,包括使用NumPy库进行图像数组表示、灰度变换、图像缩放、直方图均衡化、图像平均、主成分分析(PCA)以及使用pickle模块保存图像。
首先,我们需要导入所需的库和模块:
import numpy as np
import cv2
from sklearn.decomposition import PCA
import pickle
- 图像数组表示:
# 读取图像
image = cv2.imread('image.jpg')
# 将图像转换为NumPy数组
image_array = np.array(image)
- 灰度变换:
# 将彩色图像转换为灰度图像
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
- 图像缩放:
# 缩放图像到指定尺寸
resized_image = cv2.resize(image, (new_width, new_height))
- 直方图均衡化:
# 将灰度图像进行直方图均衡化
equalized_image = cv2.equalizeHist(gray_image)
- 图像平均:
# 读取多张图像
image1 = cv2.imread('image1.jpg')
image2 = cv2.imread('image2.jpg')
# 计算图像平均
average_image = np.mean([image1, image2], axis=0).astype(np.uint8)
- 图像的主成分分析(PCA):
# 将图像转换为一维向量
flatten_image = image_array.flatten()
# 进行主成分分析
pca = PCA(n_components=2)
pca_result = pca.fit_transform(flatten_image)
- 使用pickle模块保存图像:
# 保存图像到文件
with open('image.pickle', 'wb') as f:
pickle.dump(image, f)
请注意,以上只是一些示例代码,实际应用中可能需要根据具体需求进行适当的调整和扩展。
相关推荐
- 无需登录的手机游戏(无需登录的手机游戏单机射击)
-
您指的是单机游戏,这类游戏很多,给您推荐几款供您参考。有植物大战僵尸,愤怒的小鸟,小鳄鱼爱洗澡,魔法跳跳球,连连看,消消乐,各种单机棋牌类游戏。城市街道赛车,三国志,大富翁,各种家用机和街机模拟器,神...
- 如何下载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元! 视频)
-
都是骗子注册会员就不能用了,一分也提不出来了今日头条赚金币,男女老少都爱玩。每天只要稍微动一动手指,至少能提现0.5元,偷偷地说一声:“比头条辛辛苦苦码字剪辑赚钱可快多啦!”不信你就来试一试吧。赚得200金币,确实很少能赚到,因为很少有整十...
-
2026-01-27 09:51 off999
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
python入门到脱坑 输入与输出—str()函数
-
win7系统还原步骤图解(win7还原电脑系统的步骤)
-
linux软件(linux软件图标)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
失业程序员复习python笔记——条件与循环
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
