python下使用openCV3,如何在一幅灰度图中,为所有灰度为某特定值的点赋另一灰度值
情况是,某个图像处理算法的输出图像(格式:Unit8matrix)会把坏值像素标记成特定值,而我想把这些坏值填充一下。不能使用for循环遍历图像,因为要处理连续视频,fo...
情况是,某个图像处理算法的输出图像(格式:Unit8 matrix)会把坏值像素标记成特定值,而我想把这些坏值填充一下。
不能使用for循环遍历图像,因为要处理连续视频,for循环效率太低。想问cv2或者numpy有没有封装好的函数之类的?其实能实现找到所有灰度值等于X的像素点(的索引)就可以了。
不知道np.where()能不能实现?如果能的话还请指教一下该怎么写。 展开
不能使用for循环遍历图像,因为要处理连续视频,for循环效率太低。想问cv2或者numpy有没有封装好的函数之类的?其实能实现找到所有灰度值等于X的像素点(的索引)就可以了。
不知道np.where()能不能实现?如果能的话还请指教一下该怎么写。 展开
1个回答
展开全部
你好,我觉得用np.where是可以实现的,下面是相关的实现代码:
import cv2
import numpy as np
image = np.zeros((400,400,3), dtype="uint8")
raw = image.copy()
image[np.where((image==[0,0,0]).all(axis=2))] = [255,255,255]
cv2.imshow('Test0', image)
lower_black = np.array([0,0,0], dtype = "uint16")
upper_black = np.array([70,70,70], dtype = "uint16")
black_mask = cv2.inRange(image, lower_black, upper_black)
image[np.where((image == [0,0,0]).all(axis = 2))] = [155,255,155]
black_mask[np.where(black_mask == [0])] = [155]
cv2.imshow('Test', image)
cv2.imshow('Test2', raw)
cv2.imshow('Test3', black_mask)
东莞大凡
2024-08-07 广告
2024-08-07 广告
OpenCV标定板是东莞市大凡光学科技有限公司在相机标定中常用的工具。它通常由黑白格点按一定规则排列在平面上组成,如棋盘格或圆形格等。在相机标定时,将标定板置于不同位置和姿态下拍摄图像,利用OpenCV库中的函数检测标定板上的角点或圆心,进...
点击进入详情页
本回答由东莞大凡提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询