『python』OpenCV3计算机视觉库第二弹_简单的图片处理

注意,本库基于python2.7,所以语法细节和之前有所不同

cv2和numpy深度契合,其图片读入后就是numpy.array,只不过dtype比较不常用而已,支持全部数组方法(废话...

cv2.cvtColor(img,cv2.COLOR_BAYER_BG2BGR)

img.item(0,0)

img.itemset((0,0),0)

cv2.imshow(‘my image‘,img)

cv2.waitKey()

cv2.destroyAllWindows()

 1 # coding=utf-8
 2 import cv2
 3 import numpy as np
 4
 5 # array数组生成
 6 img = np.zeros((3,3),dtype=np.uint8)
 7 print img.shape
 8
 9 # array数组转化为BGR模式
10 # 我也不懂为什么不用RGB而用BGB这么蹩脚的用法
11 img = cv2.cvtColor(img,cv2.COLOR_BAYER_BG2BGR)
12 print img.shape
13
14 # 读取图片,左上像素点改写为蓝色,保存
15 img = cv2.imread(‘beauti.jpeg‘)
16 img[0][0] = [255,0,0]
17 cv2.imwrite(‘MyPic.png‘,img)
18
19 # 丢失颜色信息,左上像素点改写为黑色,保存
20 img = cv2.imread(‘beauti.jpeg‘,cv2.IMREAD_GRAYSCALE)
21 print img.shape
22 img[0][0] = 0
23 cv2.imwrite(‘MyPic-gray.png‘,img)
24
25 # 使用array.item和array.itemset优雅的重写上面代码
26 img = cv2.imread(‘beauti.jpeg‘,cv2.IMREAD_GRAYSCALE)
27 print img.shape
28 #img[0][0] = 0
29 print img.item(0,0)
30 img.itemset((0,0),0)
31 cv2.imwrite(‘MyPic-gray.png‘,img)
32
33 # 去掉绿色通道
34 img = cv2.imread(‘beauti.jpeg‘)
35 img[:,:,1] = 0
36 cv2.imwrite(‘no_green.png‘,img)
37 print img.shape,img.size,img.dtype
38
39 img = cv2.imread(‘beauti.jpeg‘)
40 # 显示图片,必须输入两个参数
41 cv2.imshow(‘my image‘,img)
42 # 窗口展示时间
43 cv2.waitKey()
44 # 释放窗口
45 cv2.destroyAllWindows()
时间: 2024-10-06 21:37:13

『python』OpenCV3计算机视觉库第二弹_简单的图片处理的相关文章

『python』OpenCV3计算机视觉库安装

1.下载OpenCV: https://codeload.github.com/Itseez/opencv/zip/3.0.0 2.解压下载相关依赖: sudo apt-get install build-essential sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev sudo apt-get install python-dev pyt

『Python』Numpy学习指南第九章_使用Matplotlib绘图

坐标轴调节以及刻度调节参见:『Python』PIL&plt图像处理_矩阵转化&保存图清晰度调整 数据生成: 1 import numpy as np 2 import matplotlib.pyplot as plt 3 4 func = np.poly1d(np.array([1,2,3,4])) 5 func1 = func.deriv(m=1) # 求一阶导数 6 func2 = func.deriv(m=2) # 求二阶导数 7 8 x = np.linspace(-10,10,3

『Python』Numpy学习指南第十章_高端科学计算库scipy入门(系列完结)

简介: scipy包包含致力于科学计算中常见问题的各个工具箱.它的不同子模块相应于不同的应用.像插值,积分,优化,图像处理,,特殊函数等等. scipy可以与其它标准科学计算程序库进行比较,比如GSL(GNU C或C++科学计算库),或者Matlab工具箱.scipy是Python中科学计算程序的核心包;它用于有效地计算numpy矩阵,来让numpy和scipy协同工作. 在实现一个程序之前,值得检查下所需的数据处理方式是否已经在scipy中存在了.作为非专业程序员,科学家总是喜欢重新发明造轮子

『Python』常用函数实践笔记

库安装: 1).pip & conda 2).在win10下手动安装python库的方法: 『python』计算机视觉_OpenCV3库安装 原生: list.append():添加元素到list末尾 list.extend():使用一个list扩展另一个list 字典列表化:字典是有顺序的,而且list字典等于list字典的key dict = {'c':1,'b':2,'a':3} list(dict) # Out[13]: # ['c', 'b', 'a'] list(dict.keys(

『Python』内存分析_list和array的内存增长模式

『Python』内存分析_List对象内存占用分析 在Python中,列表是一个动态的指针数组,而array模块所提供的array对象则是保存相同类型的数值的动态数组.由于array直接保存值,因此它所使用的内存比列表少.列表和array都是动态数组,因此往其中添加新元素,而没有空间保存新的元素时,它们会自动重新分配内存块,并将原来的内存中的值复制到新的内存块中.为了减少重新分配内存的次数,通常每次重新分配时,大小都为原来的k倍.k值越大,则重新分配内存的次数越少,但浪费的空间越多.本节通过一系

『Python』内存分析_List对象内存占用分析

『Python』内存分析_下_list和array的内存增长模式 list声明后结构大体分为3部分,变量名称--list对象(结构性数据+指针数组)--list内容,其中id表示的是list对象的位置, v引用变量名称,v[:]引用list对象,此规则对python其他序列结构也成立,以下示范可用id佐证, a=b时,a和b指向同一个list对象 a=b[:]时,a的list对象和b的list对象指向同一个list内容 Q1:元素存储地址是否连续 首先见得的测试一下list对象存储的内容(结构3

『python』计算机视觉_OpenCV3库安装

Anaconda打包安装: conda install --channel https://conda.anaconda.org/menpo opencv3 验证: >>> import cv2 >>> cv2.__version__ '3.2.0' 注意:这种安装方式仅支持python2. Windows下安装方式: Win下python库资源集合 1. 下载所需的版本,注意版本号的对应: opencv_python-3.1.0-cp35-cp35m-win_amd6

『python』计算机视觉_OpenCV3角点特征Harris提取方法

因为当下的计划是熟悉语言和库,而图像特征提取脱离理论就很没意思了,并且很可能事倍功半,所以计算机视觉特征提取这部分跳过,直接开始和深度学习结合较为紧密的目标检测&识别部分. 本节介绍了OpenCV3中提取图像角点特征的函数: 1 # coding=utf-8 2 import cv2 3 import numpy as np 4 5 6 '''Harris算法角点特征提取''' 7 8 img = cv2.imread('chess_board.png') 9 gray = cv2.cvtCol

『python』计算机视觉_经典目标检测算法中的几个概念

图像金字塔 1.在从cv2.resize中,传入参数时先列后行的 2.使用了python中的生成器,调用时使用for i in pyramid即可 3.scaleFactor是缩放因子,需要保证缩放后的图不小于最小尺寸,对应神经网络就是训练尺寸 '''图像金字塔''' def resize(img, scaleFactor): # cv2.resize先接收列后接收行,返回亦然 return cv2.resize(img, (int(img.shape[1] * (1/scaleFactor))