繁体   English   中英

如何在没有for循环的情况下更改python(opencv)中的像素值

[英]how to change pixel values in python (opencv) without for loops

我从Python中的OpenCV开始,但遇到了问题。

我有一个从kinect相机拍摄的深度图像。 该图像的边框的像素值为零。 我想将这些值更改为图像的最大值(即2880),而不使用for循环。

直到这里的代码是:

import cv2
 depthImage = cv2.imread('depthImageName',cv2.IMREAD_UNCHANGED)
 if depthImage.any() == 0:
     depthImage = 2880

但是它不起作用,并且保留等于零的值。

谁能帮助我?

如果我忘记了有用的信息,请告诉我。

在此先感谢大家! :)

有一个可以创建边框的函数copyMakeBorder这是python教程

img1 = cv2.imread('opencv_logo.png')
constant= cv2.copyMakeBorder(img1,10,10,10,10,cv2.BORDER_CONSTANT,value=BLUE)

使用imread读取图像文件时,该文件存储在numpy数组中。 因此,您可以使用numpy数组的索引。 像这样:

depthImage[depthImage==0] = 2880

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM