python - 在网格上获取像素邻域平均值的有效方法
问题描述
我的问题很复杂,但我不确定如何拆分它。
我有图像,我想在其上放置一个网格(网格?),然后获取线交叉及其附近像素的平均颜色。
下图说明了我的任务:
所以最终我想知道石头是黑色的,白色的,还是位置是空的。
我的问题是如何有效地获取红色区域的像素?
香草溶液是
x = np.linspace(0, image.shape[0], 19)
y = np.linspace(0, image.shape[1], 19)
for i in x:
for j in y:
color = image[i, j, :]
但它效率不高,而且在附近也不是平均水平。也会有一些问题
解决方案
该解决方案似乎并不能很好地支持该任务。是的,平均邻域颜色是那里图像的一个指标——但正如你所说,它效率低下。
您不需要邻域:您需要石头分类。您可以在没有被注释信息(例如移动编号)覆盖的区域中使用单个像素或少数几个像素来执行此操作。
从相交点,只需在 1:00 方向、距中心半径 90* 处抓取一个像素。根据需要调整线宽。例如,给定一个位置(row, col)
和石头半径r
x = col + 0.85 * r
y = row + 0.10 * r
color = image[x, y, :]
brightness = sum(color)
if brightness < 100:
stone = "black"
elif brightness > 600:
stone = "white"
else:
stone = "vacant"
推荐阅读
- java - 同步块未执行
- reactjs - React Material-ui“选择”组件显示bug
- logging - dovecot LMTP 代理没有记录任何内容
- database - 多次插入 mongodb - 只有第一个集合被更新
- jenkins - Jenkins Last Changes 插件和子目录中的更改
- c# - 在 ASP.NET MVC 中检查条件和显示相关消息的最佳模式
- javascript - IBM Cognos Analytics 与 D3.js 条形图高度问题
- php - C:/Apache24/conf/httpd.conf: Cannot load c:/php7/php7apache2.dll into server: 找不到指定的模块
- java - 如何生成密钥以获得 HMAC SHA512 的 TOTP 符合 RFC6238 和 RFC4086?
- gradle - Gradle 任务以创建 zip 存档