python - 使用 Keras.NET 进行数组整形
问题描述
我无法将重塑表达式从 R 转换为 C#。
这是R代码:
load_image <- function(file, ...) {
magick::image_read(file, ...) %>%
magick::image_data('rgba') %>%
as.numeric()
}
img <- load_image("./my_image.png")
print(cat("Image length: ", length(img)))
print(cat("Image dim: ", dim(img)))
data <- array(dim = c(1, dim(img)))
data[1,,,] <- img
print(cat("Data length: ", length(data)))
print(cat("Data dim: ", dim(data)))
这是打印表达式的输出:
Image length: 36000
Image dim: 50 180 4
Data length: 36000
Data dim: 1 50 180 4
在我的 C# 代码中,我有这个:
var imgBytes = File.ReadAllBytes("./my_image.png");
using (var pngImage = new MagickImage(imgBytes)) {
var img = np.array<ushort>(pngImage.GetPixels().ToArray());
Console.WriteLine("Image length: {0}", img.len);
Console.WriteLine("Image dim: {0}", string.join(" ", img.shape.dimensions));
var data = img.reshape(1);
//model.Predict(data);
}
哪个产生这个:
Image length: 36000
Image dim: 36000
如何在 R 中以相同的方式在 C# 中加载和重塑图像?
解决方案
推荐阅读
- javascript - 如何在我的反应项目中使用 package.json 依赖项中的系统变量?
- linux-kernel - 如何在 ARMv8 的不同内核上同时运行多个操作系统
- javascript - 如果反应js中的复选框值为真,则显示特定页面部分
- ms-access - 在访问数据库连接字符串中指定只读属性有什么意义?
- javascript - 输入“datetime-local”只允许特定的时间和日期
- ios - 提交新版本时无法更改年龄等级并不断被拒绝。如何更改年龄等级?
- mysql - SQL比较字符
- pentaho-spoon - Sending job to remote carte server ends with empty HTTP dialog
- mysql - 最佳实践 - 使用 mysql 的大数据
- excel - 在电子表格中查找唯一字符