灰度图像的生成

这篇博客主要介绍了在计算机视觉项目中,如何使用OpenCV进行彩色图像到灰度图像的转换。作者探讨了Python和C/C++接口的区别,并推荐了Python的numpy模块,因其更易于理解和操作。文中提供了两种灰度转换方法:使用opencv的split函数或手动遍历通道创建新图像。
摘要由CSDN通过智能技术生成

       由于毕业设计要做关于计算机视觉的题目,因此不可避免的要学习Opencv,我一开始学的Python接口的版本,不过也看了有关于c语言和c++接口的一些资料,opencv大部分代码都是基于c编写的,因此如果看c的接口可以很方便的追踪到其中的数据结构的定义和原函数一些声明和参数定义,但是我本人觉得不足之处是c或者c++本身就不是处理矩阵的一种编程语言,因此学会有一定的难度。我之前接触过python的numpy,因此认为还比较容易上手,这个模块是专门为科学计算而生的,用起来很像matlab,但是又更接近于规范的编程语言。


一些图像的载入和显示部分就先略去不谈了,由于目前纠结在用哪种风格的接口函数中,我有强迫症,先让我静静.......


这里主要记录一下如何做彩色图像的灰度变换。

方法一:分解原图像的三个通道,每个通道就会生成出一个灰度图像。这里也有两种方法,一个是利用opencv自带的函数split,第二种方法是单独遍历出每一个通道,建立新的图像。代码如下:

def RGB2Gray(fileName = 'a.jpg'):
    img = cv2.imread(fileName)
    m = img.shape[0]
    n = img.shape[1]
    b = np.zeros((m,n),img.dtype)
    g = np.zeros((m,n),img.dtype)
    r = np.zeros((m,n),img.dtype)
    b,g,r = cv2.split(img)
    cv2.imshow('g
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值