如何让一张图片变成二值图像?python+opencv图像处理
前言
文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。
作者:张熹熹
PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取http://t.cn/A6Zvjdun
图像变换
自然界中有很多的颜色,红红的花,绿绿的草,蓝蓝的天,白白的云,多姿多彩的世界,美轮美奂的图像。
通过手机,照相机就可以定格每一个美的瞬间。
但是,当把这些景象定格的时候,就被采样、量化成了数字图像了。
数字图像就是计算机当中处理的图像,也是我们所处理的图像。
彩色图像有很多的理论,RGB三基色理论啊,HSI彩色模型啊,那些我也还搞得不是特别清楚,就不在此班门弄斧了。
1、彩色图像转换为灰度图像
在对图像进行处理时,很多时候会将彩色图像转换为灰度图像进行处理。
灰度图像即仅有灰度值的图像,灰度值也就是从0~255共256种值的图像,只是灰度我们人眼分得并不是特别清楚。
果然,古人诚不欺我,世间哪儿有绝对的黑白,你看,图像中都200多种灰呢,反正我是分不清楚的。
opencv中已有函数:
cvtColor()
来进行图像之间的转换。此函数可以在官方文档上查看其解释。本文只使用它。
如下图所示,将就是小狗狗变成了灰度图像。
代码如下:
第一行,导入opencv包
第二行,读入图像
第三行,显示图像
第四行,转换为灰度图像
第五行,显示灰度图像
2、彩色图像转换为二值图像
二值图像也是黑白图像,非黑即白的。
它是在灰度图像的基础上,设定一个值,超过这个值为黑,低于这个值为白。
这个值即是网上说的阈值。
Opencv中有函数threshold可完成此功能。
下图即将lena的灰度图像转换为二值图像。
代码如下:
2020年最新Python教程:
如果你处于想学Python或者正在学习Python,Python的教程不少了吧,但是是最新的吗?
说不定你学了可能是两年前人家就学过的内容,在这小编分享一波2020最新的Python教程。
以上这些教程小编已经为大家打包准备好了,希望对正在学习的你有所帮助!
获取方式,私信小编 “ 资料 ”,即可免费获取哦!
如何让一张图片变成二值图像?python+opencv图像处理的更多相关文章
- Python+OpenCV图像处理(一)——读取显示一张图片
先在此处先声明,后面学习python+opencv图像处理时均参考这位博主的博文https://blog.csdn.net/u011321546/article/category/7495016/2? ...
- Python+OpenCV图像处理(一)
Python+OpenCV图像处理(一): 读取,写入和展示图片 调用摄像头拍照 调用摄像头录制视频 1. 读取.写入和展示图片 图像读入:cv2.imread() 使用函数cv2.imread() ...
- Python+OpenCV图像处理(十六)—— 轮廓发现
简介:轮廓发现是基于图像边缘提取的基础寻找对象轮廓的方法,所以边缘提取的阈值选定会影响最终轮廓发现结果. 代码如下: import cv2 as cv import numpy as np def c ...
- Python+OpenCV图像处理(十四)—— 直线检测
简介: 1.霍夫变换(Hough Transform) 霍夫变换是图像处理中从图像中识别几何形状的基本方法之一,应用很广泛,也有很多改进算法.主要用来从图像中分离出具有某种相同特征的几何形状(如,直线 ...
- Python+OpenCV图像处理(十三)—— Canny边缘检测
简介: 1.Canny边缘检测算子是John F. Canny于 1986 年开发出来的一个多级边缘检测算法. 2.Canny 的目标是找到一个最优的边缘检测算法,最优边缘检测的含义是: 好的检测- ...
- Python+OpenCV图像处理(八)—— 图像直方图
直方图简介:图像的直方图是用来表现图像中亮度分布的直方图,给出的是图像中某个亮度或者某个范围亮度下共有几个像素.还不明白?就是统计一幅图某个亮度像素数量.比如对于灰度值12,一幅图里面有2000 个像 ...
- Python+OpenCV图像处理(六)—— ROI与泛洪填充
一.ROI ROI(region of interest),感兴趣区域.机器视觉.图像处理中,从被处理的图像以方框.圆.椭圆.不规则多边形等方式勾勒出需要处理的区域,称为感兴趣区域,ROI. 代码如下 ...
- Python+OpenCV图像处理(十五)—— 圆检测
简介: 1.霍夫圆变换的基本原理和霍夫线变换原理类似,只是点对应的二维极径.极角空间被三维的圆心和半径空间取代.在标准霍夫圆变换中,原图像的边缘图像的任意点对应的经过这个点的所有可能圆在三维空间用圆心 ...
- Python+OpenCV图像处理(十二)—— 图像梯度
简介:图像梯度可以把图像看成二维离散函数,图像梯度其实就是这个二维离散函数的求导. Sobel算子是普通一阶差分,是基于寻找梯度强度.拉普拉斯算子(二阶差分)是基于过零点检测.通过计算梯度,设置阀值, ...
随机推荐
- Loadrunner 11安装和破解
一.安装环境和文件准备 1.操作系统:Windows Server 2008 R2 Enterprise: 2.loadrunner版本:loadrunner 11: 3.安装浏览器:火狐39.0: ...
- 面试刷题24:介绍一枚 JAVA妹妹?
java提供的自动垃圾收集机制大大提高了程序员的开发效率. 但是自动垃圾收集不是万能的,明确jvm的内存结构,工作机制是设计高扩展应用的基础. 也是诊断jvm运行时问题的必备技能. 我是李福春,我在准 ...
- 自适应线性神经网络Adaline
自适应线性神经网络Adaptive linear network, 是神经网络的入门级别网络. 相对于感知器, 采用了f(z)=z的激活函数,属于连续函数. 代价函数为LMS函数,最小均方算法,Lea ...
- Unity引擎入门——制作第一个2D游戏(2)角色移动与动画
在上一节的内容里,我们已经创建出了一个主角,也搭建了一个简单的场景. 传送门:https://www.cnblogs.com/zny0222/p/12653088.html 既然有了主角,要怎样才能让 ...
- 在线诊断工具arthas (windows)
介绍: arthas是阿里巴巴开发的一款开源的,Java应用程序排查问题的非常好用的工具 当你遇到以下类似问题而束手无策时 arthas 可以帮助你解决: 这个类从哪个 jar 包加载的?为什么会报各 ...
- U - Inviting Friends HDU - 3244( LIS 最长升序子序列——变形 )
序列变换 Problem Description 我们有一个数列A1,A2-An,你现在要求修改数量最少的元素,使得这个数列严格递增.其中无论是修改前还是修改后,每个元素都必须是整数. 请输出最少需要 ...
- P1203 [USACO1.1]Broken Necklace(模拟-枚举)
P1203 [USACO1.1]坏掉的项链Broken Necklace 题目描述 你有一条由N个红色的,白色的,或蓝色的珠子组成的项链(3<=N<=350),珠子是随意安排的. 这里是 ...
- B - Charlie's Change
Charlie is a driver of Advanced Cargo Movement, Ltd. Charlie drives a lot and so he often buys coffe ...
- 为何关键字static在面试中频频被问?
关键字static的神奇妙用在今天的学习中,我了解到关键字static的作用,下面我来给大家分享一下.①static 修饰局部变量只改变了变量的生命周期,让静态局部变量出了作用域依然存在,到程序结束生 ...
- Jmeter 压力测试笔记(2)--问题定位
事情已经出了,是该想办法解决的时候了. 经过运维和DBA定位: 数据库读写分离中,读库延时超过了30秒,导致所有请求都压在主库.另外所有数据库都连接数都被占满,但活跃请求数量缺不多. 数据库16K的连 ...