news 2026/5/15 15:49:20

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/5/11 13:30:32

系统中断损失百万:软件版本升级管控的实战避坑指南

系统中断损失百万:软件版本升级管控的实战避坑指南引言:别让一次小升级造成大损失 在2025年的企业IT管理中,软件版本升级早已不再是简单地“点个更新按钮”就能解决的事情。很多企业都曾遭遇过因版本升级不当导致的系统中断,损失高…

作者头像 李华
网站建设 2026/5/11 10:44:25

[SDOI2016] 征途题解

P4072 [SDOI2016] 征途 题目描述 Pine 开始了从 SSS 地到 TTT 地的征途。 从 SSS 地到 TTT 地的路可以划分成 nnn 段,相邻两段路的分界点设有休息站。 Pine 计划用 mmm 天到达 TTT 地。除第 mmm 天外,每一天晚上 Pine 都必须在休息站过夜。所以&…

作者头像 李华
网站建设 2026/4/26 4:30:26

你的测试团队为何倦怠?重塑动机的心理学家方案

当代码遇见人心 在软件测试领域,我们常聚焦于缺陷追踪、用例设计或自动化脚本,却鲜少深入探讨测试活动背后的核心驱动力——人的动机。根据自我决定理论,人类行为受自主性、能力感与归属感三大心理需求影响。对测试工程师而言,动…

作者头像 李华
网站建设 2026/5/11 6:13:46

测试变革的推动:从执行者到价值创造者的演进

在数字化转型加速的今天,软件已渗透至各行各业,从金融交易到医疗健康,从智能家居到自动驾驶,软件的可靠性与安全性直接关系到用户体验乃至生命财产安全。作为软件质量的守护者,测试从业者正面临前所未有的挑战与机遇。…

作者头像 李华
网站建设 2026/5/13 4:35:12

SQL必会必知整理-12-使用子查询

12.1 子查询任何SQL语句都是查询。但此术语一般指SELECT语句。SQL还允许创建子查询(subquery),即嵌套在其他查询中的查询。12.2 利用子查询进行过滤SELECT cust_id FROM orders WHERE order_num IN (SELECT order_numFROM orderitemsWHERE pr…

作者头像 李华