图片灰度处理

#使用,最大值法

print('第1种:最大值法(max)')  #如果使用最小值(min),会很暗,数值偏向0,黑

im_data1 = im_data.max(axis=2)

display(im_data1.shape)

plt.imshow(im_data1,cmap = 'gray')



print('第2种:平均值法(mean)')  #稍微暗些

im_data2 = im_data.mean(axis=-1)

display(im_data2.shape)

plt.imshow(im_data2,cmap = 'gray')



print('第3种:加权平均法(红绿蓝的权重)')

a = np.array([0.299,0.587,0.114])

#红色red*0.299,绿色green*0.587,蓝色blue*0.114

im_data3 = np.dot(im_data,a)

display(im_data3.shape)

plt.imshow(im_data3,cmap = 'gray')
STM32是一种微控制器系列,具有强大的处理能力和丰富的外设资源,可以用于图像灰度处理。 首先,图像灰度处理是将彩色图像转变为灰度图像的过程。在STM32上实现图像灰度处理的基本步骤如下: 步骤1:获取图像数据。可以通过摄像头、图像传感器等设备获取图像数据,并将其存储到STM32的内存中。 步骤2:图像数据预处理。由于STM32的处理能力有限,通常需要对图像数据进行预处理,以降低计算量。预处理可以包括图像的降采样、滤波等操作。 步骤3:图像灰度处理算法。常见的图像灰度处理算法有平均法、最大值法、最小值法等。选择合适的算法,对每个像素点进行处理,将RGB值转换为灰度值。 步骤4:输出灰度图像。将处理后的图像数据输出到显示设备,如LCD屏幕或通过通信接口传输到计算机。 在STM32的软件开发中,可以使用C语言或汇编语言编写图像灰度处理的程序。可以使用STM32提供的外设库和相关开发工具,如STM32CubeMX和Keil等,来简化开发过程。通过对STM32的寄存器进行配置和操作,实现对图像数据的读取、处理和输出。 需要注意的是,图像灰度处理是一项计算密集型任务,可能会占用较多的处理器资源和内存空间。因此,在开发过程中需要注意优化算法和代码,以提高处理效率和节省系统资源。 综上所述,使用STM32进行图像灰度处理需要通过获取图像数据、预处理灰度处理算法和输出等步骤来完成。通过合理的算法选择和优化,可以在STM32上实现高效的图像灰度处理
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值