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将html转成PDF的实现代码(包含中文)
Mar 04 Python
python网络编程学习笔记(10):webpy框架
Jun 09 Python
python循环监控远程端口的方法
Mar 14 Python
在Python的Django框架下使用django-tagging的教程
May 30 Python
用Python写脚本,实现完全备份和增量备份的示例
Apr 29 Python
Python第三方库h5py_读取mat文件并显示值的方法
Feb 08 Python
Python3.0 实现决策树算法的流程
Aug 08 Python
Python函数式编程指南:对生成器全面讲解
Nov 19 Python
python_array[0][0]与array[0,0]的区别详解
Feb 18 Python
django 模型中的计算字段实例
May 19 Python
Django cookie和session的应用场景及如何使用
Apr 29 Python
python接口测试返回数据为字典取值方式
Feb 12 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
YII Framework框架教程之缓存用法详解
2016/03/14 PHP
PHP 计算两个特别大的整数实例代码
2018/05/07 PHP
PHP分页显示的方法分析【附PHP通用分页类】
2018/05/10 PHP
javascript 拖放效果实现代码
2010/01/22 Javascript
jQuery提交表单ajax查询实例代码
2012/10/07 Javascript
查找iframe里元素的方法可传参
2013/09/11 Javascript
wap手机图片滑动切换特效无css3元素js脚本编写
2014/07/28 Javascript
js实现遮罩层划出效果是生成div而不是显示
2014/07/29 Javascript
JS实现仿QQ面板的手风琴效果折叠菜单代码
2015/09/11 Javascript
javascript实现粘贴qq截图功能(clipboardData)
2016/05/29 Javascript
jQuery中Ajax全局事件引用方式及各个事件(全局/局部)执行顺序
2016/06/02 Javascript
jQuery旋转插件jqueryrotate用法详解
2016/10/13 Javascript
AngularJS自定义插件实现网站用户引导功能示例
2016/11/07 Javascript
网站申请不到支付宝接口、微信接口,免接口收款实现方式几种解决办法
2016/12/14 Javascript
Vue项目中引入外部文件的方法(css、js、less)
2017/07/24 Javascript
bootstrap Table插件使用demo
2017/08/07 Javascript
基于vue实现网站前台的权限管理(前后端分离实践)
2018/01/13 Javascript
Vue router传递参数并解决刷新页面参数丢失问题
2020/12/02 Vue.js
[01:33]PWL开团时刻DAY2-开雾与反开雾
2020/10/31 DOTA
python实现给字典添加条目的方法
2014/09/25 Python
python+opencv轮廓检测代码解析
2018/01/05 Python
Python 通配符删除文件的实例
2018/04/24 Python
python3实现域名查询和whois查询功能
2018/06/21 Python
解决Python 使用h5py加载文件,看不到keys()的问题
2019/02/08 Python
Python IDLE或shell中切换路径的操作
2020/03/09 Python
python 19个值得学习的编程技巧
2020/08/15 Python
英国领先的鞋类零售商:Shoe Zone
2018/12/13 全球购物
美国折扣地毯销售网站:Rugs.com
2020/03/27 全球购物
会计专业毕业生推荐信
2013/11/05 职场文书
《天游峰的扫路人》教学反思
2014/04/25 职场文书
党员政治学习材料
2014/05/14 职场文书
2015年机关党建工作总结
2015/05/22 职场文书
暖春观后感
2015/06/08 职场文书
用Python实现一个打字速度测试工具来测试你的手速
2021/05/28 Python
MySQL数据库如何给表设置约束详解
2022/03/13 MySQL
详解使用内网穿透工具Ngrok代理本地服务
2022/03/31 Servers