python opencv将图片转为灰度图的方法示例


Posted in Python onJuly 31, 2019

使用opencv将图片转为灰度图主要有两种方法,第一种是将彩色图转为灰度图,第二种是在使用OpenCV读取图片的时候直接读取为灰度图

将彩色图转为灰度图

import cv2
import numpy as np

if __name__ == "__main__":
  img_path = "timg.jpg"
  img = cv2.imread(img_path)
  #获取图片的宽和高
  width,height = img.shape[:2][::-1]
  #将图片缩小便于显示观看
  img_resize = cv2.resize(img,
  (int(width*0.5),int(height*0.5)),interpolation=cv2.INTER_CUBIC)
  cv2.imshow("img",img_resize)
  print("img_reisze shape:{}".format(np.shape(img_resize)))

  #将图片转为灰度图
  img_gray = cv2.cvtColor(img_resize,cv2.COLOR_RGB2GRAY)
  cv2.imshow("img_gray",img_gray)
  print("img_gray shape:{}".format(np.shape(img_gray)))
  cv2.waitKey()

img_reisze shape:(337, 600, 3)
img_gray shape:(337, 600)

使用opencv读取图片的时候,默认使用的是BGR来读取图片的,可以看到原始读取的图片是3通道的,经过转换之后变成了单通道。

python opencv将图片转为灰度图的方法示例

直接将图片采用灰度图的方式进行读取

import cv2
import numpy as np

if __name__ == "__main__":
  img_path = "timg.jpg"
  img = cv2.imread(img_path)
  #获取图片的宽和高
  width,height = img.shape[:2][::-1]
  #将图片缩小便于显示观看
  img_resize = cv2.resize(img,
  (int(width*0.5),int(height*0.5)),interpolation=cv2.INTER_CUBIC)
  cv2.imshow("img",img_resize)
  print("img_reisze shape:{}".format(np.shape(img_resize)))

  #读取灰度图
  img_gray = cv2.imread(img_path,cv2.IMREAD_GRAYSCALE)
  #将图片缩小便于显示观看
  img_gray = cv2.resize(img_gray,
  (int(width*0.5),int(height*0.5)),interpolation=cv2.INTER_CUBIC)
  cv2.imshow("img_gray",img_gray)
  print("img_gray shape:{}".format(np.shape(img_gray)))
  cv2.waitKey()

img_reisze shape:(337, 600, 3)
img_gray shape:(337, 600)

python opencv将图片转为灰度图的方法示例

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python数据结构之二叉树的建立实例
Apr 29 Python
numpy找出array中的最大值,最小值实例
Apr 03 Python
django 使用 request 获取浏览器发送的参数示例代码
Jun 11 Python
Python Flask前后端Ajax交互的方法示例
Jul 31 Python
python反编译学习之字节码详解
May 19 Python
python 并发编程 阻塞IO模型原理解析
Aug 20 Python
通过Python编写一个简单登录功能过程解析
Sep 04 Python
python 实现两个线程交替执行
May 02 Python
python raise的基本使用
Sep 10 Python
python Scrapy框架原理解析
Jan 04 Python
只用50行Python代码爬取网络美女高清图片
Jun 02 Python
Python Pytorch查询图像的特征从集合或数据库中查找图像
Apr 09 Python
Django中使用极验Geetest滑动验证码过程解析
Jul 31 #Python
Python对接六大主流数据库(只需三步)
Jul 31 #Python
Python爬虫 scrapy框架爬取某招聘网存入mongodb解析
Jul 31 #Python
python爬虫 模拟登录人人网过程解析
Jul 31 #Python
Python爬虫 bilibili视频弹幕提取过程详解
Jul 31 #Python
Django实现跨域的2种方法
Jul 31 #Python
Django CSRF跨站请求伪造防护过程解析
Jul 31 #Python
You might like
PHP学习之整理字符串
2011/04/17 PHP
PHP页面间参数传递的四种方法详解
2013/06/09 PHP
CodeIgniter针对数据库的连接、配置及使用方法
2016/03/03 PHP
PHP串行化与反串行化实例分析
2016/12/27 PHP
php正则表达式基本知识与应用详解【经典教程】
2017/04/17 PHP
php多进程模拟并发事务产生的问题小结
2018/12/07 PHP
浏览器解析js生成的html出现样式问题的解决方法
2012/04/16 Javascript
JS操作HTML自定义属性的方法
2015/02/10 Javascript
jQuery实现菜单式图片滑动切换
2015/03/14 Javascript
JavaScript必知必会(六) delete in instanceof
2016/06/08 Javascript
javaScript给元素添加多个class的简单实现
2016/07/20 Javascript
实现easyui的datagrid导出为excel的示例代码
2016/11/10 Javascript
mint-ui在vue中的使用示例
2018/04/05 Javascript
[03:37]2014DOTA2国际邀请赛 主赛事第一日胜者组TOPPLAY
2014/07/19 DOTA
Python利用多进程将大量数据放入有限内存的教程
2015/04/01 Python
Python中的多重装饰器
2015/04/11 Python
解析Mac OS下部署Pyhton的Django框架项目的过程
2016/05/03 Python
python之文件的读写和文件目录以及文件夹的操作实现代码
2016/08/28 Python
Python 基础教程之闭包的使用方法
2017/09/29 Python
python学生管理系统开发
2019/01/30 Python
Django框架设置cookies与获取cookies操作详解
2019/05/27 Python
Pandas之ReIndex重新索引的实现
2019/06/25 Python
python的几种矩阵相乘的公式详解
2019/07/10 Python
使用matlab或python将txt文件转为excel表格
2019/11/01 Python
OpenCV Python实现图像指定区域裁剪
2021/03/12 Python
Python同时迭代多个序列的方法
2020/07/28 Python
使用jquery实现HTML5响应式导航菜单教程
2014/04/02 HTML / CSS
马来西亚网上花店:FlowerAdvisor马来西亚
2020/01/03 全球购物
函授本科自我鉴定
2013/11/03 职场文书
暑期社会实践感言
2014/02/25 职场文书
2014基层党员批评与自我批评范文
2014/09/24 职场文书
2015大学生实训报告
2014/11/05 职场文书
单位推荐信范文
2015/03/27 职场文书
2015暑期爱心支教策划书
2015/07/14 职场文书
Python编写可视化界面的全过程(Python+PyCharm+PyQt)
2021/05/17 Python
Springboot-cli 开发脚手架,权限认证,附demo演示
2022/04/28 Java/Android