标签:
这些相当于我的学习笔记,所以并没有很强的结构性和很全的介绍,请见谅。
下面是一个简短的载入图像、打印尺寸、转换格式及保存图像为.png的例子:
# -*- coding: utf-8 -*- import cv2 import numpy as np
# 读入图像 im = cv2.imread(‘../data/empire.jpg‘) # 打印图像尺寸 h, w = im.shape[:2] print h, w # 保存原jpg格式的图像为png格式图像 cv2.imwrite(‘../images/ch10/ch10_P210_Reading-and-Writing-Images.png‘,im)
# 注:imread默认读取的是RGB格式,所以即使原图像是灰度图,读出来仍然是三个通道,所以,在imread之后可以添加参数
# 注:这里是相对路径: \与/是没有区别的,‘’ 和 “” 是没有区别的。 ../表示返回到上一级目录下,./表示与该源码文件同一级目录下。
# 注:函数imread()将图像返回为一个标准的NumPy数组。
Python: cv2.imread(filename[, flags])
Parameters: |
|
---|
cv2.imwrite
Python: cv2.imwrite(filename, img[, params])
Parameters: |
|
---|
# Convert BGR to r,g,b b,g,r = cv2.split(im) # Convert BGR to HSV image_hue_saturation_value = cv2.cvtColor(im, cv2.COLOR_BGR2HSV) h,s,v=cv2.split(image_hue_saturation_value) # Convert BGR to gray image_gray = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY)
# 注:RGB channels is indexed in B G R which is different from matlab。
# 注:Any channels could be split using cv2.split, pay attention to the sequence of channels
Python: cv2.split(m[, mv]) → mv
Parameters: |
|
---|
Python: cv2.cvtColor(src, code[, dst[, dstCn]]) → dst
Parameters: |
|
---|
# mask seed 3D matrix
seed_mask_single_channel_list = np.array([[[1,0,0],[0,0,0],[0,0,0]],[[0,1,0],[0,0,0],[0,0,0]],[[0,0,1],[0,0,0],[0,0,0]],
[[0,0,0],[1,0,0],[0,0,0]],[[0,0,0],[0,1,0],[0,0,0]],[[0,0,0],[0,0,1],[0,0,0]],
[[0,0,0],[0,0,0],[1,0,0]],[[0,0,0],[0,0,0],[0,1,0]],[[0,0,0],[0,0,0],[0,0,1]]])
# cut image image_new_sample = image_source[:200,:200] #取前200个行和列的元素,python是从0开始的,所以0:200表示的是0-199这200个元素,取不到200.而初始位置0可以省略 #separate channel mask_singel_channel = np.tile(seed_mask_single_channel_list[1],(70,70))[:200,:200] #第一个3*3的mask作为一个单元进行复制成为70行,70列,截取前200行,200列 single_channel_image = mask_singel_channel * image_new_sample #表示点乘
# 注:矩阵的操作用Numpy这个类库进行。
numpy.array(object, dtype=None, copy=True, order=None, subok=False, ndmin=0)
Parameters: |
object : array_like
dtype : data-type, optional
copy : bool, optional
order : {‘C’, ‘F’, ‘A’}, optional
subok : bool, optional
ndmin : int, optional
|
---|---|
Returns: |
out : ndarray
|
e.g. 最外层始终都是[],所以如果是1维就一个[],2维就2个,N维就N个
>>> np.array([1, 2, 3]) array([1, 2, 3]) >>> np.array([[1, 2], [3, 4]]) array([[1, 2], [3, 4]]) >>> np.array([1, 2, 3], ndmin=2) array([[1, 2, 3]])
Parameters: |
A : array_like
reps : array_like
|
---|---|
Returns: |
c : ndarray
|
e.g.
>>> b = np.array([[1, 2], [3, 4]]) >>> np.tile(b, 2) array([[1, 2, 1, 2], [3, 4, 3, 4]]) >>> np.tile(b, (2, 1)) array([[1, 2], [3, 4], [1, 2], [3, 4]])
标签:
原文地址:http://www.cnblogs.com/Matrix420/p/4204442.html