news 2026/6/10 14:37:10

opencv灰度图与彩色图的处理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
opencv灰度图与彩色图的处理

1.图像读取与转换

import cv2
color_img = cv2.imread('image.jpg')
gray_img = cv2.imread('image.jpg', cv2.IMREAD_GRAYSCALE)
cv2.IMREAD_COLOR : 彩色图像(默认)
cv2.IMREAD_GRAYSCALE : 灰度图像
cv2.IMREAD_UNCHANGED : 包含alpha通道2.彩色图与灰度图转换

(1)彩色图转灰度图
gray_from_color = cv2.cvtColor(color_img, cv2.COLOR_BGR2GRAY)

(2)灰度图转"伪彩色图"(单通道转三通道,但仍然是灰度)
pseudo_color = cv2.cvtColor(gray_img, cv2.COLOR_GRAY2BGR)

(3) BGR转RGB(用于显示)
rgb_img = cv2.cvtColor(color_img, cv2.COLOR_BGR2RGB)

(4) BGR转HSV
hsv_img = cv2.cvtColor(color_img, cv2.COLOR_BGR2HSV)

(5)BGR转LAB
lab_img = cv2.cvtColor(color_img, cv2.COLOR_BGR2LAB)
显示图像
cv2.imshow('Color Image', color_img)
cv2.imshow('Gray Image', gray_img)

等待按键
cv2.waitKey(0)
cv2.destroyAllWindows()

3.通道分离与合并

def channel_operations():
img = cv2.imread('image.jpg')

(1)分离BGR通道
b, g, r = cv2.split(img)

(2)显示各个通道
cv2.imshow('Blue Channel', b)
cv2.imshow('Green Channel', g)
cv2.imshow('Red Channel', r)

(3) 创建单通道图像(只显示红色)
red_only = cv2.merge([np.zeros_like(b), np.zeros_like(g), r])

(4) 合并通道
merged = cv2.merge([b, g, r])

cv2.imshow('Red Only', red_only)
cv2.imshow('Merged', merged)
cv2.waitKey(0)

4.识别

def license_plate_preprocess():
读取图像
img = cv2.imread('car.jpg')

转换为灰度图
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

高斯模糊去噪
blurred = cv2.GaussianBlur(gray, (5, 5), 0)

边缘检测
edges = cv2.Canny(blurred, 50, 150)

形态学操作(连接边缘)
kernel = np.ones((3,3), np.uint8)
closed = cv2.morphologyEx(edges, cv2.MORPH_CLOSE, kernel)

寻找轮廓
contours, _ = cv2.findContours(closed, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)

在原图上绘制轮廓
result = img.copy()
cv2.drawContours(result, contours, -1, (0, 255, 0), 2)

显示处理过程
cv2.imshow('Original', img)
cv2.imshow('Gray', gray)
cv2.imshow('Edges', edges)
cv2.imshow('Result', result)
cv2.waitKey(0)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 12:40:16

04.机器学习中的线性代数?

什么是机器学习中的线性代数? 在机器学习 (ML) 中,线性代数涉及使用数学运算来表示和操作 ML 模型内的数据、参数和运算。它提供语言和工具来表达数据在模型中的流动方式以及模型的“学习”方式。 强大的现代机器学习和生成式 AI 的核心是由线性代数驱动的。无论是训练神经网…

作者头像 李华
网站建设 2026/6/9 13:51:08

混合开发模式是救星还是坑?3个案例揭秘节省40万成本的秘诀

亲爱的小伙伴们,今天咱们来聊一个让无数企业又爱又恨的话题——混合开发模式!💻🚀 你是不是也经常听到“混合开发能省40万成本”的说法,心里直犯嘀咕:这到底是真香警告,还是隐藏的深坑&#xff…

作者头像 李华
网站建设 2026/6/9 17:37:31

让创业更有后劲,长沙用金融铺就“成长跑道”

近几年,关于年轻人创业的讨论很多,但按照一线创业人提供的经验来看,比起最初一刻的选择,更难的是后面一长段时间的坚持:项目怎么从实验室走到市场?第一笔订单之后,第二批设备钱从哪里来&#xf…

作者头像 李华
网站建设 2026/6/10 12:40:11

SQL必会必知整理-13-联结表

13.1 联结联结是利用SQL的SELECT能执行的最重要的操作,很好地理解联结及其语法是学习SQL的一个极为重要的组成部分。13.1.1 关系表外键为某个表中的一列,它包含另一个表的主键值,定义了两个表之间的关系。这样做的好处如下:信息不…

作者头像 李华
网站建设 2026/6/10 14:16:22

jQuery EasyUI 树形菜单 - 树形菜单添加节点

下面直接给你最实用、最常见的树形菜单添加节点方法,jQuery EasyUI 的 tree 组件支持超级灵活的动态添加节点(新增根节点、新增子节点、插入同级节点等),复制粘贴就能用,领导最爱的“动态部门树新增、菜单管理新增节点…

作者头像 李华
网站建设 2026/6/9 15:08:56

AI智能体的核心引擎:知识库构建全流程详解(建议收藏)

本文详细介绍了AI知识库作为智能体"认知大脑"的核心价值,阐述了其三层组成要素(事实层、规则层、语义层)及与智能体的交互逻辑。通过未来智安的实践案例,展示了AI知识库如何实现快速威胁定位、持续学习沉淀和人机协同优…

作者头像 李华