python - 如何使用 OpenCV-Python 访问图像的像素?

标签 python opencv image-processing pixels

我想知道如何遍历图像的所有像素。我试过这个:

import cv2
import numpy as np

x = np.random.randint(0,5,(500,500))
img = cv2.imread('D:\Project\Capture1.jpg',0)
p = img.shape
print p
rows,cols = img.shape

for i in range(rows):
    for j in range(cols):
        k = x[i,j]
        print k

它打印一组不是数组形式的垂直数字。我也得到一个数组越界异常。请提出一个方法。

最佳答案

我不明白你的 x 变量有什么用。你不需要它。

只需使用:

img = cv2.imread('/path/to/Capture1.jpg',0)
rows,cols,_ = img.shape

for i in range(rows):
    for j in range(cols):
        k = img[i,j]
        print(k)

这确实会打印一组垂直的数字。如果您想修改像素值,请使用 img.itemset()http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_core/py_basic_ops/py_basic_ops.html

如果你想打印整个数组然后使用print(img)

关于python - 如何使用 OpenCV-Python 访问图像的像素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28981417/

相关文章:

c# - 什么是调整亮度的颜色矩阵?

xml - 如何使用 OpenCV 生成用于对象检测的 HarrCascade XML?

python - Django manager.py sql 创建空文件

python - 列表索引超出范围python

python - 如何检查函数是否在 Python 中是纯函数?

python - 如何在 OpenCV Python 中加入附近的边界框

c++ - 如何使用 opencv 围绕 y 轴旋转图像?

java - ByteArrayOutputStream 长度 < 宽度 * 高度

python - MultipleChoiceField 未在 Django Admin 中显示存储的值

opencv - 立体校准后将相机 1 图像中的 2d 点投影到相机 2 图像