详解Python中常用的图片处理函数的使用

目录
  • cvtColor函数
  • split()和merge()
  • threshold()函数
  • 自定义threshold函数进行二值化
  • 色度函数applyColorMap

cvtColor函数

这个函数有两个参数

1,src 要进行变换的原图像

2,code 转换代码标识

例子:

import cv2
image=cv2.imread("ddd.jpg")
image1=cv2.cvtColor(image,cv2.COLOR_BGR2BGRA)
cv2.imshow("",image1)
cv2.waitKey(0)
if __name__ == '__main__':
    print()

split()和merge()

例子:

import cv2
image=cv2.imread("ddd.jpg")
# image1=cv2.cvtColor(image,cv2.COLOR_BGR2BGRA)
r,g,b=cv2.split(image)
cv2.imshow("r",r)
cv2.imshow("g",g)
cv2.imshow("b",b)
cv2.waitKey(0)
if __name__ == '__main__':
    print()
import cv2
image=cv2.imread("/home/dfy/Pictures/Camera_photo/Camera_photo/sss.jpg")
# image1=cv2.cvtColor(image,cv2.COLOR_BGR2BGRA)
r,g,b=cv2.split(image)
cv2.imshow("r",r)
cv2.imshow("g",g)
cv2.imshow("b",b)
image1=cv2.merge([b,g,r])
cv2.imshow("image",image1)
cv2.waitKey(0)
if __name__ == '__main__':
    print()

threshold()函数

ret,image= cv2.threshold(src,thresh,maxval,type)

实现二值化的重要函数

参数说明

src 输入图像

image 输出图像

thresh 阀值

maxval 当像素值超过阀值thresh 时赋值为maxval

type 当像素值小于阀值thresh的时赋值为type type可填下面5种类型的参数

例子:

import cv2
image=cv2.imread("/home/dfy/Pictures/Camera_photo/Camera_photo/sss.jpg")
# image1=cv2.cvtColor(image,cv2.COLOR_BGR2BGRA)
# r,g,b=cv2.split(image)
# cv2.imshow("",r)
# cv2.imshow("",g)
# cv2.imshow("",b)
# image1=cv2.merge([b,g,r])
# cv2.imshow("image",image1)

ret,image1=cv2.threshold(image,127,255,cv2.THRESH_BINARY)
ret1,image2=cv2.threshold(image,127,255,cv2.THRESH_BINARY_INV)
# ret2,image3=cv2.threshold(image,127,255,cv2.THRESH_TRIANGLE)
ret3,image4=cv2.threshold(image,127,255,cv2.THRESH_TOZERO)
ret4,image5=cv2.threshold(image,127,255,cv2.THRESH_TOZERO_INV)

cv2.imshow("1",image1)
cv2.imshow("2",image2)
# cv2.imshow("3",image3)
cv2.imshow("4",image4)
cv2.imshow("5",image5)
cv2.waitKey(0)
if __name__ == '__main__':
    print()

自定义threshold函数进行二值化

import cv2
image=cv2.imread("/home/dfy/Pictures/Camera_photo/Camera_photo/sss.jpg")
width,height,n=image.shape
image2=image.copy()
for i in range(width):
    for j in range(height):
        for channel in range(3):
            if image2[i][j][channel]>127:
                image2[i][j][channel]=255
            else:
                image2[i][j][channel]=0
cv2.imshow('',image2)
cv2.waitKey(0)

if __name__ == '__main__':
    print()

这个速度很慢对于分辨率太高的图

色度函数applyColorMap

import cv2
image=cv2.imread("/home/dfy/Pictures/Camera_photo/Camera_photo/sss.jpg")
image_color_map=cv2.applyColorMap(image,cv2.COLORMAP_JET)
cv2.imshow("im",image_color_map)
cv2.waitKey(0)

if __name__ == '__main__':
    print()

