Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Numpy 如何计算覆盖图像中每个矩形中的白色像素?_Numpy_Opencv_Image Processing_Computer Vision_Image Preprocessing - Fatal编程技术网

Numpy 如何计算覆盖图像中每个矩形中的白色像素?

Numpy 如何计算覆盖图像中每个矩形中的白色像素?,numpy,opencv,image-processing,computer-vision,image-preprocessing,Numpy,Opencv,Image Processing,Computer Vision,Image Preprocessing,我有数千张1000X2000像素的图像,我希望在图像100X200的每个小窗口中只计算白色像素,并在向量数组中写入计数数 请问我如何通过python openCV做到这一点 示例图像: Opencv和Numpy在这方面做得很好。可以使用numpy切片以每个框为目标,使用numpy.sum计算切片中的白色像素数 导入cv2 将numpy作为np导入 #计算每个框的白色像素数 def箱数(img、bw、bh): #声明输出列表 计数=[]; h、 w=惯性形状[:2]; 对于范围内的y(0,h-bh

我有数千张1000X2000像素的图像,我希望在图像100X200的每个小窗口中只计算白色像素,并在向量数组中写入计数数 请问我如何通过python openCV做到这一点

示例图像:


Opencv和Numpy在这方面做得很好。可以使用numpy切片以每个框为目标,使用numpy.sum计算切片中的白色像素数

导入cv2
将numpy作为np导入
#计算每个框的白色像素数
def箱数(img、bw、bh):
#声明输出列表
计数=[];
h、 w=惯性形状[:2];
对于范围内的y(0,h-bh+1,bh):
行=[];
对于范围内的x(0,w-bw+1,bw):
#切片盒
框=img[y:y+bh,x:x+bw];
#计数
计数=np.和(框==255);
行。追加(计数);
计数。追加(行);
返回计数;
#加载图像
img=cv2.imread(“jump.png”);
img=cv2.resize(img,(10002000));
灰色=cv2.CVT颜色(img,cv2.COLOR_BGR2GRAY);
#定义框搜索参数
盒子的宽度=100;
箱体高度=200;
#计数
计数=箱数(img、箱宽、箱高);
对于行输入计数:
打印(行);
除了count=np.sum(box==255)之外,另一种方法是:count=len(cv2.findNonZero(box)),它可以用于“最大白色”和其他色调。