python - numpy vectorize 函数接收像素的 r,g,b 值
问题描述
我有一个功能:
def co(pixel):
print(pixel)
#return [res]
return pixel
我正在尝试用这个来转换我的 3d 数组:
v = np.vectorize(co)
#v.excluded.add(1)
new_arr = v(arr)
print(new_arr)
但有趣的是,它打印出每个像素的 r,g,b 值。取而代之的是,它不应该打印像素吗?
我真正的问题是如何遍历图像中的所有像素并应用此转换。
最初我的图像看起来像这样:
[[[239 255 138]
[239 255 138]
[239 255 138]
...
解决方案
这就是您可以迭代 3-D 矩阵的方式。如果您尝试对图像应用(水平、垂直过滤器)等过滤器,请告诉我
for i in range(l):
for j in range(b):
for k in range(h):
print(ar[i][j][k])
#do your function
推荐阅读
- python - Python测量风速作为后台进程
- exe - Bin 到 Exe 要求
- python - 在算法中理解 Python 中的双星符号
- xamarin.forms - Xamarin.Forms ScrollView 基于 TouchEffect 以编程方式滚动
- java - 将文本大小调整为适合矩形的正确(或最佳)方法是什么?
- mysql - MySql 建模导入 MySql 方案
- ios - 构建失败 - 卸载 FB Pod 后“找不到框架 FBSDKCoreKit”
- python - Python - 抓取
- c++ - 在c ++中,List在哪里
::push_back(int item) 将项目部署到?到堆栈还是到堆? - python - 使用大数据集训练 TensorFlow BoostedTreesClassifier 时出现解码错误