到此这篇关于详解Python中常用的图片处理函数的使用的文章就介绍到这了,更多相关Python图片处理函数内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python 图片处理库exifread详解

    [导语]:用 python 怎样获得图片的GPS信息?今天推荐一下 exifread 这个神奇的库,不仅仅是 GPS 信息,几乎能能获得图片的所有信息,快进来看看!! 要怎样获得拍摄图片的GPS呢?这里我们需要exifread 库,这个就是用来提取 GPS 信息的.直接 pip install exifread 来安装就好了. 其实不仅能获得GPS信息,图片的几乎所有信息都能获得.exifread的作用其实是代替了查看图片属性!如下图: 这里用在三亚拍的骆驼照片来做个演示,看看能不能定位到三亚.

  • python实现图片二值化及灰度处理方式

    我就废话不多说了,直接上代码吧! 集成环境:win10 pycharm #!/usr/bin/env python3.5.2 # -*- coding: utf-8 -*- '''4图片灰度调整及二值化: 集成环境:win10 python3 Pycharm ''' from PIL import Image # load a color image im = Image.open('picture\\haha.png' )#当前目录创建picture文件夹 # convert to grey

  • python验证码图片处理(二值化)

    写在最前面: 这个我打算分几次写,由于我们通过selenium拿到的图片会很模糊,所以使用Tesseract识别之前要对图片先进行处理. 第一步就是二值化,设定阈值,低于阈值全部为白色(置0),其余黑色(置1). import pytesseract from PIL import Image,ImageEnhance def binaryzation(threshold=145): #降噪,图片二值化 table = [] for i in range(256): if i < thresho

  • python 对图片进行简单的处理

    目录 安装Pillow包 图片划线 图片写字 图片加图片水印 图片模糊 图片截取 总结 安装Pillow包 pip install Pillow 图片划线 from PIL import Image, ImageDraw im = Image.open("blur.jpg") draw = ImageDraw.Draw(im) draw.line((0, 0) + im.size, fill=128) draw.line((0, im.size[1], im.size[0], 0),

  • 详解Python中常用的图片处理函数的使用

    目录 cvtColor函数 split()和merge() threshold()函数 自定义threshold函数进行二值化 色度函数applyColorMap cvtColor函数 这个函数有两个参数 1,src 要进行变换的原图像 2,code 转换代码标识 例子: import cv2 image=cv2.imread("ddd.jpg") image1=cv2.cvtColor(image,cv2.COLOR_BGR2BGRA) cv2.imshow(""

  • 详解python中的lambda与sorted函数

    lambda表达式 python中形如: lambda parameters: expression 称为lambda表达式,用于创建匿名函数,该表达式会产生一个函数对象. 该对象的行为类似于用以下方式定义的函数: def <lambda>(parameters): return expression python中的lambda函数可以接受任意数量的参数,但只能有一个表达式.也就是说,lambda表达式适用于表示内部仅包含1行表达式的函数.那么lambda表达式的优势就很明显了: 使用lam

  • Python中常用的高阶函数实例详解

    前言 高阶函数指的是能接收函数作为参数的函数或类:python中有一些内置的高阶函数,在某些场合使用可以提高代码的效率. lambda 当在使用一些函数的时候,我们不需要显式定义函数名称,直接传入lambda匿名函数即可.lambda匿名函数通常和其他函数搭配使用. 比如可以直接使用如下的lambda表达式计算当x=3时,y = x * 3 + 5的函数值. In [1]: (lambda x: x * 3 + 5)(3) Out[1]: 14 map map函数将一个函数和序列/迭代器(可以传

  • 详解python中读取和查看图片的6种方法

    目录 1 OpenCV 2 imageio 3 PIL 4 scipy.misc 5 tensorflow 6 skimage 本文主要介绍了python中读取和查看图片的6种方法,分享给大家,具体如下: file_name1='test_imgs/spect/1.png' # 这是彩色图片 file_name2='test_imgs/mri/1.png' # 这是灰度图片 1 OpenCV 注:用cv2读取图片默认通道顺序是B.G.R,而不是通常的RGB顺序,所以读进去的彩色图直接显示会出现变

  • 详解Python中元组的三个不常用特性

    目录 1. 引言 2. 举个栗子 3. 创建包含单一元素的元组 4. 使用下划线和*来unpack元组 5. 使用命名元组 6. 总结 1. 引言 元组是Python中一种重要的内置数据类型.与列表一样,我们经常使用元组将多个对象保存为相应的数据容器.然而,与列表不同的是元组的不变性——一个不可改变的数据序列. 2. 举个栗子 下面的代码片段向我们展示了元组的一些常见用法. response = (404, "Can't access website") response_code =

  • 详解Python中pyautogui库的最全使用方法

    在使用Python做脚本的话,有两个库可以使用,一个为PyUserInput库,另一个为pyautogui库.就本人而言,我更喜欢使用pyautogui库,该库功能多,使用便利.下面给大家介绍一下pyautogui库的使用方法.在cmd命令框中输入pip3 install pyautogui即可安装该库! 常用操作 我们在pyautogui库中常常使用的方法,如下: import pyautogui pyautogui.PAUSE = 1 # 调用在执行动作后暂停的秒数,只能在执行一些pyaut

  • 详解Python中namedtuple的使用

    namedtuple是Python中存储数据类型,比较常见的数据类型还有有list和tuple数据类型.相比于list,tuple中的元素不可修改,在映射中可以当键使用. namedtuple: namedtuple类位于collections模块,有了namedtuple后通过属性访问数据能够让我们的代码更加的直观更好维护. namedtuple能够用来创建类似于元祖的数据类型,除了能够用索引来访问数据,能够迭代,还能够方便的通过属性名来访问数据. 接下来通过本文给大家分享python nam

  • 详解python中GPU版本的opencv常用方法介绍

    引言 本篇是以python的视角介绍相关的函数还有自我使用中的一些问题,本想在这篇之前总结一下opencv编译的全过程,但遇到了太多坑,暂时不太想回看做过的笔记,所以这里主要总结python下GPU版本的opencv. 主要函数说明 threshold():二值化,但要指定设定阈值 blendLinear():两幅图片的线形混合 calcHist() createBoxFilter ():创建一个规范化的2D框过滤器 canny边缘检测 createGaussianFilter():创建一个Ga

  • 详解Python 中的容器 collections

    写在之前 我们都知道 Python 中内置了许多标准的数据结构,比如列表,元组,字典等.与此同时标准库还提供了一些额外的数据结构,我们可以基于它们创建所需的新数据结构. Python 附带了一个「容器」模块 collections,它包含了很多的容器数据类型,今天我们来讨论其中几个常用的容器数据类型,掌握了这几个可以减少我们重复造轮子所带来的烦扰. namedtuple 相信你已经熟悉了元组.一个元组相当于一个不可变的列表,你可以存储一个数据的序列.这里要说的 namedtuple(命名元组)和

  • 详解Python中的路径问题

    1. 绝对路径引入 Python 在搜索模块时,依次搜索sys.path里的位置,直到找到模块为止.下面命令可以查看当前的搜索路径: import sys print(sys.path) sys.path的初始值来源于两个(其实还有一些更复杂但不常用的).一个是系统的PYTHONPATH变量,因此可通过设置该变量,来设置 Python 默认的搜索位置.比如: export PYTHONPATH=/opt/python:$PYTHONPATH echo $PYTHONPATH 将该命令放在系统初始

随机推荐