python 图像处理

cv2.threshold介绍,如下图所示,每个数字代表起本身的灰度值大小

cv2.threshod接收5种类参数形式,分别是cv2.THRESH_BINARY,cv2.THRESH_BINARY_INV,cv2.THRESH_TRUNC ,cv2.THRESH_TOZERO,cv2.THRESH_TOZERO_INV

(1)THRESH_BINARY(Binary Thresholding)

# Binary Threshold,原图像素>阈值,该像素点的值保持不变,否则为0.即大于阈值的部分变成像素最大值,小于阈值的部分变为0
if src(x,y) > thresh
  dst(x,y) = maxValue
else
  dst(x,y) = 0

(2)THRESH_BINARY_INV(Inverse Binary Thresholding)

# Inverse Binary Threshold,原图像素<阈值,该像素点的值为0,否则保持不变.与(1)相反,大于阈值的部分变为0,小于阈值的部分变成像素最大值
if src(x,y) > thresh
  dst(x,y) = 0
else
  dst(x,y) = maxValue

(3)THRESH_TRUNC(Truncate Thresholding)

# Truncate Threshold,原图像素>阈值,该像素点的值等于阈值,否则保持不变.即,将所有像素变成阈值以下水平
if src(x,y) > thresh
  dst(x,y) = thresh
else
  dst(x,y) = src(x,y)

(4)THRESH_TOZERO(Threshold to Zero)

# Threshold to Zero
if src(x,y) > thresh
  dst(x,y) = src(x,y)
else
  dst(x,y) = 0

(5)THRESH_TOZERO_INV(Inverted Threshold to Zero)

# Inverted Threshold to Zero
if src(x,y) > thresh
  dst(x,y) = 0
else
  dst(x,y) = src(x,y)

以上图为例,python代码为:

‘‘‘
    OpenCV Threshold Example
  Copyright 2015 by Satya Mallick <[email protected]>
‘‘‘
# import opencv
import cv2 

# Read image
src = cv2.imread("threshold.png", cv2.IMREAD_GRAYSCALE); 

# Basic threhold example
th, dst = cv2.threshold(src, 0, 255, cv2.THRESH_BINARY);
cv2.imwrite("opencv-threshold-example.jpg", dst); 

# Thresholding with maxValue set to 128
th, dst = cv2.threshold(src, 0, 128, cv2.THRESH_BINARY);
cv2.imwrite("opencv-thresh-binary-maxval.jpg", dst); 

# Thresholding with threshold value set 127
th, dst = cv2.threshold(src,127,255, cv2.THRESH_BINARY);
cv2.imwrite("opencv-thresh-binary.jpg", dst); 

# Thresholding using THRESH_BINARY_INV
th, dst = cv2.threshold(src,127,255, cv2.THRESH_BINARY_INV);
cv2.imwrite("opencv-thresh-binary-inv.jpg", dst); 

# Thresholding using THRESH_TRUNC
th, dst = cv2.threshold(src,127,255, cv2.THRESH_TRUNC);
cv2.imwrite("opencv-thresh-trunc.jpg", dst); 

# Thresholding using THRESH_TOZERO
th, dst = cv2.threshold(src,127,255, cv2.THRESH_TOZERO);
cv2.imwrite("opencv-thresh-tozero.jpg", dst); 

# Thresholding using THRESH_TOZERO_INV
th, dst = cv2.threshold(src,127,255, cv2.THRESH_TOZERO_INV);
cv2.imwrite("opencv-thresh-to-zero-inv.jpg", dst); 

结果图:

(1)                                                           (2)                                                          (3)

(4)                                                                (5)
参考连接:

http://www.learnopencv.com/opencv-threshold-python-cpp/

http://docs.opencv.org/trunk/d7/d4d/tutorial_py_thresholding.html

时间: 2024-10-10 04:33:21

python 图像处理的相关文章

Python图像处理库PIL中图像格式转换(一)

在数字图像处理中,针对不同的图像格式有其特定的处理算法.所以,在做图像处理之前,我们需要考虑清楚自己要基于哪种格式的图像进行算法设计及其实现.本文基于这个需求,使用python中的图像处理库PIL来实现不同图像格式的转换. 对于彩色图像,不管其图像格式是PNG,还是BMP,或者JPG,在PIL中,使用Image模块的open()函数打开后,返回的图像对象的模式都是"RGB".而对于灰度图像,不管其图像格式是PNG,还是BMP,或者JPG,打开后,其模式为"L". 通

Python图像处理库(1)

