访问像素
像素的访问和访问 numpy 中的 ndarray 的方法完全一样,灰度图为:
img[j,i] = 255
# 其中 j, i 分别表示图像的行和列。对于 BGR 图像,为:
img[j,i,0] =255
img[j,i,1] =255
img[j,i,2] =255
# 第三个数表示通道
下面通过对图像添加人工的椒盐现象来进一步说明 OpenCV Python中需要注意的一些问题。完整代码如下:
#! user/bin/env python3
# -*- coding: utf-8 -*-
# @filename: salt.py
# @author: yang
import cv2
import numpy as np
def salt (img, n):
for k in range(n):
i = int(np.random.random() * img.shape[1])
j = int(np.random.random() * img.shape[0])
if img.ndim ==2 :
img[j,i] = 255
elif img.ndim ==3:
img[j,i,0]=255
img[j,i,1]=255
img[j,i,2]=255
return img
#与C++不同,在 python 中灰度图像 img.ndim =2, 而在 C++ 中灰度图像的通道数 img.cha