python图像处理之反色实现方法

本文实例讲述了python图像处理之反色实现方法。分享给大家供大家参考。具体如下:

我们先加载一个8位灰度图像

每一个像素对应的灰度值从0-255

则只需要读取每个像素的灰度值A,再将255-A写入

这样操作一遍后,图像就会反色了

这里运行环境为:

Python为:Python2.7.6
OpenCV2.4.10版(可到http://sourceforge.net/projects/opencvlibrary/files/opencv-win/下载)
numpy为:numpy-1.9.1-win32-superpack-python2.7(可到http://sourceforge.net/projects/numpy/files/NumPy/1.9.1/下载)

具体python代码如下:

import cv2.cv as cv
image = cv.LoadImage('angelababy.jpg',0)
size = (image.width,image.height)
iTmp = cv.CreateImage(size,image.depth,image.nChannels)
for i in range(image.height):
  for j in range(image.width):
    iTmp[i,j] = 255 - image[i,j]
cv.NamedWindow('image')
cv.NamedWindow('iTmp')
cv.ShowImage('image',image)
cv.ShowImage('iTmp',iTmp)
cv.WaitKey(0)

运行结果如下图所示:

我们再稍微改动一下上面的代码

对于彩色图片,对于每个像素点,OpenCV在Python中是以tuple(R,G,B)的形式存储的

所以对于彩色图片的反色,只需要获得tuple(255-R,255-G,255-B)就行了

代码如下:

import cv2.cv as cv
image = cv.LoadImage('angelababy.jpg',1)
size = (image.width,image.height)
iTmp = cv.CreateImage(size,image.depth,image.nChannels)
for i in range(image.height):
  for j in range(image.width):
    iTmp[i,j] = (255-image[i,j][0],255-image[i,j][1],255-image[i,j][2])
cv.NamedWindow('image')
cv.NamedWindow('iTmp')
cv.ShowImage('image',image)
cv.ShowImage('iTmp',iTmp)
cv.WaitKey(0)

运行效果如下图所示:

希望本文所述对大家的Python程序设计有所帮助。

时间: 2015-05-29

在Python下利用OpenCV来旋转图像的教程

OpenCV是应用最被广泛的的开源视觉库.他允许你使用很少的代码来检测图片或视频中的人脸. 这里有一些互联网上的教程来阐述怎么在OpenCV中使用仿射变换(affine transform)旋转图片--他们并没有处理旋转一个图片里的矩形一般会把矩形的边角切掉这一问题,所以产生的图片需要修改.当正确的使用一点代码时,这是一点瑕疵. def rotate_about_center(src, angle, scale=1.): w = src.shape[1] h = src.shape[0] ran

Python实现图像几何变换

本文实例讲述了Python实现图像几何变换的方法.分享给大家供大家参考.具体实现方法如下: import Image try: im=Image.open('test.jpg') #out = im.resize((128, 128)) #改变大小 #out = im.rotate(45) #45°旋转 #out = im.transpose(Image.FLIP_LEFT_RIGHT) #水平翻转 #out = im.transpose(Image.FLIP_TOP_BOTTOM) #垂直翻转

python使用PyGame绘制图像并保存为图片文件的方法

本文实例讲述了python使用PyGame绘制图像并保存为图片文件的方法.分享给大家供大家参考.具体实现方法如下: ''' pg_draw_circle_save101.py draw a blue solid circle on a white background save the drawing to an image file for result see http://prntscr.com/156wxi tested with Python 2.7 and PyGame 1.9.2

在Python中使用PIL模块处理图像的教程

PIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库了.PIL功能非常强大,但API却非常简单易用. 安装PIL 在Debian/Ubuntu Linux下直接通过apt安装: $ sudo apt-get install python-imaging Mac和其他版本的Linux可以直接使用easy_install或pip安装,安装前需要把编译环境装好: $ sudo easy_install PIL 如果安装失败,根据提示先把缺失的包(比如ope

python定时采集摄像头图像上传ftp服务器功能实现

首先是截图,从摄像头截取一幅图像: 复制代码 代码如下: while 1:   #测试摄像头的存在    try:        cam = Device()    except:        print "no webcam found!"        continue    break 然后是把图像上传到ftp服务器: 复制代码 代码如下: remote = ftplib.FTP('127.0.0.1') #登陆服务器remote.login()file = open('%s.

python图像处理之镜像实现方法

本文实例讲述了python图像处理之镜像实现方法.分享给大家供大家参考.具体分析如下: 图像的镜像变化不改变图像的形状.图像的镜像变换分为三种:水平镜像.垂直镜像.对角镜像 设图像的大小为M×N,则 水平镜像可按公式 I = i J = N - j + 1 垂直镜像可按公式 I = M - i + 1 J = j 对角镜像可按公式 I = M - i + 1 J = N - j + 1 值得注意的是在OpenCV中坐标是从[0,0]开始的 所以,式中的 +1 在编程时需要改为 -1 这里运行环境

Python图像处理之简单画板实现方法示例

本文实例讲述了Python图像处理之简单画板实现方法.分享给大家供大家参考,具体如下: Python图像处理也是依赖opencv的Python接口实现的,Python语言简单易懂,简洁明了.本次实现画板涂鸦,一个是在里面画矩形,还有画线.其他也都可以扩展,本案例只做例程,思路是对鼠标事件的处理,以及滚动条调节颜色处理.鼠标事件就包含有左键按下,以及释放事件的处理. import cv2 import numpy as np # null function def nothing(x): pass

详解Python图像处理库Pillow常用使用方法

PIL(Python Image Library)是python的第三方图像处理库,但是由于其强大的功能与众多的使用人数,几乎已经被认为是python官方图像处理库了. 其官方主页为:PIL. PIL历史悠久,原来是只支持python2.x的版本的,后来出现了移植到python3的库pillow,pillow号称是friendly fork for PIL,其功能和PIL差不多,但是支持python3. PIL(Python Imaging Library)是Python一个强大方便的图像处理库

Python二叉树的镜像转换实现方法示例

本文实例讲述了Python二叉树的镜像转换实现方法.分享给大家供大家参考,具体如下: 问题描述 操作给定的二叉树,将其变换为源二叉树的镜像. 思路描述 1. 代码比文字更直观 2. 文字描述:新建一个二叉树,利用递归法,将源二叉树上的左节点赋值到新二叉树的右节点,将源二叉树上的右节点赋值到新二叉树的左节点. Python代码 # 方式1:生成新的镜像二叉树 def getMirrorBST(self, root): if root == None: return newTree = treeNo

Python图像处理实现两幅图像合成一幅图像的方法【测试可用】

本文实例讲述了Python图像处理实现两幅图像合成一幅图像的方法.分享给大家供大家参考,具体如下: 将两幅图像合成一幅图像,是图像处理中常用的一种操作,python图像处理库PIL中提供了多种种将两幅图像合成一幅图像的接口. 下面我们通过不同的方式,将两图合并成一幅图像. 1.使用Image.blend()接口 代码如下: # -*- coding:utf-8 -*- from PIL import Image def blend_two_images(): img1 = Image.open(

Python图像处理之图像的缩放、旋转与翻转实现方法示例

本文实例讲述了Python图像处理之图像的缩放.旋转与翻转实现方法.分享给大家供大家参考,具体如下: 图像的几何变换,如缩放.旋转和翻转等,在图像处理中扮演着重要的角色,python中的Image类分别提供了这些操作的接口函数,下面进行逐一介绍. 1.图像的缩放 图像的缩放使用resize()成员函数,直接在入参中指定缩放后的尺寸即可,示例如下: #-*- coding: UTF-8 -*- from PIL import Image #读取图像 im = Image.open("lenna.j

Docker制作Python运行环境基础镜像的方法步骤

一.准备工作 1.1 Python安装包的下载(说明:python版本可根据自己需求更换) 官网下载:https://www.python.org/downloads/source/ 本地下载地址:64位:https://www.jb51.net/softs/416037.html 32位:https://www.jb51.net/softs/543679.html 1.2基础镜像Ubuntu16.04 DockerHub拉取 docker pull ubuntu:16.04 本地Ubuntu下

python图像处理入门(一)

一.环境 由于这学期开了图像处理这门课,所以想着在各种实验开始之前自己先动手试一下 图像处理那首先要配个环境嘛,配环境真的是我长久以来的噩梦了,每次都会出现奇奇怪怪的问题,首先上网查找了一下,opencv这个库还是用的比较多的,如果想要使用C++来做图像处理的话,那么使用visual studio搭配opencv是比较常见的,所以就照着网上的教程下载好了vs之后下载了opencv的包,将包导入指定的路径也设置好环境变量之后发现还是不行,怎么办呢?这个时候想到那还不如自己直接用python,一来现

使用Python搭建虚拟环境的配置方法

python 的虚拟环境可以为一个 python 项目提供独立的解释环境.依赖包等资源,既能够很好的隔离不同项目使用不同 python 版本带来的冲突,而且还能方便项目的发布. virtualenv virtualenv可用于创建独立的 Python 环境,它会创建一个包含项目所必须要的执行文件. 安装 virtualenv $ pip install virtualenv 配置 pip 安装第三方库的镜像源地址 我们都知道,国内连接国外的服务器都会比较慢,有时候设置下载经常出现超时的情况.这时