苏大图像处理实验用plt画直方图但是不用plt.hist()

plt新手遭受这般折磨,这究竟是道德的沦丧还是人性的丧失

总之就是不让用plt.hist()但众所周知同一条线上的无数个点可以构成一条线

有尝试过用plt.plot()的linewidth,结果不成功哈哈,一整张画布都是蓝的了

原理描述完毕,上代码

from matplotlib import pyplot as plt
from matplotlib import font_manager
import cv2

grey_pic=cv2.imread("/Users/apple/Desktop/实验汇总/图像处理实验/图像处理实验二/任务一图片/2.白天室外背光阴影处.jpeg",0)
x=[i for i in range(256)]
y=[0 for i in range (256)]
for i in range (len(grey_pic)):
    for j in range (len(grey_pic[0])):
        y[grey_pic[i][j]]+=1
def func(wide):
    # 计算组数
    d = 50 # 组距
    num_bins = 255
    # 设置图形大小
    plt.figure(figsize=(wide, 8)) 
    # 设置x轴刻度
    plt.xticks(range(0, num_bins+d, d))
    #设置散点(但是散点的面积是y)
    #plt.plot(x,y,color='blue')
    for i in range(256):
        plt.scatter(i, y[i],color='blue')
        for j in range(0,y[i]+1,100):
            plt.scatter(i,y[i]-j,color='blue')
    plt.show()

func(16)

很好理解吧

如果愿意的话可以试试plt.scatter(x,y,s=y),你会收获一根漂亮的大肠,么么叽~

你可能感兴趣的:(图像处理,python,人工智能)