首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Opencv-Python彩图转化为灰度图-二值图

采集到的彩色图像一般不会直接使用,为了加快处理速度,会转换成灰度图,二值图后再使用,处理后的效果如下:

下面是实现的代码:

# -*- coding: utf-8 -*-

"""

Created on Wed Aug 28 16:39:08 2019

运行环境 python==3.6 opencv-contrib-python== 4.1 win10系统

第一行 “ # -*- coding: utf-8 -*- ” 告诉Python解释器,按照UTF-8编码读取源代码

"""

#图像获取

import cv2

import numpy as np

dir1='lena.jpg' #读取要处理的图片

image=cv2.imread(dir1)

image1 = cv2.bitwise_not(image) #函数cv2.bitwise_not可以实现像素点各通道值取反

cv2.imshow("image", image)

cv2.imshow("image1", image1)

#

#灰度化

#将彩图转化为灰度图。彩图是三通道的,灰度图是单通道的,因而使用灰度图可以减少计算量,提高图像处理速度。

imgray =cv2.cvtColor(image,cv2.COLOR_BGR2GRAY) #彩色转灰度

cv2.imshow("imgray", imgray)

#二值化

#将图像上的像素点的灰度值设置为0或255,整个图像呈现出明显的黑白效果,使图像中数据量大为减少,从而能凸显出目标的轮廓。

thresh=120

ret,binary =cv2.threshold(imgray,thresh,255,cv2.THRESH_BINARY) #输入灰度图,输出二值图

cv2.imshow('binary',binary)

binary1 = cv2.bitwise_not(binary) #取反

cv2.imshow('binary1',binary1)

cv2.waitKey(0)

cv2.destroyAllWindows()

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190914A05XU400?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券