簡體   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