转自:http://www.ituring.com.cn/tupubarticle/2024 第 1 章 基本的图像操作和处理 本章讲解操作和处理图像的基础知识,将通过大量示例介绍处理图像所需的 Python 工具包,并介绍用于读取图像.图像转换和缩放.计算导数.画图和保存结果等的基本工具.这些工具的使用将贯穿本书的剩余章节. 1.1 PIL:Python图像处理类库 PIL(Python Imaging Library Python,图像处理类库)提供了通用的图像处理功能,以及大量有用的基本图

Python图像处理类库

本章讲解操作和处理图像的基础知识,将通过大量示例介绍处理图像所需的 Python 工具包,并介绍用于读取图像.图像转换和缩放.计算导数.画图和保存结果等的基本工具.这些工具的使用将贯穿本书的剩余章节. 1.1 PIL:Python图像处理类库 PIL(Python Imaging Library Python,图像处理类库)提供了通用的图像处理功能,以及大量有用的基本图像操作,比如图像缩放.裁剪.旋转.颜色转换等.PIL 是免费的,可以从 http://www.pythonware.com/pr

Python图像处理(1):替换OpenCV

快乐虾 http://blog.csdn.net/lights_joy/(QQ群:Visual EmbedLinux Tools 375515651) 欢迎转载,但请保留作者信息 先前构造图像处理开发环境的时候,用一个别人编译好的安装包将OpenCV安装到了c:\python27\lib\site-packages目录下,但这个OpenCV没有符号表,无法进行C/C++的代码调试.我们用VS编译的OpenCV替换它. 首先修改OpenCV的Python接口工程,将其输出到python的库目录下,

Python图像处理库PIL的ImageOps模块介绍

(Newin 1.1.3)ImageOps模块包含了一些"ready-made"的图像处理操作.这个模块somewhatexperimental,大多数操作只工作在L和RGB图像上. 一.ImageOps模块的函数 1.  Autocontrast 定义:ImageOps.autocontrast(image, cutoff=0)? image 含义:最大图像对比度.这个函数计算一个输入图像的直方图,从这个直方图中去除最亮和最暗的百分之cutoff,然后重新映射图像,以便保留的最暗像素

Python图像处理库(PIL)

Python Imaging Library为您的python程序添加图像处理能力.这个库提供广泛的文件格式支持.高效的内部表示和相当强大的图像处理能力. 核心图像库是为快速访问几种基本像素格式图像设计的.它能为一般的图像处理工具提供一个可靠的基础. 这个Pythonic library可以 装载和保存多种格式文件 Loading and Saving images (diverse formats)  Python Imaging Library的最新版本可以识别并读取多数图像格式.写图像操作

python 图像处理(从安装Pillow开始)

python2.x及以下用的是PIL(图像处理库是 PIL(Python Image Library)),最新版本是 1.1.7  可在http://www.pythonware.com/products/pil/index.htm 下载和学习. 不过从该网站可看出它不支持python3.x Pillow由PIL而来(支持3.x),所以该导入该库使用import PIL 由于本人用的是python 3.4 所以下载的Pillow 关于下载第三方库,有三种方法,之前用的都是 第一种方法 1 下载第

Python_Imaging_Library中文手册、PIL中文手册、python图像处理

Python Imaging Library 中文手册 这是PIL的官方手册,2005年5月6日发布.这个版本涵盖 PIL 1.1.5的全部内容.本中文手册来自Woodpecker.org.cn 啄木鸟社区 你可以在PythonWare library找到改文档其它格式的版本以及先前的版本. 原版出处:http://www.pythonware.com/library/pil/handbook/ 目录 Python Imaging Library 中文手册 第一部分:介绍 概览 介绍 图像归档处

Python图像处理PIL库简介

搬运自本人博客:http://www.xgezhang.com/python_pil.html 最近用到一些简单的图像处理,这里简单介绍一下,Python Imaging Library (PIL)是PythonWare公司提供的免费的图像处理工具包,是python下的图像处理模块,支持多种格式,并提供强大的图形与图像处理功能.虽然在这个软件包上要实现类似MATLAB中的复杂的图像处理算法并不太适合,但是Python的快速开发能力以及面向对象等等诸多特点使得它非常适合用来进行原型开发.对于简单的

Python图像处理!

欢迎加入千人交流学习群:125240963 三.图像的一些基本操作 1. 输出图片的信息(格式.尺寸以及图像类型) 4. 旋转图片 要旋转一幅图像,可以使用逆时针方式表示旋转角度,然后调用 rotate() 方法: 由于尺寸不变,旋转45度之后会填白 rorate2: 注意:只有选择90度,180度以及270度的时候才能用img.transpose(Image.ROTATE_90),其他角度用rotate rorate4: 6. 缩放图片 要调整一幅图像的尺寸,我们可以调用 resize() 方