Python: 图像处理的基本运算
Python 作为一种面向对象、直译式的计算机程序语言,在很多领域得到广泛应用。
本文主要介绍 Python 在图像处理中的基本运算,借助 scikit-image 库,Python 在做图像处理的
时候非常方便,对于习惯用MATLAB的人来说,可以非常快速的习惯Python的语法。 熟悉了这些
基本的运算,就可以做进一步复杂的图像处理了。
import numpy as np
from skimage import data
import matplotlib.pyplot as plt
from skimage import io
import time
from skimage import img_as_float, img_as_ubyte
# 读取图像
file_name='E:/Visual Effects/PS Algorithm/2.jpg';
img=io.imread(file_name)
file_name2='E:/Visual Effects/PS Algorithm/3.jpg'
img2=io.imread(file_name2)
# 图像的融合,
img3=img2*0.5+img*0.5;
# 浮点值的图像归一化到 0-1 之间
img3=img3/255.0;
# 图像数据类型的转换
img3=img_as_float(img3);
img3=img_as_ubyte(img3);
# 分离图像的 R, G, B 三个通道
r_img=img2[:,:,0];
g_img=img2[:,:,1];
b_img=img2[:,:,2];
# 保存图像
io.imsave('red.jpg', r_img);
io.imsave ('out.jpg', img3);
# 访问图像中的像素
# 单通道图像
aa=r_img[0:3, 0:4];
# 多通道图像
bb=img[0:3, 0:4, :];
print aa
print bb[1]
# 图像的显示
# 显示彩色图像
plt.figure(1)
plt.imshow(img)
# 显示灰度图像
plt.figure(2)
plt.imshow(r_img, plt.cm.gray)
plt.figure(3)
plt.imshow(g_img, plt.cm.gray)
plt.figure(4)
plt.imshow(b_img, plt.cm.gray)
plt.axis('off');
plt.show();
# 获取图像的维度,行数,列数以及通道数
row, col, channel=img.shape;
print "red channel", r_img.dtype, r_img.shape
print "green channel", g_img.dtype, g_img.shape
print "blue channel", g_img.dtype, b_img.shape
print r_img.shape, row, col, channel
# 求图像的最大值,最小值,均值
print img3.min(), img3.max(), img3.mean()
Python: 图像处理的基本运算的更多相关文章
- Python图像处理库:Pillow 初级教程
Python图像处理库:Pillow 初级教程 2014-09-14 翻译 http://pillow.readthedocs.org/en/latest/handbook/tutorial.html ...
- Python图像处理之验证码识别
在上一篇博客Python图像处理之图片文字识别(OCR)中我们介绍了在Python中如何利用Tesseract软件来识别图片中的英文与中文,本文将具体介绍如何在Python中利用Tesseract ...
- 【python图像处理】图像的缩放、旋转与翻转
[python图像处理]图像的缩放.旋转与翻转 图像的几何变换,如缩放.旋转和翻转等,在图像处理中扮演着重要的角色,python中的Image类分别提供了这些操作的接口函数,下面进行逐一介绍. 1.图 ...
- Python图像处理库(1)
转自:http://www.ituring.com.cn/tupubarticle/2024 第 1 章 基本的图像操作和处理 本章讲解操作和处理图像的基础知识,将通过大量示例介绍处理图像所需的 Py ...
- Python图像处理库:PIL中Image,ImageDraw等基本模块介绍
Python图像处理库:PIL中Image,ImageDraw等基本模块介绍 标签: 图像处理PILPYTHON 2016-08-19 10:58 461人阅读 评论(0) 收藏 举报 分类: 其他 ...
- Python图像处理库PIL中图像格式转换(一)
在数字图像处理中,针对不同的图像格式有其特定的处理算法. 所以,在做图像处理之前,我们须要考虑清楚自己要基于哪种格式的图像进行算法设计及事实上现.本文基于这个需求.使用python中的图像处理库PIL ...
- python 图像处理中二值化方法归纳总结
python图像处理二值化方法 1. opencv 简单阈值 cv2.threshold 2. opencv 自适应阈值 cv2.adaptiveThreshold 3. Otsu's 二值化 例子: ...
- python图像处理:一福变五福
快过年了,各种互联网产品都出来撒红包.某宝一年一度的“集五福活动”更是成为每年的必备活动之一. 虽然到最后每人大概也就分个两块钱,但作为一个全民话题,大多数人还是愿意凑凑热闹. 毕竟对于如今生活在大城 ...
- Python 图像处理 OpenCV (2):像素处理与 Numpy 操作以及 Matplotlib 显示图像
前文传送门: 「Python 图像处理 OpenCV (1):入门」 普通操作 1. 读取像素 读取像素可以通过行坐标和列坐标来进行访问,灰度图像直接返回灰度值,彩色图像则返回B.G.R三个分量. 需 ...
随机推荐
- cmake的使用笔记
一. cmake使用网上还蛮多的.可是当你自己去用的时候,才觉得,都不是你想要的. 自己做个记录,用法全是基本用法. 二. 我在里面直接写注释说明了,直接贴了. 1. #cmake #1. # cma ...
- UVA10006 - Carmichael Numbers(筛选构造素数表+高速幂)
UVA10006 - Carmichael Numbers(筛选构造素数表+高速幂) 题目链接 题目大意:假设有一个合数.然后它满足随意大于1小于n的整数a, 满足a^n%n = a;这种合数叫做Ca ...
- startActivityForResult()方法具体解释
我们都知道.要开启一个Activity能够在上下文环境中调用startActivity()方法. 可是假设想从开启的Activity中获取某些数据,就能够使用startActivityForResul ...
- -bash: /usr/local/mysql/scripts/mysql_install_db: /usr/bin/perl: bad interpreter: No such file or directory
安装 MySQL 初始化时,报错如下: [root@hcdb1 ~]# /usr/local/mysql/scripts/mysql_install_db --defaults-file=/etc/m ...
- 28、从零写UVC驱动之实现设置属性
1. 先看APP以确定需要实现哪些接口xawtv.c: grabber_scan ng_vid_open//根据链表的设置和读取可以在xawtv中找到是调用v4l2_driver.open v4l2_ ...
- 洛谷 偷天换日&&“访问”美术馆
典型的树形DP 按理说是先做“访问美术馆”再做偷天换日. 但是我先做了偷天换日然后再做的“访问”美术馆 DP方程好推,偷天换日在遇到有展品的时候做背包,因为是先做的偷天换日,所以把偷天换日的输入w,c ...
- Android Studio2.0 Beta 2版本号更新说明及注意事项
我们刚刚向canary channel推送了Android Studio2.0 Beta 2版本号 老毕译注: ---------- canary channel: 金丝雀版本号,平均1到2周就会更新 ...
- jQuery 中 is() 函数常见使用方法
依据选择器.DOM元素或 jQuery 对象来检測匹配元素集合.假设当中至少有一个元素符合这个给定的表达式就返回true. 假设没有元素符合,或者表达式无效.都返回'false'. '''注意:''' ...
- Android屏幕信息获取
Android中有时需要获取屏幕的size信息以便对控件位置进行动态控制,最近做了一些研究,现在将获取屏幕大小信息的方法总结如下,可能存在一些地方理解的不全面. 1.getMetrics Displa ...
- js进阶 11-18 jquery中操作选择器的方法有哪些
js进阶 11-18 jquery中操作选择器的方法有哪些 一.总结 一句话总结:add().addBack().end() 1.add()方法是干嘛的,举一例? 将add()方法后选择器选择的jqu ...