由于实验数据分析需要,要将像素值与其对应的颜色一起显示在图像上,故使用EXCEL操作,并用VBA批量处理以节省时间。用VBA必须用office excel 2010版以上才行。
Sub RGB_XX()
Dim i As Integer
Dim j As Integer
Dim B As Integer
i = 1
Do While Cells(i, 257) <> ""
For j = 1 To 257
B = Cells(i, j)
Cells(i, j).Interior.Color = RGB(B, B, B)
Next j
i = i + 1
Loop
End Sub
由于我需要分析灰度图像,而RGB三值相等时为灰度图,故RGB函数中给的三个参数值相同,i和j分别对应行列数。即单元格内为像素值,将像素值赋给RGB。处理完如图所示:
注:需先将图像numpy数组存储为csv格式。
参考:
Excel 根据单元格内RGB值修改填充颜色
VBA大牛用了都说好的嵌套循环
在 Python 中如何将 Numpy 数组写入 CSV?