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
如何仅使用Python制作简单的垂直直方图(无matplotlib)_Python_Opencv_Image Processing - Fatal编程技术网

如何仅使用Python制作简单的垂直直方图(无matplotlib)

如何仅使用Python制作简单的垂直直方图(无matplotlib),python,opencv,image-processing,Python,Opencv,Image Processing,我想通过打印星号模式,使用Python制作一个垂直直方图。在水平方向做同样的事情很容易,但是垂直方向怎么做呢 您需要按行打印数据,从最大直方图值的行开始 在每一行中,您将为每个bucket打印一个“*”,其中该bucket的值大于或等于对应于当前行的值,以及一个较小的空格 Eg)三个六面骰子之和的直方图: >>> r = list(x+y+z+3 for x in range(6) for y in range(6) for z in range(6)) >>>

我想通过打印星号模式,使用Python制作一个垂直直方图。在水平方向做同样的事情很容易,但是垂直方向怎么做呢

您需要按行打印数据,从最大直方图值的行开始

在每一行中,您将为每个bucket打印一个“*”,其中该bucket的值大于或等于对应于当前行的值,以及一个较小的空格

Eg)三个六面骰子之和的直方图:

>>> r = list(x+y+z+3 for x in range(6) for y in range(6) for z in range(6))
>>> data = [r.count(v) for v in range(max(r)+1)]
>>> for y in range(max(data), 0, -3):
...   print(*('*' if v >= y else ' ' for v in data))
... 
                    * *              
                  * * * *            
                * * * * * *          
                * * * * * *          
              * * * * * * * *        
              * * * * * * * *       
            * * * * * * * * * *      
          * * * * * * * * * * * *    
        * * * * * * * * * * * * * *  
>>> 

这是否与opencv或图像处理有关,因为它们被标记了?你至少有水平版本的代码吗?你试过垂直方向的吗?我想用一个2d数组来存储输出。